Gauge dependence and structured-output corruption in sign-branched repetition penalties: measurements across models, inference stacks, and alternative repetition controls
Dieses Paper zeigt auf, dass die weit verbreitete, zeichenbasierte Repetitionsstrafe (sign-branching repetition penalty) in LLM-Inferenz-Engines grundlegend fehlerhaft ist, da sie vom willkürlichen Logit-Nullpunkt abhängt, was zu massiver Instabilität bei der Token-Auswahl über verschiedene Modelle hinweg und katastrophalen Fehlern bei strukturierten JSON-Ausgaben führt – ein Problem, das durch die Anwendung der Strafe auf normalisierte Log-Wahrscheinlichkeiten anstelle von Roh-Logits gelöst wird.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie hätten einen superintelligenten Roboter-Schreiber, der es liebt, Geschichten zu erzählen. Manchmal gerät er in eine Endlosschleife und wiederholt dasselbe Wort immer und immer wieder wie eine kaputte Schallplatte. Um dies zu beheben, haben Ingenieure dem Roboter einen „Repetitions-Penalty-Regler“ gegeben. Die Idee ist simpel: Wenn der Roboter versucht, ein Wort zu sagen, das er gerade erst benutzt hat, wird der Regler hochgedreht, um dieses Wort weniger wahrscheinlich zu machen, damit der Roboter weitermachen kann.
Jahrelang hat fast jeder Roboter-Schreiber der Welt (von Huger Face über vLLM bis hin zu llama.cpp) exakt dieselbe Art von Regler verwendet. Doch dieses Paper enthüllt ein schockierendes Geheimnis: Dieser spezifische Regler ist kaputt, weil er auf die falsche Zahl schaut.
Der kaputte Kompass
Um den Fehler zu verstehen, stellen Sie sich vor, das Gehirn des Roboters ist eine riesige Landkarte, auf der jedes mögliche Wort einen Wert hat. Positive Werte bedeuten „Ich will das unbedingt sagen“, und negative Werte bedeuten „Ich will das gar nicht“. Die Landkarte ist flexibel; der Roboter kann die gesamte Karte nach links oder rechts verschieben (indem er eine Konstante zu jedem Wert addiert), ohne zu ändern, welches Wort er als Nächstes wählt. Es ist, als würde man eine ganze Stadt auf einer Karte verschieben; die Straßen liegen immer noch in der gleichen relativen Ordnung zueinander, selbst wenn die Stadt nun in einem anderen Land liegt.
Der kaputte Regler versucht zu entscheiden, wie stark ein wiederholtes Wort bestraft werden soll, indem er prüft, ob sein Wert positiv oder negativ ist.
- Wenn der Wert positiv ist, teilt er die Zahl durch einen Straffaktor (was sie kleiner macht).
- Wenn der Wert negativ ist, multipliziert er die Zahl mit dem Straffaktor (was sie noch negativer macht).
Hier liegt das Problem: Die Grenze zwischen „positiv“ und „negativ“ ist willkürlich. Da der Roboter seine gesamte Karte nach links oder rechts verschieben kann, ohne sein Verhalten zu ändern, kann ein Wort bei einem Roboter „positiv“ sein und bei einem anderen „negativ“ – oder sogar beim selben Roboter, wenn man die Karte leicht verschiebt.
Dieses „Vorzeichen-Verzweigungs“-Problem (das Prüfen, ob eine Zahl positiv oder negativ ist) blickt auf eine Koordinate, die der Roboter während seines Trainings nie wirklich fixiert hat. Es ist, als würde man versuchen, ein Auto zu steuern, indem man danach lenkt, ob das Armaturenbrett gerade in der „roten“ oder „blauen“ Zone ist, obwohl sich das ganze Armaturenbrett von selbst nach vorne oder hinten verschieben kann.
Das Chaos von „Gleicher Regler, andere Ergebnisse“
Wegen dieser verschiebbaren Landkarte bewirkt dieselbe Einstellung am Regler (wie zum Beispiel 1,3) bei verschiedenen Robotern völlig unterschiedliche Dinge.
- Bei einem Roboter (wie
gpt2) bestraft eine Einstellung von 1,3 vielleicht 84 % der wiederholten Wörter. - Bei einem anderen Roboter (wie
Qwen2.5-Coder-7B) bestraft dieselbe 1,3-Einstellung fast gar keine der Wörter oder bestraft sie auf eine völlig andere Weise.
Die Autoren testeten dies, indem sie einen einzelnen Roboter nahmen und seine Landkarte nach links und rechts verschoben. Sie fanden heraus, dass der Roboter mit einer Standardeinstellung von 1,3 seine Meinung bei 58 % bis 96 % seiner Entscheidungen änderte, nur weil die Landkarte ein winziges Stück verrutschte!
- Wenn man einen „subtraktiven“ Penalty verwendet (also einfach eine Zahl abzieht), bleibt der Roboter gleich.
- Wenn man den standardmäßigen „multiplikativen“ Vorzeichen-Check verwendet, dreht der Roboter völlig durch und ändert seine Entscheidung bei fast jedem Wort, das er wählt.
Das bedeutet: Wenn Sie Ihren Roboter so feinabstimmen, dass er mit einer Einstellung von 1,3 gut funktioniert, stimmen Sie ihn eigentlich auf den spezifischen, zufälligen „Nullpunkt“ dieses speziellen Roboters ab. Wenn Sie diesen Roboter auf einen anderen Computer bewegen oder seine Software aktualisieren, könnte dieselbe Einstellung ihn komplett unbrauchbar machen.
Die JSON-Katastrophe
Der gefährlichste Teil dieses Fehlers ist, dass er „strukturierte Ausgaben“ zerstört. Dies ist der Fall, wenn man den Roboter bittet, Code oder JSON (ein spezifisches Datenformat) zu schreiben, das strengen Regeln folgen muss, wie etwa das Schließen jeder geschweiften Klammer { oder das Hinzufügen eines Kommas ,.
Diese Regeln erfordern, dass der Roboter bestimmte Symbole wiederholt. Aber da der Penalty auf die Rohwerte schaut, hält er oft eine „notwendige Regel“ für eine „schlechte Wiederholung“.
- Das Paper testete dies an 200 realen JSON-Schemas.
- Mit der Standardeinstellung von 1,3 stürzte die Rate der gültigen, funktionierenden JSON-Ausgaben von 97 % auf nur noch 23 % ab.
- Der Roboter begann, die Grammatik zu brechen, vergaß Klammern zu schließen oder ließ Kommas weg, weil der Penalty bei den falschen Zahlen zu aggressiv war.
Dies war keine Simulation, sondern die Autoren haben dies direkt an fünf verschiedenen Modellen, einschließlich spezialisierter Code-Modelle, gemessen und sahen denselben Absturz in jedem großen Software-Stack (Hugging Face, vLLM und llama.cpp).
Die Lösung: Zuerst normalisieren
Das Paper bietet eine einfache, bewährte Lösung an. Anstatt auf die rohen, verschiebbaren Zahlen zu schauen, sollte der Penalty auf die normalisierten Wahrscheinlichkeiten (die tatsächliche prozentuale Chance, dass ein Wort gewählt wird) schauen.
- Wahrscheinlichkeiten liegen immer zwischen 0 und 1, daher verschieben sie sich nicht.
- Als die Autoren den Penalty auf diese normalisierten Zahlen anwandten statt auf die Rohwerte, verschwand das Chaos.
- Die „Flip-Rate“ (wie oft der Roboter seine Meinung änderte, nur weil die Karte verrutschte) sank auf 0,00.
- Die JSON-Erfolgsrate bei 1,3 sprang wieder auf 97 % zurück.
Hugging Face besitzt bereits ein Werkzeug namens LogitNormalization, das dies tut, aber es ist standardmäßig ausgeschaltet und läuft nach dem Penalty. Das Paper schlägt vor, dass man, wenn man es einschaltet und es vor dem Penalty ausführt, ein stabiles, zuverlässiges Ergebnis erhält, das auf jedem Modell auf die gleiche Weise funktioniert.
Das Fazit
Der „multiplikative Repetitions-Penalty“, der derzeit in fast jeder KI-Engine ausgeliefert wird, ist grundlegend fehlerhaft, da er auf einer Zahlenlinie basiert, die sich verschieben kann. Er ist kein universeller Regler; er ist ein kaputter Drehknopf, der auf jeder Maschine andere Ergebnisse liefert.
- Was er tut: Er verursacht massive, unvorhersehbare Änderungen in dem, was die KI schreibt (Änderung von 58–96 % der Entscheidungen) und zerstört strukturierte Formate wie JSON (Abfall der Gültigkeit von 97 % auf 23 %).
- Was er nicht ist: Er ist kein Feature; er ist ein Bug, der seit Jahren in der gesamten Branche kopiert wird.
- Die Lösung: Normalisieren Sie zuerst die Zahlen. Dies entfernt das Problem der verschiebbaren Landkarte und sorgt dafür, dass der Penalty konsistent funktioniert, egal welchen Roboter Sie verwenden.
Die Autoren haben dies über mehrere Modelle und Software-Stacks hinweg gemessen, und die Ergebnisse sind eindeutig: Der aktuelle Standard ist kaputt, und die Lösung ist bereit zum Einsatz.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.