Wissen
Fine-Tuning lokal: Wie viel Grafikspeicher brauchen LoRA und QLoRA?
Speicherbedarf für Fine-Tuning von Sprachmodellen: vollständiges Training, LoRA und QLoRA im Vergleich, mit Richtwerten für 32, 48 und 72 GB VRAM.
Drei Verfahren im Überblick
| Verfahren | Was wird trainiert? | Speicher für das Modell | Typischer Einsatz |
|---|---|---|---|
| Vollständiges Fine-Tuning | alle Parameter | ca. 16 Byte pro Parameter + Aktivierungen | Rechenzentrum, mehrere GPUs |
| LoRA | kleine Adapter-Matrizen | ca. 2 Byte pro Parameter (BF16) + Adapter + Aktivierungen | Workstation, kleinere Modelle |
| QLoRA | Adapter auf 4-Bit-Basismodell | ca. 0,5–0,6 Byte pro Parameter + Adapter + Aktivierungen | Workstation, auch größere Modelle |
Warum vollständiges Fine-Tuning so viel Speicher braucht
Beim Training in gemischter Genauigkeit mit dem Adam-Optimierer liegen pro Parameter im Speicher: die Gewichte in 16 Bit (2 Byte), die Gradienten (2 Byte), eine Kopie der Gewichte in 32 Bit (4 Byte) und zwei Optimierer-Zustände in 32 Bit (8 Byte). Zusammen sind das rund 16 Byte pro Parameter – bevor Aktivierungen und Batchgröße dazukommen. Ein Modell mit 8 Mrd. Parametern braucht damit allein rund 128 GB.
LoRA und QLoRA: Die Workstation-Verfahren
Bei LoRA bleiben die Gewichte des Basismodells eingefroren. Trainiert werden nur kleine Zusatzmatrizen mit typischerweise weniger als einem Prozent der Parameter. Der Speicherbedarf entspricht daher im Kern dem Modell in BF16 plus Aktivierungen.
QLoRA geht einen Schritt weiter und lädt das eingefrorene Basismodell in 4 Bit. Die Autoren haben so ein Modell mit 65 Mrd. Parametern auf einer einzelnen Grafikkarte mit 48 GB feinabgestimmt.
Einordnung für unsere Grafikspeicher-Klassen
Die Werte sind Richtwerte für das Basismodell. Wie viel Speicher die Aktivierungen zusätzlich brauchen, hängt stark von Sequenzlänge, Batchgröße und Techniken wie Gradient Checkpointing ab.
| Modellgröße | LoRA (Basis in BF16) | QLoRA (Basis in 4 Bit) |
|---|---|---|
| 8 Mrd. Parameter | ca. 16 GB → ab 32 GB | ca. 5 GB → ab 32 GB, viel Reserve |
| 14 Mrd. Parameter | ca. 29 GB → 48 GB | ca. 9 GB → ab 32 GB |
| 32 Mrd. Parameter | ca. 65 GB → mehrere GPUs | ca. 20 GB → 48 GB empfohlen |
| 70 Mrd. Parameter | ca. 141 GB → mehrere GPUs | ca. 42 GB → 72 GB empfohlen |
Vor der Hardwareentscheidung klären
- Welches Basismodell und welche Größe?
- LoRA oder QLoRA – und mit welcher Software (z. B. Hugging Face PEFT, Axolotl, Unsloth)?
- Welche Sequenzlänge haben Ihre Trainingsdaten?
- Wie oft wird trainiert, und wie lange darf ein Durchlauf dauern?
Mit diesen Angaben stimmen wir Grafikspeicher, Arbeitsspeicher und Massenspeicher auf Ihr Vorhaben ab.
Fragen und Antworten
Kann ich ein 8B-Modell auf einer 32-GB-Grafikkarte feinabstimmen?
Mit LoRA oder QLoRA ja. Das Basismodell belegt in BF16 rund 16 GB, in 4 Bit rund 5 GB. Der Rest steht für Aktivierungen, Optimierer der Adapter und Batchgröße zur Verfügung. Ein vollständiges Fine-Tuning aller Parameter ist auf einer Karte dieser Klasse nicht möglich.
Ist QLoRA schlechter als LoRA?
Laut den Autoren von QLoRA erreicht das Verfahren in ihren Tests eine vergleichbare Qualität wie Fine-Tuning in 16 Bit. Ob das für Ihren Anwendungsfall gilt, sollten Sie mit eigenen Evaluierungsdaten prüfen.
Quellen
- Dettmers et al.: QLoRA – Efficient Finetuning of Quantized LLMs, 2023
- Hu et al.: LoRA – Low-Rank Adaptation of Large Language Models, 2021
- Rajbhandari et al.: ZeRO – Memory Optimizations Toward Training Trillion Parameter Models, 2019 – Aufschlüsselung des Speicherbedarfs beim Training mit Adam in gemischter Genauigkeit