Ressourcen/Modelltraining/Trainingsmethoden

Methode

Supervised Fine-Tuning (SFT)

Supervised Fine-Tuning trainiert ein Modell anhand von Beispielen: Es erhält eine Konversation sowie die gewünschte Antwort, und seine Gewichtungen werden so angepasst, dass diese Antwort Token für Token wahrscheinlicher wird.

Kapitel 75 Min. Lesezeit5 Quellen

Was es ist

Supervised Fine-Tuning ist der direkteste Weg, das Verhalten eines Modells zu verändern: Sie geben ihm Beispiele für die gewünschten Konversationen und trainieren es darauf, die Antworten zu reproduzieren. „Supervised“ bedeutet, dass jedes Beispiel mit der entsprechenden Antwort versehen ist. Das Modell wird nicht aufgefordert, zu beurteilen oder zu explorieren; ihm wird für jeden Kontext vorgegeben, welches die richtigen nächsten Wörter sind.

Ein vortrainiertes Modell hat bereits Sprache und viel über die Welt aus öffentlichen Texten gelernt. Was es noch nicht gesehen hat, ist Ihr Produkt, der Tonfall Ihres Teams oder das Format, das Ihre Nutzer erwarten. SFT schließt diese Lücke mit einem vergleichsweise winzigen Datensatz: Hunderte bis wenige Tausend gute Konversationen, nicht die Billionen von Token, die im Pre-Training verwendet werden. Die LIMA-Studie hat dies deutlich gemacht: Ein Modell mit 65 Milliarden Parametern, das auf nur 1.000 sorgfältig kuratierten Beispielen feinabgestimmt wurde, verhielt sich wie ein fähiger Assistent. Die Autoren sahen dies als Beweis dafür, dass fast das gesamte Wissen im Pre-Training erlernt wird und das Fine-Tuning hauptsächlich das Format für dessen Nutzung vermittelt.

Wie es funktioniert

Jeder Trainingsdatensatz ist eine Konversation. Die Antworten des Assistenten, die Sie als trainierbar markiert haben, sind die Targets; alles vor einem Target ist dessen Kontext.

Ein überwachter Datensatz (Chat-Format)
{"messages": [
  {"role": "system",    "content": "You are Scalata's support assistant."},
  {"role": "user",      "content": "How do I reset my password?"},
  {"role": "assistant", "content": "Open Settings → Security and choose Reset password. You'll get an email link valid for 30 minutes."}
]}

Das Modell liest den Datensatz als eine lange Sequenz von Token. An jeder Position innerhalb des Targets prognostiziert es eine Wahrscheinlichkeit für jedes Token in seinem Vokabular, und der Trainer prüft, wie viel Wahrscheinlichkeit es dem Token zugewiesen hat, das tatsächlich als Nächstes folgt. Die Strafe für ein Token ist −ln p, der negative natürliche Logarithmus dieser Wahrscheinlichkeit. Gemittelt über die Antwort ergibt dies den Cross-Entropy Loss.

Kreuzentropie, in einer Zeile
loss for one reply = average over its target tokens of  −ln p(correct next token | everything before it)

p = 0.90  →  0.11
p = 0.50  →  0.69
p = 0.05  →  3.00

Nur Target-Token werden bewertet. Die Systemnachricht und die Worte des Nutzers werden gelesen, da sie die Vorhersage formen, aber sie werden nie benotet. Dies nennt man Loss Masking: Das Modell lernt, wie Ihr Team zu antworten, und nicht, Ihre Nutzer zu imitieren.

systemSie sind der Support-Assistent von Scalata.gelesen · maskiert
userWie setze ich mein Passwort zurück?gelesen · maskiert
assistantÖffnen Sie Einstellungen → Sicherheit und wählen Sie Passwort zurücksetzen.bewertet · Loss berechnet
Das Modell liest jeden Token, aber sein Fehler wird nur an der Zielantwort gemessen. Der Kontext formt die Vorhersage; er selbst wird nie bewertet.
Kontext (gelesen, nicht bewertet): „Wie setze ich mein Passwort zurück?“
Openp 0.20 · 1.61␣Settingsp 0.85 · 0.16␣→p 0.62 · 0.48␣Securityp 0.90 · 0.11
Summe der Strafen 2,364 Ziel-TokensLoss ≈ 0,59
Supervised Loss, ein Ziel-Token nach dem anderen. Die Strafe jedes Tokens ist −ln p, wobei p die Wahrscheinlichkeit ist, dass das Modell das richtige Token ausgegeben hat. Eine zuversichtliche, korrekte Vorhersage kostet fast nichts; eine Überraschung kostet viel. Der Loss der Antwort ist der Durchschnitt.

Nach jedem Batch berechnet die Backpropagation, wie sich jedes trainierbare Gewicht ändern muss, um die Target-Token wahrscheinlicher zu machen, und der Optimizer macht einen kleinen Schritt in diese Richtung. Die Lernrate bestimmt die Schrittgröße. Ein Durchlauf über alle Datensätze ist eine Epoche.

Bewertung einer Antwort, Token für Token
  1. Die Zielantwort beginnt mit „Open Settings → Security“. Angenommen, das Modell gibt diesen vier Tokens die Wahrscheinlichkeiten 0,20, 0,85, 0,62 und 0,90.
  2. Die Strafen betragen −ln 0,20 = 1,61, −ln 0,85 = 0,16, −ln 0,62 = 0,48 und −ln 0,90 = 0,11.
  3. Ihre Summe ist 2,36; der Durchschnitt über vier Tokens liegt bei etwa 0,59. Der Großteil der Strafe stammt vom ersten Wort: Das Modell hat nicht erwartet, dass die Antwort mit „Open“ beginnt.
  4. Das Update erhöht alle vier Wahrscheinlichkeiten, und die überraschendste am stärksten, da der Druck auf jedes Token wächst, je weiter seine Wahrscheinlichkeit von 1 entfernt ist. Nach einigen Epochen mit ähnlichen Antworten könnte der Durchschnitt auf etwa 0,2 fallen.

Worin SFT gut ist und worin nicht

ZielSFT?Warum
Ein konsistenter Tonfall und SprachstilJaJede Antwort in den Daten demonstriert dies.
Ein festes Ausgabeformat (Abschnitte, JSON, Länge)JaDas Format ist leicht darzustellen und Token für Token einfach zu bewerten.
Fachspezifische Formulierungen und ProduktvokabularJaDas Modell übernimmt die Wörter, die Ihr Team verwendet.
Häufig wechselnde Fakten (Preise, Bestände, Richtlinien)SeltenTrainierte Fakten veralten; sie zum Zeitpunkt der Antwort nachzuschlagen, ist sicherer.
„Besser als“-Beurteilungen ohne eine einzige richtige AntwortTeilweisePreference Tuning drückt Vergleiche direkt aus.
Aufgaben mit überprüfbarem Ergebnis (eine Berechnung, Code, der Tests besteht)TeilweiseReinforcement Fine-Tuning kann korrekte Ergebnisse belohnen anstatt einer festen Formulierung.

Eine Eigenschaft erklärt die meisten SFT-Überraschungen: Es imitiert. Wenn eine von zehn Antworten „Bitte kontaktieren Sie den Support“ lautet, anstatt zu antworten, lernt das Modell, dies in etwa einem von zehn Fällen zu sagen. Wenn sich Antworten widersprechen, lernt das Modell eine verschwommene Mischung aus beiden. Saubere, konsistente Targets sind wichtiger als eine größere Menge an Targets.

Wie man es optimiert

Die meisten Supervised-Durchläufe benötigen wenig Tuning. Beginnen Sie mit den Standardeinstellungen des Anbieters („Auto“), lesen Sie die Kurven und ändern Sie dann immer nur eine Sache auf einmal.

EpochenTypisch 1–3 oder Auto#

Wie oft das Modell jeden Trainingsdatensatz sieht. Zu wenige, und die Antworten ändern sich kaum; zu viele, und der Trainingsverlust sinkt weiter, während der Validierungsverlust ansteigt, da das Modell Ihre Beispiele auswendig lernt. Kleine Datensätze vertragen in der Regel mehr Epochen als große.

Lernraten-MultiplikatorTypisch Anbieter-Standard (×0,5–2)#

Gehostete Modelle bieten einen Multiplikator für die Standard-Lernrate des Anbieters anstelle des Rohwerts. Ein Wert über 1 lernt schneller, kann aber über das Ziel hinausschießen oder allgemeine Fähigkeiten beeinträchtigen; ein Wert unter 1 ist sanfter und langsamer. Senken Sie ihn, wenn der Validierungsverlust stark schwankt oder früh ansteigt.

  • Beide Verluste sinken: lernt noch; eine weitere Epoche könnte helfen.
  • Training sinkt, Validierung flacht ab: genau richtig; hier anhalten.
  • Training sinkt, Validierung steigt: Overfitting; verwenden Sie weniger Epochen, einen niedrigeren Multiplikator oder vielfältigere Daten.
  • Beide verändern sich kaum: Die Daten sind möglicherweise inkonsistent oder die Lernrate ist zu niedrig.

Häufige Fehler

  • Training mit Antworten, die Sie nicht wiederholt haben möchten. Schwache, veraltete oder inkonsistente Antworten werden genauso getreu gelernt wie gute.
  • Viele Epochen auf einem kleinen Datensatz ausführen und auf den sinkenden Trainingsverlust vertrauen. Achten Sie auf den Validierungsverlust.
  • SFT zu verwenden, um veränderliche Fakten zu speichern. Wenn sich die Fakten ändern, wiederholt das Modell weiterhin die alten.
  • Den Durchlauf nur anhand des Verlusts zu beurteilen. Ein geringerer Verlust bedeutet eine genauere Imitation Ihrer Antworten, nicht zwangsläufig bessere Antworten: Führen Sie eine Evaluierung durch.
  • Keinen Validierungs-Split vorzusehen, sodass es keine Möglichkeit gibt, Overfitting zu erkennen.

Quellen und weiterführende Literatur

Externe Quellen werden in einem neuen Tab geöffnet.

  1. 01SFT TrainerHugging Face TRL docs · huggingface.coBeschreibt den Cross-Entropy Loss auf Token-Ebene und zeigt, wie das Training ausschließlich auf Completions funktioniert.
  2. 02Supervised fine-tuningOpenAI API docs · developers.openai.comDer Leitfaden eines Hosted-Anbieters: Datenformat, Hyperparameter und Evaluierung des Ergebnisses.
  3. 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org1.000 kuratierte Beispiele reichten aus, um ein 65B-Modell zu einem leistungsstarken Assistenten feinabzustimmen.
  4. 04Training language models to follow instructions with human feedbackOuyang et al., 2022 · arXiv · arxiv.orgInstructGPT: Das Paper, das Supervised Fine-Tuning zum ersten Schritt des modernen Post-Trainings machte.
  5. 05Finetuned Language Models Are Zero-Shot LearnersWei et al., 2021 · arXiv · arxiv.orgFrühe Belege dafür, dass das Fine-Tuning auf Anweisungen einem Modell hilft, Anweisungen zu befolgen, die es nie zuvor gesehen hat.

Verwandeln Sie wochenlange Expertenarbeit in Minuten

Erfahren Sie, wie Scalata zu Ihrem Team, Ihren Daten und Ihren Kontrollen passt.

Vertrieb kontaktieren