Tutorials

Der Matthäus-Effekt im RL-Training: Warum LLMs harte Probleme nie lernen und wie Never Give Up das löst

reinforcement-learning llm grpo training forschung eval

Ein neuer Paper-Blogpost von Michael Noukhovitch (Ai2, mit Hamish Ivison, Nathan Lambert und Aaron Courville) stellt eine unbequeme Frage ans RL-Post-Training von LLMs: Was misst deine Eval-Kurve eigentlich? Die Antwort ist der “Matthäus-Effekt” - und ein erstaunlich einfacher Fix namens Never Give Up (NGU).

Das Problem: Aufwärts-Kurven verstecken Stillstand

Beim RL-Training von Olmo 3.1 7B auf Mathe-Daten (RL-Zero Math) steigt die AIME-2025-Eval fleißig. Zerlegt man die 30 Fragen aber nach initialer Schwierigkeit (pass@32 des Basismodells), zeigt sich: Leichte Aufgaben verbessern sich drastisch, Aufgaben mit anfänglichem pass@32=0 bleiben praktisch bei null. Der Durchschnitt suggeriert Fortschritt, die harten Probleme stagnieren. Derselbe Effekt tritt bei Code-RL (Deepcoder auf LCBv5) und agantischem Coding (DeepSWE auf SWEBench) auf: RL-Trainingsgewinne sind proportional zur initialen Kompetenz - die Reichen werden reicher.

Ursache: GRPO verschwendet Compute an leichte Aufgaben

Die naheliegende Vermutung: GRPO liefert bei harten Problemen kein Gradient-Signal, weil keine der k Completion-Lösungen korrekt ist - groesserers k sollte helfen. Das Experiment auf GSM8k Platinum (Qwen 2.5 0.5B) widerlegt das. k=4 schlägt k=32 bei harten Problemen, trotz gleichem Batch-Budget. Warum? Großes k findet zwar seltene korrekte Lösungen für harte Aufgaben, verschwendet aber massiv Compute auf seltene falsche Lösungen für leichte Aufgaben. Ab Schritt 200 kippt das Verhältnis - der Inflection Point, an dem die Filtereffizienz von kleinem k überwiegt.

Never Give Up: adaptives k statt fixem k

Die Lösung ist ein minimaler Patch im asynchronen RL-Sampling:

  1. Sample klein (k=4). Gelöst? Trainieren. Alles korrekt? Schnell filtern.
  2. Alles falsch? Mit Wahrscheinlichkeit p (0.9) nicht aufgeben: zurück in den Generator, k weitere Completions ziehen.
  3. Bei Erfolg auf alle gesammelten Runden trainieren - mit Altersfilter, da alte Completions als stale negatives den Lernerfolg bremsen.

NGU mit k=4 schlägt auf GSM8k Platinum jede Standard-GRPO-k-Variante, früh wie spät im Training: anfangs findet es harte Probleme wie k=32, später filtert es leichte so schnell wie k=4. Ein Staleness-Age-Threshold für Completions hält die Datenqualität. Ergänzende Experimente auf Manufactoria zeigen: Plasticity ist nicht das Problem - auch ein 3.000 Schritte stagnierter Checkpoint erholt sich mit NGU oder all-tests-Reward.

Fazit für die Praxis: Skalare Eval-Werte sind zu grob - wer RL für LLMs fährt, sollte Evaluierungen nach initialer Schwierigkeit aufsplitten. Und wer nur eine Änderung macht: kleines k plus Never-Give-Up-Retry, statt großes k für alles. Limitation des Autors: Bei Aufgabenverteilungen fast ohne leichte Probleme verliert NGU seinen Vorteil, und mehrfach wiederholtes Sampling macht frühe Runden off-policy. Code und Paper (arXiv 2609.13443) sind verfügbar.

Quelle: mnoukhov.github.io