Fine-Tuning, technisch
Wann sich ein eigenes Training lohnt, welche Datenmenge nötig ist und warum die meisten Vorhaben besser mit Prompt und Abruf gelöst werden.
Die Entscheidung
| Problem | Richtige Antwort |
|---|---|
| Das Modell kennt unsere Produkte nicht | Abruf, nicht Fine-Tuning |
| Das Modell antwortet im falschen Format | Erst Prompt, dann Fine-Tuning |
| Das Modell trifft unseren Ton nicht | Fine-Tuning |
| Das Modell versteht unsere Fachsprache nicht | Erst Glossar im Prompt, dann Fine-Tuning |
| Das Modell ist zu langsam oder zu teuer | Kleineres Modell nachtrainieren |
| Die Antworten sind faktisch falsch | Abruf mit Zitierpflicht |
Der Datensatz
- Jedes Beispiel ist so, wie die Ausgabe aussehen soll. Ein mittelmäßiges Beispiel lehrt Mittelmaß.
- Vielfalt in der Eingabe, Einheitlichkeit in der Form der Ausgabe.
- Auch Beispiele, in denen die richtige Antwort eine Ablehnung ist. Sonst lernt das Modell, immer zu antworten.
- Ein zurückgehaltenes Eval-Set, das vor dem Training festgelegt wird.
- Persönliche Daten entfernen oder pseudonymisieren, bevor trainiert wird. Ein Modell kann Trainingsdaten wiedergeben.
Die Größenordnungen
| Ziel | Beispiele | Aufwand mit LoRA |
|---|---|---|
| Festes Ausgabeformat | 200 bis 500 | wenige GPU-Stunden |
| Ton und Stil | 500 bis 2.000 | wenige GPU-Stunden |
| Fachsprache | 2.000 bis 20.000 | 10 bis 50 GPU-Stunden |
| Neue Fähigkeit | 50.000+ | erheblich, oft nicht sinnvoll |
Katastrophales Vergessen messen
Ein Modell, das auf einer engen Aufgabe nachtrainiert wurde, verliert allgemeine Fähigkeiten. Das ist kein Nebeneffekt, sondern die direkte Folge davon, dass alle Parameter in Richtung der neuen Aufgabe verschoben werden.
- Vor und nach dem Training dasselbe allgemeine Eval-Set rechnen.
- Ein Rückgang über 3 bis 5 Prozentpunkte ist ein Warnsignal.
- Gegenmittel: kleinere Lernrate, weniger Epochen, LoRA statt vollständigem Training, Mischung mit allgemeinen Daten.
Eine bewährte Faustregel ist, dem Trainingssatz 5 bis 20 Prozent allgemeine Anweisungsdaten beizumischen. Das kostet wenig und hält die Grundfähigkeiten weitgehend stabil.
Die Einstellungen
| Parameter | Üblicher Bereich | Anmerkung |
|---|---|---|
| Lernrate | 1e-5 bis 5e-5 voll, 1e-4 bis 3e-4 mit LoRA | Der wichtigste Regler |
| Epochen | 1 bis 3 | Mehr führt fast immer zu Auswendiglernen |
| Batch-Größe effektiv | 32 bis 128 | Über Gradientenakkumulation erreichbar |
| Maximale Länge | so kurz wie möglich | Bestimmt den Speicherbedarf |
| Warmup | 3 bis 10 Prozent der Schritte | Verhindert frühe Instabilität |
Durchgerechnet: Speicher und Schritte
Der Speicherbedarf entscheidet, ob ein Fine-Tuning auf der vorhandenen Hardware überhaupt läuft.
Für ein Modell mit 7 Milliarden Parametern in bfloat16 mit Adam:
7e9 · (2 + 2 + 8) = 8,4 · 10¹⁰ Byte, also rund 84 GB, bevor die Aktivierungen
dazukommen. Das passt auf keine einzelne übliche Karte.
Mit LoRA werden nur die Adaptermatrizen trainiert. Bei Rang 16 auf den vier
Projektionen eines Modells mit 32 Schichten und Breite 4096 sind das
32 · 4 · 2 · 16 · 4096 ≈ 1,7 · 10⁷ Parameter, also 0,24 Prozent des Modells.
Der Optimiererzustand schrumpft entsprechend: 1,7e7 · 12 ≈ 200 MB statt 84 GB.
Das Grundmodell bleibt eingefroren und kann quantisiert geladen werden. Siehe
LoRA und parametereffizientes Training.
Die Zahl der Schritte folgt aus dem Datensatz:
Schritte = Beispiele · Epochen / effektive Batch-Größe. Bei 2.000 Beispielen,
2 Epochen und effektiver Batch-Größe 32 sind das 125 Schritte. Das ist wenig, und
genau deshalb entscheidet die Lernrate hier mehr als die Rechenzeit.
Rechtliche Punkte
- Trainingsdaten mit Personenbezug brauchen eine eigene Rechtsgrundlage. Der Zweck der ursprünglichen Erhebung deckt Training selten mit ab.
- Ein Modell kann Trainingsdaten wörtlich wiedergeben. Das ist bei personenbezogenen Daten ein Übermittlungsrisiko und bei geschützten Texten ein urheberrechtliches.
- Ein Löschbegehren nach Art. 17 DSGVO lässt sich an einem trainierten Modell nicht ohne Weiteres erfüllen. Deshalb gehören personenbezogene Daten vor das Training entfernt, nicht danach.
- Wer ein Modell feinabstimmt und weitergibt, kann dadurch zum Anbieter im Sinne des AI Act werden. Siehe Pflichten nach Rolle.
Passende Kurse und Quellen
BERT
Vortraining auf maskiertem Text, danach Fine-Tuning je Aufgabe. Das Muster, das die Sprachverarbeitung vor den großen Modellen geprägt hat.
Für das Verständnis dessen, was vor den großen Modellen die Sprachverarbeitung geprägt hat.
Hugging Face NLP-Kurs
Tokenisierung, Transformer, Fine-Tuning und Bereitstellung, durchgehend mit Code. Setzt Python voraus, dafür arbeitet man am Ende mit echten Modellen.
Für Entwicklung mit Sprachmodellen, wenn es über das Aufrufen einer Schnittstelle hinausgehen soll.
LoRA
Anpassung über wenige zusätzliche Parameter statt vollständigem Training. Der Grund, warum Fine-Tuning heute bezahlbar ist.
Für alle, die feinabstimmen wollen und ein Budget haben; die Grundlage der bezahlbaren Anpassung.
Practical Deep Learning for Coders
Beginnt mit einem lauffähigen Modell in der ersten Stunde und liefert die Theorie danach. Der kürzeste Weg von Python-Grundkenntnissen zum eigenen trainierten Modell.
Für Ungeduldige mit Python-Kenntnissen: das erste eigene Modell läuft in der ersten Stunde.