Ricerca · 2026-10-24 · Tutta la ricerca
+23 punti su un modello aperto da 70B, senza nuovi dati umani. Cosa fa RLVR, e cosa non fa.
Abbiamo portato Apertus-70B dal 41.6% al 64.8% su problemi di programmazione mai visti in un solo round, lasciando che il modello imparasse soltanto dalle proprie risposte che superavano i test. Abbiamo anche trovato dove il metodo si ferma.

Photo: Nemuel Sereti / Pexels
Apertus-70B è il modello completamente aperto della Swiss AI Initiative: pesi, dati di addestramento e ricetta sono tutti pubblici. I suoi autori lo hanno allineato sulle preferenze umane. Non era mai stato addestrato con l'apprendimento per rinforzo da ricompense verificabili, la tecnica dietro gran parte dei progressi recenti nella programmazione e nella matematica.
Questo lo rendeva un banco di prova pulito. Se applichiamo il metodo a un modello che non l'ha mai visto, di quanto si sposta, e cosa esattamente si sposta?
In un solo round, su problemi di programmazione mai visti, è passato dal 41.6% al 64.8%. Questo articolo racconta come, e i tre punti in cui il metodo ha smesso di funzionare, perché sono utili quanto il risultato principale.
Prima, cosa non ha funzionato: insegnare con gli esempi
Il modo intuitivo per rendere un modello più bravo a ragionare è mostrargli buoni ragionamenti. Abbiamo preso soluzioni svolte di alta qualità da modelli più forti e ci abbiamo addestrato Apertus con fine-tuning.
È peggiorato, e peggiorava quanto più lo addestravamo. Su un set di problemi recenti di programmazione competitiva, il modello base ne risolveva il 24%. Dopo 8,000 esempi ne risolveva il 14%. Dopo 37,000, il 10%.
Abbiamo controllato i dati, ed erano puliti. Il problema era cosa il modello ne imparava. Imparava a sembrare il modello più forte: spiegazioni sicure e ben strutturate, seguite da codice che non funzionava. L'imitazione insegna lo stile. Non insegna la capacità che c'è sotto.
Cosa ha funzionato: imparare solo dalle proprie risposte che passano
L'alternativa ribalta la fonte dei dati di addestramento. Invece di imparare dalle soluzioni di qualcun altro, il modello:
- genera diversi tentativi per ogni problema,
- fa verificare automaticamente ogni tentativo, eseguendo i test o confrontando la risposta finale,
- tiene solo i tentativi che sono passati,
- viene addestrato su quelli.
Niente entra nel set di addestramento se non è stato verificato come corretto, e tutto ciò che contiene viene dal modello stesso. È tutta qui l'idea alla base di RLVR: la ricompensa non è l'opinione di un giudice, è un test su cui non si discute.
Sulla matematica di livello scolastico (GSM8K), il primo round ha portato Apertus dal 65.2% al 74.6%, un guadagno di 9.4 punti. Stessa meccanica dell'esperimento di imitazione. L'unica differenza era da dove venivano i dati.
Il numero che ci ha indicato la direzione
Prima di investire sulla programmazione, ci siamo posti una semplice domanda diagnostica: il modello è incapace di scrivere questo codice, o solo inaffidabile nel farlo?
Le due cose sembrano identiche se si lascia rispondere il modello una volta sola. Appaiono molto diverse se gli si concedono 24 tentativi. Su un benchmark di programmazione standard, Apertus risolveva il 38.2% al primo tentativo, ma il 62.4% dei problemi almeno una volta su 24 tentativi.
Quel divario di 24 punti è la chiave. La capacità c'era già; il modello semplicemente non la esprimeva in modo costante. Significava che non ci serviva un costoso pre-addestramento aggiuntivo. Dovevamo trasformare "a volte" in "in modo affidabile".
Il risultato: +23.2 punti in un round
Abbiamo costruito un pool di 8,445 problemi Python verificati, ciascuno con i propri test, e abbiamo rimosso tutto ciò che si sovrapponeva ai nostri set di valutazione. Apertus ha generato i tentativi, ogni tentativo è stato eseguito contro i suoi test, e 11,727 soluzioni corrette sono diventate il set di addestramento.
Su problemi mai visti, della stessa distribuzione:
| Successo al primo tentativo | |
|---|---|
| Apertus-70B, come rilasciato | 41.6% |
| Dopo un round di auto-addestramento verificato | 64.8% |
È il guadagno più grande dell'intero progetto, da un solo round, senza nuovi dati scritti da persone.
Dove si ferma
Tre risultati definiscono i limiti del metodo. Pensiamo che contino più del risultato principale per chiunque intenda usarlo.
Il guadagno appartiene al tipo di problema su cui ci si addestra. Lo stesso modello migliorato, valutato su un benchmark di programmazione scritto in uno stile diverso, non è migliorato affatto: 38.2% prima, 37.8% dopo. Il modello è diventato molto più bravo sui problemi su cui si era esercitato, non nella programmazione in generale. La regola pratica è semplice e rigida: addestrare sulla distribuzione su cui si verrà valutati, e per un'azienda questo significa sui propri compiti.
Funziona una volta, non ripetutamente. Un secondo round sul pool di programmazione non ha prodotto nulla: dal 64.8% al 64.0%. Sulla matematica, il secondo round ha aggiunto solo 1.4 punti. Il metodo converte in prestazioni il divario tra "a volte" e "in modo affidabile", e fa gran parte del lavoro al primo passaggio. L'entità del guadagno è all'incirca l'ampiezza del divario di partenza. Andare oltre richiede problemi più difficili o una tecnica diversa, non più dello stesso.
Altro addestramento sugli stessi tentativi lo peggiora. Quando abbiamo riutilizzato un unico lotto di tentativi generati per diversi passaggi di addestramento, le prestazioni sono calate costantemente, dal 76.0% al 74.8%. Dopo il primo passaggio il modello non è più quello che ha prodotto quei tentativi, quindi sta imparando da dati superati. La soluzione è rigenerare tentativi nuovi a ogni round invece di riutilizzare quelli vecchi.
Cosa significa per un'azienda
Il metodo è generale. Qualsiasi modello aperto, qualsiasi compito in cui una risposta si possa verificare automaticamente: codice che deve superare dei test, cifre che devono corrispondere a una fonte, un documento che deve rispettare un insieme di regole. La maggior parte delle aziende ne ha più di quanto pensi.
Fissa anche aspettative oneste. RLVR non trasformerà un modello in qualcosa che non sapesse già fare in una buona giornata. Ciò che fa è rendere la buona giornata la norma, esattamente sul lavoro che vi interessa. Per la maggior parte degli usi aziendali, è la differenza tra una demo e uno strumento.
Dove è stato eseguito
Addestrare così un modello da 70 miliardi di parametri significa generare e verificare centinaia di migliaia di tentativi. L'abbiamo eseguito su LUMI, il supercomputer EuroHPC ospitato da CSC a Kajaani, in Finlandia, su acceleratori AMD MI250X, nell'ambito di un'allocazione assegnata tramite valutazione competitiva dalla EuroHPC Joint Undertaking (AI Factory Playground, EHPC-AIF-2026PG01-685).
Ringraziamo la EuroHPC Joint Undertaking per aver concesso a questo progetto l'accesso al supercomputer EuroHPC LUMI, ospitato da CSC (Finlandia) e dal consorzio LUMI, tramite il bando EuroHPC AI Factory Playground Access.
Addestriamo con fine-tuning, potiamo e valutiamo modelli aperti per il tuo codice, i tuoi documenti o il tuo settore, e li installiamo su un'infrastruttura che controlli tu.
Parliamone