Leren om moeilijke problemen in RL voor LLM's op te lossen door nooit op te geven (Never Give Up)

Dit is een blogpost over mijn recente paper over RL post-training van LLM's, waarin ik het "Matthew-effect" introduceer en voorstellen om dit op te lossen met Never Give Up (NGU). De tekst is interactief en minder formeel gepresenteerd, vergelijkbaar met hoe ik mijn presentaties geef. Voor een diepere, meer technische duik kun je de paper op arXiv en de code op GitHub raadplegen.

Wat meet je evaluatie eigenlijk?

Elke goede RL-beoefenaar heeft ongetwijfeld een evaluatiecurve zien stijgen. Zo is er de AIME 2025-evaluatie tijdens onze RL-training van Olmo 3.1 RL-Zero Math.

Het trainen van de Olmo 3 7B base met RL op Dolci RL-Zero math verbetert de algemene wiskundige vaardigheid. Of doet het dat wel?

Wat betekent deze curve precies? Onze evaluatie is een gemiddelde over 30 AIME-vragen. Laten we deze 30 vragen onderverdelen in drie moeilijkheidsniveaus:

  • Moeilijk: Elke vraag waar ons initiële model (vóór RL) een score van 0 haalt bij pass@32.
  • Gemiddeld en Makkelijk: De overige vragen worden gelijkmatig verdeeld op basis van hun pass-rates.

In het begin waren de pass@1-gemiddelden voor deze subsets respectievelijk 0%, 3,8% en 22,7%. Hoe evolueert de prestatie per subset?

De resultaten laten zien dat makkelijke AIME-problemen drastisch verbeteren, maar problemen die begonnen met pass@32=0, eindigen meestal ook met pass@32=0.

Het middelen van onze AIME-evaluatie maskeerde iets belangrijks: het grootste deel van de verbeteringen komt voort uit de makkelijkste problemen die van "enigszins opgelost" naar "grotendeels opgelost" gaan. De moeilijkste problemen verbeteren nauwelijks. Dit verschil noemen we het Matthew-effect.

Het Matthew-effect in andere domeinen

Dit effect is niet beperkt tot wiskunde RL voor LLM's. We hebben code RL en agentic RL geëvalueerd met behulp van Deepcoder en DeepSWE. We gebruikten het initiële model om benchmarks op te splitsen in moeilijkheidsgraden (bijv. Deepseek-R1-Distilled-Qwen-14B op LCBv6) of gebruikten bestaande labels voor taaklengte en moeilijkheid (SWEBench).

De winst vanuit RL is proportioneel aan hoe makkelijk de problemen zijn. We koppelen deze bias aan een vergelijkbaar fenomeen uit de netwerkwetenschap en economie, het Matthew-effect, wat over het algemeen wordt samengevat als "de rijken worden rijker".

Definitie van het Matthew-effect in RL voor LLM's:

RL verbetert de prestaties op een taak in proportie tot de initiële competentie van het model — waardoor makkelijke taken makkelijker worden, terwijl moeilijke taken vaak moeilijk blijven.

Wat veroorzaakt het Matthew-effect?

Je zou kunnen aannemen dat het probleem te maken heeft met GRPO. Als we in onze $k$ gesamplede voltooiingen geen correct antwoord vinden voor een probleem, krijgen we geen gradiënt en kunnen we op dat specifieke probleem niet verbeteren. Dit wordt ook wel signal loss genoemd.

Een mogelijke oplossing is om meer voltooiingen te samplen, oftewel een grotere $k$ te gebruiken.

Om dit te testen, hebben we Qwen 2.5 0.5B Instruct getraind met GRPO op GSM8k platinum. We verdeelden de dataset in moeilijkheidsniveaus (makkelijk 25%, gemiddeld 10%, moeilijk 5% en extra-moeilijk 0%) en varieerden $k$ over $\{4, 8, 16, 32\}$, terwijl de batchgrootte gelijk bleef.

Verrassend genoeg bleek een kleinere $k=4$ beter te zijn voor het oplossen van moeilijke problemen dan een grotere $k=32$. Specifiek was een setting van $n=64$ prompts en $k=4$ voltooiingen effectiever dan $n=8$ prompts en $k=32$ voltooiingen.

Waarom werkt een kleinere $k$ beter?

Omdat we elke prompt filteren waarvan de voltooiingen óf allemaal correct óf allemaal incorrect zijn, bestaat onze trainingsbatch altijd uit problemen waarbij sommige voltooiingen goed en andere fout zijn.

Een grotere $k$ vergroot de kans om een zeldzame correcte oplossing voor een zeer moeilijk probleem te vinden. Naïef zou je verwachten dat dit meer moeilijke problemen in de batch brengt. Echter, een grotere $k$ vergroot ook de kans om een zeldzame incorrecte oplossing te vinden voor een makkelijk probleem.

In het begin van de training vindt $k=32$ vaker zeldzame oplossingen voor moeilijke problemen. Maar na een omslagpunt (rond stap 200) presteert $k=4$ beter. Dit komt omdat $k=4$ een probleem filtert zodra het in 4/4 voltooiingen is opgelost, terwijl $k=32$ moet wachten tot 32/32 voltooiingen correct zijn. $k=4$ verspilt dus veel minder rekenkracht aan makkelijke problemen.

Vanwege onze opstelling voor asynchrone RL voor LLM's, wordt alle rekenkracht die we besparen door makkelijke problemen te filteren, gebruikt om te trainen op moeilijkere problemen. We stellen dat het probleem achter het Matthew-effect niet alleen een tekort aan sampling voor moeilijke problemen is, maar dat er te veel rekenkracht wordt besteed aan makkelijke problemen. We noemen dit signal efficiency.

Never Give Up (NGU) bij moeilijke problemen

Ons doel is om een kleine $k$ te gebruiken voor makkelijke problemen, maar een grote $k$ voor moeilijke problemen. We stellen een eenvoudige methode voor: Never Give Up.

De werkwijze is als volgt:

  1. Begin met het samplen van een kleine hoeveelheid $k$.
  2. Als een prompt binnen de eerste $k$ voltooiingen is opgelost: train erop.
  3. Als een prompt in $k/k$ voltooiingen volledig is opgelost: filter deze snel weg.
  4. Als alle voltooiingen fout zijn: met een waarschijnlijkheid $p$ "geven we niet op" en voegen we de prompt terug toe aan onze generator om $k$ extra voltooiingen te samplen.

We houden de oude voltooiingen bij en zodra het probleem is opgelost, trainen we op de volledige set van $k \times \text{rondes van NGU}$. Dit creëert een geometrische distributie voor het aantal samples; als we de prompt nooit oplossen, verwachten we gemiddeld $\frac{k}{1-p}$ samples te nemen.

Deze methode is impliciet adaptief. Terwijl curriculum learning de moeilijkheidsgraad vooraf vaststelt, zien we dat online adaptieve methoden beter werken, omdat makkelijke problemen tijdens de training moeilijker kunnen worden en vice versa. Op GSM8k presteert $k=4$ met NGU $p=0.9$ beter dan alle waarden van standaard GRPO met variërende $k$, vooral op de moeilijkste subset.

Asynchrone RL: Staleness en trucs voor NGU

Een mogelijk nadeel van deze methode is staleness (veroudering) van de voltooiingen. Als we meerdere rondes NGU nodig hebben voor één correcte voltooiing, zullen de initiële $k$ voltooiingen behoorlijk verouderd zijn tegen de tijd dat we erop trainen. Verouderde negatieven zijn bekend als problematisch voor LLM's en RL.

Het is daarom belangrijk om voltooiingen te filteren die boven een bepaalde leeftijdsdrempel $T$ uitkomen (waarbij $T=4$ optimaal bleek).

Dit introduceert een nieuw probleem: de GRPO-baseline. Zelfs als we niet trainen op een verouderde voltooiing, moeten we deze nog wel gebruiken in onze GRPO-baseline. Als we bijvoorbeeld 4 verouderde negatieve voltooiingen, 3 nieuwe negatieven en slechts 1 nieuwe positieve voltooiing hebben, moeten we de positieve voltooiing behandelen als het zeldzame fenomeen dat het is en de baseline op $\frac{1}{8}$ zetten.

Onze conclusie is dat het zinvol is om alle beschikbare samples te gebruiken voor de GRPO-baseline, zelfs als er niet op getraind wordt.

NGU op grotere schaal: Wiskunde

We hebben dit opgeschaald naar een grotere wiskundige RL-setup: DeepScaler met Qwen 3 4B base.

Bovenop een sterke GRPO $k=16$ baseline, verbetert NGU de prestaties verder, vooral op de moeilijkste subsets van onze AIME + BRUMO 2025 evaluatie. Het Matthew-effect blijft bestaan, maar we kunnen het mitigeren; NGU helpt bij het oplossen van moeilijkere vragen zonder de prestaties op makkelijke vragen te verslechteren.

NGU op een andere schaal: Code

Code RL verschilt fundamenteel van wiskunde omdat wiskunde meestal een binaire verifieerder heeft (goed of fout). Een codeerprobleem heeft veel tests, die binnen één probleem kunnen variëren in moeilijkheidsgraad.

We hebben dit getest op een uitdagende setup: Manufactoria. Standaard GRPO verbetert de prestaties, maar stagneert uiteindelijk: het verbetert sommige tests, maar slaagt er niet in om alle tests te passeren. Wanneer we de tests splitsen op moeilijkheid, zien we een duidelijk Matthew-effect. GRPO besteedt het grootste deel van het trainingssignaal aan het herhaaldelijk bezoeken van gedeeltelijk opgeloste tests van gemiddelde moeilijkheid, en oscilleert tussen het iets beter of slechter oplossen daarvan.

Met NGU werkt het anders: als onze eerste $k$ voltooiingen allemaal $\frac{7}{12}$ tests passeren, zal Never Give Up de volgende $k$ voltooiingen pas accepteren als ze méér dan $\frac{7}{12}$ passeren. Dit dwingt het model om iteratief beter te worden. Waar standaard GRPO stagneert, blijft GRPO + NGU steeds moeilijkere tests oplossen totdat het alle tests voor een gegeven probleem volledig passeert.

Het Matthew-effect is een vorm van Primacy Bias

Het Matthew-effect lijkt op een primacy bias, waarbij LLM's geneigd zijn bepaalde problemen op te lossen op basis van hun initiële staat. Dit verbindt het Matthew-effect met de Primacy Bias in Deep RL, waarbij trainingruns ontspoord kunnen raken door slechte vroege samples, mede door problemen met plasticiteit in neurale netwerken.

Wordt het Matthew-effect in RL voor LLM's veroorzaakt door plasticiteit? Kort gezegd: nee.

We startten vanaf een post-GRPO checkpoint na 6000 stappen dat al 3000 stappen stagneerde. We konden vervolgens ofwel trainen met een enkele beloning voor het passeren van alle tests (all-tests), of onze beloning per test behouden en NGU toevoegen (per-test NGU).

Beide methoden herstelden de prestaties sterk, zelfs na een periode op suboptimale data. Dit bewijst dat plasticiteit geen groot probleem is en dat LLM's over het algemeen kunnen herstellen van vroege slechte samples.

Beperkingen

De intuïtie achter Never Give Up is dat RL-training rekenkracht kan herverdelen door makkelijke problemen snel te filteren. Als een taak dus zwaar leunt naar zeer moeilijke problemen, zal NGU waarschijnlijk niet effectief zijn.

Daarnaast kan het proces van "samplen, wachten, opnieuw samplen" langer duren om een hele groep voltooiingen af te ronden dan wanneer men direct $\frac{k}{1-p}$ samples neemt. Dit betekent dat vroege samples meer off-policy zijn dan nodig, wat kan leiden tot een slechter leersignaal en een lagere leersnelheid. Echter, als je al een redelijke $k$ kent voor je datadistributie, kan NGU zeer effectief zijn.

Conclusie

We hebben het Matthew-effect in RL voor LLM's belicht en aangetoond dat standaard RL leidt tot onevenredig slechte prestaties bij de moeilijkste problemen. Dit laat zien dat eenvoudige scalaire waarden mogelijk onvoldoende zijn voor nauwkeurige evaluaties van LLM's.

Onze voorgestelde oplossing, Never Give Up, is een eenvoudige methode voor een betere allocatie van rekenkracht. De kern is het verminderen van de rekenkracht die aan makkelijke problemen wordt besteed, om deze te herverdelen naar moeilijkere problemen. Toekomstig werk zou complexere multi-stap, agentische omgevingen moeten onderzoeken om een dieper begrip te krijgen van hoe RL in de praktijk de distributie van het model verandert.

Erkenningen

Bedankt aan mijn co-auteurs: Hamish, Nathan en Aaron! En aan al mijn vrienden die ik lastigviel voor advies: Costa, Sam, Finbarr, Dima en Adrien. Dank aan Ai2 voor de rekenkracht, de stickers en de geweldige collega's. Alle grafieken zijn gemaakt met plotly, dankzij mijn robotvrienden Sonnet en Sol.

Citatie

@misc{noukhovitch_ngu_2026,
title = {Learning to Solve Hard Problems in RL for LLMs by Never Giving Up},
url = {https://arxiv.org/abs/2609.13443},
author = {Noukhovitch, Michael and Ivison, Hamish and Lambert, Nathan and Courville, Aaron},
month = sep,
year = {2026},
}