Ressourcen/Modelltraining/Trainingsmethoden

Metrik

Den DPO-Loss interpretieren

Der DPO-Loss misst, wie deutlich das Modell nun die bessere Antwort in jedem Paar bevorzugt, relativ zum Ausgangszustand. Er beginnt bei ln 2 ≈ 0,693 und fällt in Richtung 0, während die Präferenz erlernt wird.

Kapitel 74 Min. Lesezeit4 Quellen

Was es ist

Während eines Preference-Durchlaufs meldet der Trainer einen Loss, pro Schritt oder pro Epoche, und manchmal auch für zurückgehaltene Paare. Dies beantwortet eine Frage: Wie zuversichtlich stuft der implizite Reward des Modells im Durchschnitt die bevorzugte Antwort höher ein als die nicht bevorzugte, verglichen mit dem Ausgangszustand des Modells?

Er sieht aus wie ein Supervised Loss, bedeutet aber nicht dasselbe. Der Supervised Loss ist die Kreuzentropie über Token und kann bei einem beliebigen Wert beginnen, oft über 1. Der DPO-Loss ist ein Klassifizierungs-Loss pro Paar mit einem festen Startwert und einer Untergrenze von 0. Beide sind nicht vergleichbar.

Warum es bei 0,693 beginnt

Beim ersten Schritt sind das zu trainierende Modell und das Referenzmodell identisch. Jedes Log-Verhältnis ist 0, also ist jede Margin 0, σ(0) = 0,5 und der Loss beträgt −ln 0,5 = ln 2 ≈ 0,693: der Loss eines Münzwurfs. Das gilt für jeden Datensatz und jedes Modell, was es zu einem nützlichen Plausibilitätscheck macht. Die ersten protokollierten Werte sollten bei oder knapp unter 0,69 liegen; ein Startwert, der weit davon entfernt ist, bedeutet in der Regel, dass die Referenz nicht das Ausgangsmodell ist oder eine andere Loss-Variante verwendet wird.

Schritt 0
step 0:  model = reference
         every log-ratio = 0  →  margin = 0
         loss = −ln σ(0) = −ln 0.5 = ln 2 ≈ 0.693

Zu erkennende Muster

0.690.30START: LN 2 ≈ 0,693Trainingsschritte →Kaum verändertLernenZu einfach?
Jeder DPO-Durchlauf beginnt bei ln 2 ≈ 0,693, dem Verlustwert eines Münzwurfs. Was danach passiert, zeigt Ihnen, ob die Paare etwas vermitteln und ob sie zu einfach sind.
Was Sie sehenWas es normalerweise bedeutetWas zu tun ist
Bleibt bei etwa 0,6–0,7Die Paare haben das Modell kaum verändert. Häufig bei wenigen Paaren oder wenn sich die beiden Antworten nur geringfügig unterscheiden.Fügen Sie Paare hinzu und machen Sie den Unterschied zwischen den Antworten deutlicher; ziehen Sie erst dann ein niedrigeres β oder eine weitere Epoche in Betracht.
Sinkt stetig, z. B. auf 0,3Das Modell lernt die Präferenz.Evaluieren Sie gegen das Ausgangsmodell, um sicherzustellen, dass sich die Antworten wirklich verbessert haben.
Fällt sehr schnell auf fast 0Die Paare sind zu einfach (die schlechtere Antwort ist offensichtlich schlecht), oder das Modell lernt sie auswendig.Verwenden Sie vielfältigere oder schwierigere Paare, weniger Epochen oder ein höheres β.
Steigt über 0,69Im Durchschnitt stuft das Modell die Paare nun im Vergleich zum Ausgangszustand falsch herum ein.Überprüfen Sie, ob bevorzugte und nicht bevorzugte Antworten vertauscht wurden; senken Sie die Lernrate.

Die Zahlen interpretieren

Da der Loss für ein Paar −ln σ(β × Margin) beträgt, entspricht jeder Wert einem Grad der Übereinstimmung zwischen dem Modell und dem Label:

Lossσ: Übereinstimmung mit dem Labelβ × Margin
0,6930,50 (Münzwurf)0
0,510,600,4
0,300,741,05
0,100,902,25
0,010,994,6

Der gemeldete Loss ist ein Durchschnitt über Paare, sodass ein mittlerer Wert eine Spaltung verbergen kann: Die meisten Paare wurden gut gelernt und einige wenige falsch eingestuft. Aus diesem Grund melden Trainer oft zusätzlich die Preference Accuracy (den Anteil der richtig eingestuften Paare) und die durchschnittliche Reward Margin.

Ein Durchschnitt, der eine Diskrepanz verbirgt
  1. Vier Paare beenden das Training mit einer β × Marge von 2,0, 2,0, 2,0 und −1,0.
  2. Ihre Losses betragen 0,13, 0,13, 0,13 und 1,31.
  3. Der Durchschnitt liegt bei 0,42, was sich wie ein moderater Fortschritt liest. Tatsächlich wurden drei Paare gelernt und eines ist fest in die falsche Richtung eingestuft. Es lohnt sich, dieses Paar zu überprüfen: Möglicherweise ist es falsch gelabelt.

Was der Loss Ihnen nicht sagen kann

  • Ob sich die Antworten verbessert haben. Der Loss wird anhand fester Paare berechnet, nicht anhand der vom Modell verfassten Antworten. Ein Modell kann Ihre Paare perfekt trennen und neue Fragen dennoch schlechter beantworten.
  • In welche Richtung sich die Wahrscheinlichkeiten bewegt haben. Der Loss sinkt, wenn die abgelehnte Antwort unwahrscheinlicher wird, selbst wenn dies auch für die ausgewählte Antwort gilt. Forscher haben herausgefunden, dass die Wahrscheinlichkeit der ausgewählten Antwort während der DPO oft abnimmt („Likelihood Displacement“), und die TRL-Dokumentation weist darauf hin, dass die Lücke typischerweise eher durch die Unterdrückung abgelehnter Antworten als durch die Anhebung bevorzugter Antworten vergrößert wird.
  • Ob Overfitting schadet. Im Zephyr-Bericht kam es beim DPO-Schritt nach einer Epoche zu starkem Overfitting (perfekte Genauigkeit auf dem Trainingsdatensatz), was den Benchmark-Ergebnissen jedoch nicht schadete, und das beste Modell resultierte aus drei DPO-Epochen. Wenn das überwachte Modell jedoch für mehr als eine Epoche trainiert worden war, führte ein längeres DPO-Training zu einer Regression. Die Trainingskurven konnten diese Fälle nicht unterscheiden; Evaluierungen hingegen schon.

Die Token Accuracy, die bei überwachten Durchläufen angezeigt wird, ist kein Maß für das Preference Learning und wird daher beim DPO nicht angezeigt.

Häufige Fehler

  • Vergleich eines DPO-Loss mit einem Supervised Loss. Unterschiedliche Formeln, unterschiedliche Skalen.
  • Vergleich von DPO-Losses über Durchläufe mit unterschiedlichem β hinweg.
  • Einen Loss nahe 0 feiern. Bei wenigen oder einfachen Paaren ist dies das erwartete Ergebnis und oft ein Zeichen für Auswendiglernen.
  • Vertauschte Labels übersehen. Ein Loss, der über 0,69 steigt, bedeutet in der Regel, dass die bevorzugte und die nicht bevorzugte Seite irgendwo vertauscht wurden.
  • Bei der Kurve stehen bleiben. Nur eine Evaluierung gegen das Ausgangsmodell zeigt, ob sich die Antworten verbessert haben.

Quellen und weiterführende Literatur

Externe Quellen werden in einem neuen Tab geöffnet.

  1. 01Direct Preference Optimization: Your Language Model is Secretly a Reward ModelRafailov et al., 2023 · arXiv · arxiv.orgDefiniert den Loss und erklärt, wie sein Gradient jedes Paar gewichtet.
  2. 02DPO TrainerHugging Face TRL docs · huggingface.coListet auf, was ein DPO-Trainer protokolliert: Loss, implizite Rewards, Margins und Genauigkeiten.
  3. 03Unintentional Unalignment: Likelihood Displacement in Direct Preference OptimizationRazin et al., 2024 · arXiv · arxiv.orgWarum die Wahrscheinlichkeit der bevorzugten Antwort während der DPO sinken kann und welche Paare dies verursachen.
  4. 04Zephyr: Direct Distillation of LM AlignmentTunstall et al., 2023 · arXiv · arxiv.orgEin durchgeführter SFT-dann-DPO-Durchlauf, einschließlich dessen, was das Overfitting des DPO-Schritts bewirkt hat und was nicht.

Verwandeln Sie wochenlange Expertenarbeit in Minuten

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

Vertrieb kontaktieren