Cercetare · 2026-10-24 · Toate cercetările
+23 de puncte pe un model deschis de 70B, fără date umane noi. Ce face RLVR și ce nu face.
Am crescut Apertus-70B de la 41.6% la 64.8% pe probleme de programare nevăzute la antrenare, într-o singură rundă, lăsând modelul să învețe doar din propriile răspunsuri care au trecut testele. Am aflat și unde se oprește metoda.

Photo: Nemuel Sereti / Pexels
Apertus-70B este modelul complet deschis al Swiss AI Initiative: ponderile, datele de antrenare și rețeta sunt toate publice. Autorii lui l-au aliniat pe preferințe umane. Nu fusese niciodată antrenat prin învățare prin întărire cu recompense verificabile, tehnica din spatele majorității progreselor recente la programare și matematică.
Asta îl făcea un test curat. Dacă aplicăm metoda unui model care nu a mai văzut-o, cât de mult se mișcă și ce anume se mișcă?
Într-o singură rundă, pe probleme de programare nevăzute la antrenare, a urcat de la 41.6% la 64.8%. Articolul de față explică cum și descrie cele trei locuri în care metoda a încetat să funcționeze, pentru că sunt la fel de utile ca rezultatul principal.
Mai întâi, ce nu a funcționat: învățarea din exemple
Calea intuitivă de a face un model să raționeze mai bine este să-i arăți raționamente bune. Am luat soluții detaliate de înaltă calitate de la modele mai puternice și am făcut fine-tuning pe Apertus cu ele.
A ieșit mai prost și cu cât îl antrenam mai mult, cu atât ieșea mai prost. Pe un set de probleme recente de programare competitivă, modelul de bază rezolva 24%. După 8,000 de exemple rezolva 14%. După 37,000, rezolva 10%.
Am verificat datele și erau curate. Problema era ce învăța modelul din ele. A învățat să sune ca modelul mai puternic: explicații sigure pe ele, bine structurate, urmate de cod care nu funcționa. Imitația te învață stilul. Nu te învață abilitatea de dedesubt.
Ce a funcționat: înveți doar din propriile răspunsuri care trec
Alternativa inversează sursa datelor de antrenare. În loc să învețe din soluțiile altcuiva, modelul:
- generează mai multe încercări pentru fiecare problemă,
- își vede fiecare încercare verificată automat, prin rularea testelor sau compararea răspunsului final,
- păstrează doar încercările care au trecut,
- este antrenat pe acestea.
Nimic nu intră în setul de antrenare dacă nu a fost verificat ca fiind corect și tot ce se află în el provine de la modelul însuși. Asta e toată ideea din spatele RLVR: recompensa nu este opinia unui evaluator, ci un test cu care nu ai cum să te contrazici.
La matematică de nivel școlar (GSM8K), prima rundă a dus Apertus de la 65.2% la 74.6%, un câștig de 9.4 puncte. Același mecanism ca în experimentul cu imitația. Singura diferență a fost de unde veneau datele.
Cifra care ne-a arătat încotro s-o luăm
Înainte să investim în programare, am pus o întrebare simplă de diagnostic: modelul nu poate scrie acest cod sau doar nu e constant când îl scrie?
Cele două arată identic dacă îl lași pe model să răspundă o singură dată. Arată foarte diferit dacă îl lași să încerce de 24 de ori. Pe un benchmark standard de programare, Apertus rezolva 38.2% din prima încercare, dar 62.4% dintre probleme cel puțin o dată din 24 de încercări.
Diferența aceea de 24 de puncte este cheia. Abilitatea exista deja; modelul doar nu o producea constant. Asta însemna că nu aveam nevoie de un pre-training suplimentar scump. Aveam nevoie să transformăm „uneori” în „de fiecare dată”.
Rezultatul: +23.2 puncte într-o singură rundă
Am construit un set de 8,445 de probleme Python verificate, fiecare cu propriile teste, și am eliminat tot ce se suprapunea cu seturile noastre de evaluare. Apertus a generat încercări, fiecare încercare a fost rulată pe testele ei, iar 11,727 de soluții corecte au devenit setul de antrenare.
Pe probleme pe care nu le mai văzuse, din aceeași distribuție:
| Reușită din prima încercare | |
|---|---|
| Apertus-70B, în forma publicată | 41.6% |
| După o rundă de auto-antrenare verificată | 64.8% |
Este cel mai mare câștig din tot proiectul, dintr-o singură rundă, fără date noi scrise de oameni.
Unde se oprește
Trei constatări definesc limitele metodei. Credem că, pentru oricine plănuiește să o folosească, contează mai mult decât rezultatul principal.
Câștigul aparține tipului de probleme pe care antrenezi. Același model îmbunătățit, evaluat pe un benchmark de programare scris într-un alt stil, nu a progresat deloc: 38.2% înainte, 37.8% după. Modelul a devenit mult mai bun la problemele pe care le-a exersat, nu la programare în general. Regula practică este simplă și strictă: antrenează pe distribuția pe care vei fi evaluat, iar pentru o firmă asta înseamnă pe propriile sarcini.
Funcționează o dată, nu în mod repetat. O a doua rundă pe setul de programare nu a schimbat nimic: de la 64.8% la 64.0%. La matematică, a doua rundă a adăugat doar 1.4 puncte. Metoda transformă în performanță distanța dintre „uneori” și „de fiecare dată” și face cea mai mare parte din asta la prima trecere. Mărimea câștigului este aproximativ mărimea distanței de la care pornești. Ca să treci de acel punct ai nevoie de probleme mai grele sau de o altă tehnică, nu de mai mult din același lucru.
Mai mult antrenament pe aceleași încercări înrăutățește lucrurile. Când am refolosit un singur lot de încercări generate pentru mai multe treceri de antrenare, performanța a scăzut constant, de la 76.0% la 74.8%. După prima trecere, modelul nu mai este cel care a produs acele încercări, deci învață din date expirate. Soluția este să generezi încercări noi la fiecare rundă, nu să le refolosești pe cele vechi.
Ce înseamnă pentru o afacere
Metoda este generală. Orice model deschis, orice sarcină în care un răspuns poate fi verificat automat: cod care trebuie să treacă testele, cifre care trebuie să corespundă unei surse, un document care trebuie să respecte un set de reguli. Majoritatea firmelor au mai multe astfel de sarcini decât cred.
Totodată, stabilește așteptări oneste. RLVR nu va face dintr-un model ceva ce nu putea face deja într-o zi bună. Ce face este să transforme ziua bună în ziua obișnuită, exact pe munca ce te interesează. Pentru cele mai multe utilizări în business, aceasta este diferența dintre un demo și o unealtă.
Unde a rulat
Antrenarea astfel a unui model de 70 de miliarde de parametri înseamnă generarea și verificarea a sute de mii de încercări. Am rulat-o pe LUMI, supercomputerul EuroHPC găzduit de CSC în Kajaani, Finlanda, pe acceleratoare AMD MI250X, printr-o alocare acordată în urma unei evaluări competitive de EuroHPC Joint Undertaking (AI Factory Playground, EHPC-AIF-2026PG01-685).
Mulțumim EuroHPC Joint Undertaking pentru acordarea accesului la supercomputerul EuroHPC LUMI, găzduit de CSC (Finlanda) și consorțiul LUMI, prin apelul EuroHPC AI Factory Playground Access.
Adaptăm prin fine-tuning, tăiem și evaluăm modele deschise pentru codul, documentele sau domeniul tău și le punem în funcțiune pe o infrastructură pe care o controlezi tu.
Vorbește cu noi