Was es ist
Vollständiges Fine-Tuning setzt das Training des gesamten Modells anhand Ihrer Beispiele fort: Jedes Gewicht in jeder Schicht kann sich ändern. Es ist die direkteste Form des Fine-Tunings und mechanisch identisch mit den späteren Phasen der Modellerstellung. Die Alternative ist das parametereffiziente Fine-Tuning (PEFT), wie etwa LoRA, bei dem die ursprünglichen Gewichte eingefroren werden und stattdessen ein kleines Add-on trainiert wird.
Wofür der Speicher benötigt wird
Für die Ausführung eines Modells werden nur seine Gewichte benötigt. Das Training jedes Gewichts erfordert für jedes einzelne das Gewicht selbst, seinen Gradienten und den Optimizer-Status. Mit AdamW im üblichen Mixed-Precision-Setup sind das ein 16-Bit-Gewicht und ein 16-Bit-Gradient für die Vorwärts- und Rückwärtsdurchläufe, plus eine 32-Bit-Masterkopie des Gewichts und die beiden gleitenden 32-Bit-Durchschnitte von Adam, die für stabile Aktualisierungen aufbewahrt werden. Die Berechnungen des ZeRO-Papers veranschlagen dies mit 16 Byte pro Gewicht; andere Setups, die Gradienten in 32 Bit halten, kommen auf etwa 18 Byte.
per trainable weight · AdamW · mixed precision
16-bit weight 2 bytes
16-bit gradient 2 bytes
32-bit master weight 4 bytes
32-bit Adam momentum 4 bytes
32-bit Adam variance 4 bytes
───────────────────────────────────
16 bytes + activations
7B model: 7 × 10⁹ × 16 bytes ≈ 112 GB- Reine Ausführung in 16-Bit: 7 Milliarden × 2 Byte ≈ 14 GB.
- Vollständiges Fine-Tuning mit AdamW: 7 Milliarden × 16 Byte ≈ 112 GB, vor den Aktivierungen. Das übersteigt die Kapazität einer einzelnen 80-GB-GPU, weshalb die Aufgabe mit Techniken wie ZeRO oder FSDP auf mehrere GPUs verteilt wird, die den Optimizer-Status, die Gradienten und die Gewichte untereinander aufteilen.
- LoRA mit Rang 16 auf allen linearen Schichten eines 7B-Modells im Llama-Stil: etwa 40 Millionen trainierbare Gewichte, 0,6 % des Modells. Ihr Trainingsstatus beträgt etwa 40 Millionen × 16 Byte ≈ 0,6 GB, zusätzlich zu den 14 GB der eingefrorenen Basis: insgesamt rund 15 GB.
- QLoRA: Die in 4-Bit gehaltene eingefrorene Basis benötigt etwa 3,5 GB, sodass sich die Gesamtsumme auf rund 4–5 GB zuzüglich Aktivierungen beläuft – machbar für eine einzelne Consumer-GPU.
- Aktivierungen kommen in jedem Fall hinzu und wachsen mit der Batch-Größe und der Sequenzlänge. Gradient Checkpointing tauscht zusätzlichen Rechenaufwand gegen einen geringeren Speicherbedarf für Aktivierungen ein.
Was es Ihnen bringt
Vollständiges Fine-Tuning kann das Modell in jede Richtung verändern, nicht nur innerhalb des kleinen Unterraums, den ein Adapter erreichen kann. Eine Studie, die beide vergleicht, ergab, dass vollständiges Fine-Tuning Änderungen mit dem 10- bis 100-fachen Rang typischer LoRA-Einstellungen lernt und dass es bei großen Trainingssätzen für Code und Mathematik mit rund 100.000 Beispielen mehr gelernt hat. Für den gängigen Geschäftsfall – einige hundert bis einige tausend Chat-Beispiele, die Tonalität, Format und domänenspezifische Formulierungen vermitteln – entspricht die Anwendung von LoRA auf alle Schichten im Allgemeinen einem vollständigen Fine-Tuning.
Was es Sie kostet: Vergessen
Katastrophales Vergessen ist die Tendenz eines auf etwas Neues trainierten Netzwerks, das zuvor Erlernte zu verlieren. Da vollständiges Fine-Tuning jedes Gewicht verschieben kann, bietet es den größten Spielraum, um allgemeine Fähigkeiten zu überschreiben: ein Support-Modell, das Ihre Produktfragen perfekt beantwortet, aber schlechter darin geworden ist, unabhängige Anweisungen zu befolgen. Eine empirische Studie zum kontinuierlichen Instruction-Tuning beobachtete das Vergessen bei Modellen mit 1B bis 7B Parametern, und es wurde festgestellt, dass Modelle, die mit LoRA feinabgestimmt wurden – was die Basis eingefroren lässt –, weniger vergessen.
- Weniger Epochen und eine niedrigere Lernrate, sodass sich die Gewichte weniger von ihrem Ausgangspunkt entfernen.
- Mischen Sie allgemeine Daten bei, wie etwa einen Anteil an breit gefächerten Beispielen zur Befehlsbefolgung neben Ihren eigenen.
- Evaluieren Sie über Ihre spezifische Aufgabe hinaus. Nehmen Sie einige allgemeine Fragen in die Evaluierung auf, damit eine Regression sichtbar wird.
- Bevorzugen Sie einen Adapter, es sei denn, ein Vorteil durch vollständiges Fine-Tuning wurde tatsächlich gemessen.
Vollständiges Fine-Tuning und LoRA im direkten Vergleich
| Aspekt | Vollständiges Fine-Tuning | LoRA-Adapter |
|---|---|---|
| Trainierbare Gewichte | Alle | Typischerweise 0,1–1 % |
| Speicherbedarf für das Training | Etwa 16 Byte pro Gewicht, plus Aktivierungen | Das eingefrorene Basismodell (2 Byte pro Gewicht oder ca. 0,5 in 4-Bit) plus ein kleiner Adapter |
| Gespeichertes Ergebnis | Eine vollständige Modellkopie, z. B. etwa 14 GB für 7B in 16-Bit | Eine Adapterdatei, oft zehn bis hunderte MB |
| Typische Lernrate | Etwa 1e-5 | Ungefähr 10× höher |
| Risiko des Vergessens | Höher | Geringer |
| Am besten geeignet für | Große Datensätze, die wesentliche neue Fähigkeiten vermitteln | Tonalität, Format und domänenspezifische Formulierungen; mehrere Varianten einer Basis |
Häufige Fehler
- Die Wahl eines vollständigen Fine-Tunings, weil es gründlicher klingt. Bei kleinen Datensätzen kostet es meist deutlich mehr, ohne einen messbaren Vorteil zu bieten.
- Die Berechnung des GPU-Speichers anhand der Downloadgröße des Modells. Das Training jedes Gewichts erfordert etwa das Achtfache der 16-Bit-Gewichte, zuzüglich der Aktivierungen.
- Das Training vieler Epochen mit einer hohen Lernrate und das Testen ausschließlich der Zielaufgabe, um dann festzustellen, dass sich die allgemeinen Fähigkeiten verschlechtert haben.
- Zu vergessen, dass jedes vollständige Fine-Tuning ein Modell in voller Größe ist, das gespeichert und bereitgestellt werden muss.
Quellen und weiterführende Literatur
Externe Quellen werden in einem neuen Tab geöffnet.
- 01ZeRO: Memory Optimizations Toward Training Trillion Parameter ModelsRajbhandari et al., 2019 · arXiv · arxiv.orgDie Quelle für die Berechnung von 16 Byte pro Parameter und für das Sharding, das zur Verteilung auf GPUs verwendet wird.
- 02GPU memory usageHugging Face Transformers docs · huggingface.coEine Aufschlüsselung von Gewichten, Optimizer-Status, Gradienten und Aktivierungen während des Trainings.
- 03LoRA Learns Less and Forgets LessBiderman et al., 2024 · arXiv · arxiv.orgEin sorgfältiger Vergleich von vollständigem Fine-Tuning und LoRA bei Code und Mathematik: was beide lernen und was beide vergessen.
- 04An Empirical Study of Catastrophic Forgetting in Large Language Models During Continual Fine-tuningLuo et al., 2023 · arXiv · arxiv.org
- 05LoRA vs. full fine-tuningTogether AI docs · docs.together.aiDer praktische Rat eines Anbieters, wann man von einem Adapter zu einem vollständigen Fine-Tuning wechseln sollte.