QLoRA (Quantized LoRA) kombiniert die LoRA-Idee mit 4-Bit-Quantisierung: Die eingefrorenen Gewichte eines großen Modells werden in einem kompakten 4-Bit-Format gespeichert, während die kleinen LoRA-Adapter in voller Genauigkeit trainiert werden. Damit lässt sich ein Modell mit 65 Milliarden Parametern auf einer einzigen Grafikkarte mit 48 GB Speicher feinabstimmen.

Die drei Bausteine

  • NF4-Quantisierung (NormalFloat4): Die vortrainierten Gewichte werden im 4-Bit-Format abgelegt. NF4 ist ein Datentyp, dessen Werte an die Normalverteilung der Gewichte angepasst sind und so wenig Präzisionsverlust erzeugt.
  • Double Quantization: Zusätzlich werden die Quantisierungs-Konstanten selbst noch einmal quantisiert, um weitere Speicher zu sparen.
  • Paged Optimizer: Speicherspitzen des Optimizers (wie beim AdamW-Verfahren) werden bei Bedarf auf die CPU ausgelagert, damit große Modelle auch auf kleineren GPUs laufen.

Was bleibt vollgenau?

Die LoRA-Adapter werden in bf16 (16-Bit) trainiert — nur sie erhalten Gradienten. Die quantisierten Basisgewichte bleiben während des Trainings eingefroren und werden für den Vorwärtsdurchlauf kurzzeitig in höhere Präzision zurückgerechnet. Dadurch bleibt die Qualität nahe an der eines vollständigen Feintunings.

Ergebnisse der QLoRA-Veröffentlichung

  • Vorgestellt von Tim Dettmers und Kollegen im Mai 2023 (arXiv 2305.14314).
  • Finetuning eines 65B-Modells auf einer einzelnen 48-GB-GPU — vorher waren dafür mehrere High-End-GPUs nötig.
  • Das so trainierte Modell Guanaco erreichte auf dem Vicuna-Benchmark rund 99 % des Niveaus von ChatGPT — mit weniger als 24 Stunden Training auf einer GPU.
  • Machte das Anpassen großer Open-Source-Modelle auf Consumer-Hardware praktikabel.

Abgrenzung

QLoRA ist eine Variante von LoRA und gehört wie dieses zum parameter-effizienten Feintuning. Während Quantisierung allein nur den Speicherbedarf für die Ausführung senkt, erlaubt QLoRA zusätzlich das Training auf quantisierter Basis. Die volle Gewichtsaktualisierung ohne Quantisierung beschreibt der Fine-Tuning-Artikel.

Verwandte Grundlagen: Quantisierung, Gradient Descent, Optimizer, Training.