Perché la loss non è sufficiente
Nell'addestramento supervisionato si osserva la perdita diminuire. Nel fine-tuning per rinforzo la perdita è una guida inaffidabile: i dati cambiano a ogni fase perché il modello scrive nuove risposte e i vantaggi vengono ricentrati sullo zero in ogni gruppo, quindi la perdita riportata può oscillare vicino allo zero sia che il modello migliori, sia che non lo faccia. I segnali utili riguardano le risposte: il loro punteggio, quanto differiscono e quanto sono lunghe.
Le metriche
Il punteggio medio del valutatore sulle risposte della fase, su una scala da 0 a 1. Dovrebbe tendere al rialzo, pur con delle oscillazioni, poiché ogni fase presenta prompt diversi. Piatto o in calo significa che il modello non sta trovando risposte migliori: il compito potrebbe essere troppo complesso, il valutatore troppo rumoroso o il tasso di apprendimento troppo basso. In rapida ascesa verso 1 merita sospetto finché non si sono lette le risposte. TRL lo registra come reward; in presenza di più funzioni di ricompensa, ciascuna ottiene anche la propria riga.
La percentuale di risposte che hanno raggiunto la lunghezza massima e sono state tagliate (completions/clipped_ratio in TRL). Una risposta tagliata è solitamente incompleta e ottiene un punteggio basso, quindi un tasso elevato spreca gran parte della fase e può spingere il modello a essere conciso per il motivo sbagliato. Aumentare il limite, o richiedere risposte più brevi nel prompt di sistema. Da non confondere con il troncamento dell'aggiornamento nell'obiettivo di GRPO, che viene registrato separatamente.
Quanto differiscono i punteggi. La deviazione standard della ricompensa è la dispersione dei punteggi (TRL la calcola sull'intero batch). La frazione a deviazione standard zero (frac_reward_zero_std) è la percentuale di prompt le cui N risposte hanno ottenuto tutte lo stesso punteggio; quei prompt non producono alcun aggiornamento. Una dispersione vicina allo zero, o una frazione a deviazione standard zero vicina a 1, significa che l'esecuzione è in stallo: ogni risposta è ugualmente buona o ugualmente cattiva. Scalata mostra il complemento come prompt con un segnale.
La lunghezza media della risposta in token (completions/mean_length). Una certa variazione è normale: in compiti di ragionamento complessi le risposte crescono legittimamente man mano che il modello impara a elaborare più a lungo, come è successo con DeepSeek-R1-Zero. Nei compiti di chat, una lunghezza che aumenta di pari passo con la ricompensa di solito significa che il valutatore premia la lunghezza stessa, una forma di manipolazione della ricompensa. Una lunghezza che si riduce a zero con una ricompensa piatta può significare che il modello sta evitando le penalità dicendo poco.
Quando KL β è superiore a 0, TRL registra anche kl, la divergenza media dal modello di partenza. Un KL che continua a salire mentre la ricompensa ha smesso di migliorare indica che il modello sta ancora cambiando, ma non più in meglio.
Quando il provider esegue direttamente il valutatore (modelli di ragionamento ospitati), non condivide le risposte che ha valutato durante l'addestramento. Invece, ogni tot fasi pone una manciata di domande di validazione su cui il modello non si addestra mai e valuta le risposte con lo stesso valutatore. La fase 0 è il modello prima dell'addestramento, quindi ogni domanda diventa una piccola cronologia. Un punteggio basso alla fase 0 che poi sale è il segno più chiaro di un apprendimento che si consolida; una domanda a 1.00 dalla fase 0 non può mostrare miglioramenti; un calo in un singolo controllo è rumore di campionamento. La loro media, la ricompensa di validazione, merita più fiducia rispetto alla ricompensa di addestramento, per lo stesso motivo per cui la perdita di validazione è più affidabile della perdita di addestramento. I provider di solito salvano i checkpoint alle stesse fasi, quindi se i controlli smettono di migliorare a metà percorso, il checkpoint corrispondente potrebbe essere valido quanto il modello finale.
Leggere i grafici insieme
| Cosa si osserva | Significato probabile | Cosa fare |
|---|---|---|
| Ricompensa in aumento, dispersione sana, lunghezza stabile | Apprendimento in corso | Lasciare in esecuzione; confermare con una valutazione al termine |
| Ricompensa piatta vicino al minimo, la maggior parte dei prompt senza segnale | Ogni risposta è ugualmente pessima: nulla da rinforzare | Partire da un'esecuzione supervisionata o da un modello più grande; verificare che il valutatore funzioni |
| Ricompensa piatta vicino al massimo, la maggior parte dei prompt senza segnale | I prompt sono troppo facili: ogni risposta ottiene già un buon punteggio | Usare prompt più difficili, oppure fermarsi: c'è poco da guadagnare |
| Ricompensa e lunghezza in aumento insieme | Il valutatore predilige le risposte lunghe | Legga le risposte rinforzate; modifichi o combini il valutatore; riduca il limite di lunghezza |
| Tasso di troncamento elevato | Risposte interrotte al limite | Aumenti la lunghezza massima della risposta, o richieda risposte più brevi |
| Ricompensa in aumento, ma la valutazione è peggiore rispetto all'inizio | Manipolazione della ricompensa o deriva | Esegua l'addestramento per meno passaggi, aumenti il KL β, modifichi il valutatore |
- Passaggi 1–10: ricompensa 0,31 → 0,38, 80% dei prompt con un segnale, tasso di troncamento 2%, lunghezza circa 180 token. Sano.
- Passaggi 10–30: ricompensa 0,38 → 0,71, lunghezza 180 → 420 token, tasso di troncamento 2% → 18%. La ricompensa e la lunghezza aumentano insieme e le risposte iniziano a raggiungere il limite.
- Tre gruppi sulla pagina dell'esecuzione: le risposte verdi riformulano la domanda, elencano ogni possibile avvertenza e ripetono frasi dal riferimento. Il giudice ha apprezzato la completezza e nulla ha penalizzato il riempimento.
- Azione: esegua nuovamente con meno passaggi e un limite di lunghezza inferiore, oppure passi a un valutatore che controlla il contenuto in modo più rigoroso, quindi confermi con una valutazione che utilizza un giudice diverso.
Errori comuni
- Giudicare un'esecuzione RL dalla sua loss. Osservi invece la ricompensa, lo scarto e la lunghezza.
- Festeggiare una ricompensa vicina a 1 prima di leggere le risposte con il punteggio più alto.
- Ignorare il tasso di troncamento. Le risposte tagliate rovinano i punteggi di un'intera fase.
- Confrontare le ricompense tra esecuzioni con valutatori o giudici diversi. Le scale non sono le stesse.
- Fermarsi ai grafici. L'ultima parola spetta a una valutazione su domande escluse dall'addestramento, idealmente con un giudice diverso.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01GRPO TrainerHugging Face TRL docs · huggingface.coDefinizioni di reward, reward_std, frac_reward_zero_std, clipped_ratio e mean_length.
- 02Reinforcement fine-tuningOpenAI API docs · developers.openai.comLettura della ricompensa di addestramento e validazione in un job RFT ospitato.
- 03DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement LearningDeepSeek-AI, 2025 · arXiv · arxiv.orgLa lunghezza delle risposte è aumentata man mano che R1-Zero ha imparato a ragionare: un caso in cui più lungo era effettivamente meglio.
- 04Understanding R1-Zero-Like Training: A Critical PerspectiveLiu et al., 2025 · arXiv · arxiv.orgCome la perdita GRPO originale può gonfiare la lunghezza, specialmente per le risposte errate.