Cos'è
Alcuni sistemi di addestramento riportano, accanto alla loss DPO, un numero solitamente chiamato accuratezza delle preferenze (Hugging Face TRL lo registra come rewards/accuracies). Per ogni coppia pone una domanda a cui rispondere con un sì o un no: il modello ora classifica la risposta preferita al di sopra di quella non preferita, una volta che ciascuna viene confrontata con il modello di riferimento? Il valore riportato è la percentuale di coppie in cui la risposta è sì.
Come viene calcolata
Ricordi la ricompensa implicita della DPO: β moltiplicato per il logaritmo di quanto il modello addestrato ritenga una risposta più probabile rispetto al modello di riferimento. Ogni coppia ne ha due, una per lato, e il margine è la ricompensa scelta meno quella rifiutata.
margin = reward(chosen) − reward(rejected)
correct = margin > 0
accuracy = (pairs with margin > 0) ÷ (all pairs)Al primissimo passaggio il modello addestrato è uguale al riferimento, quindi ogni margine è esattamente 0. Nei primi aggiornamenti i margini sono minuscoli e di segno quasi casuale, per cui l'accuratezza si aggira intorno al 50%: il lancio di una moneta. Con il procedere dell'addestramento i margini si ampliano e, se le coppie stanno insegnando qualcosa, la maggior parte di essi si sposta a destra dello zero.
- Dopo un'epoca, dieci coppie presentano margini di 0,9, 0,6, 0,5, 0,4, 0,3, 0,2, 0,1, 0,05, −0,1 e −0,3.
- Otto sono superiori a zero, quindi l'accuratezza delle preferenze è 8 ÷ 10 = 80%.
- Il margine medio è 2,65 ÷ 10 = 0,265: positivo, ma modesto.
- Immagini ora un'esecuzione in cui tutti e dieci i margini sono pari a 0,02. L'accuratezza è del 100%, eppure la loss è ancora 0,68: ogni coppia è classificata correttamente per un soffio. L'accuratezza conta i vincitori; la loss e il margine indicano con quale scarto.
Interpretarla insieme alla loss
| Accuratezza | Loss | Lettura |
|---|---|---|
| Circa il 50% | Circa 0,69 | Non è stato ancora appreso nulla, oppure le coppie sono troppo sottili per essere separate dal modello. |
| In costante aumento | In costante diminuzione | L'andamento corretto: il modello sta apprendendo la preferenza. |
| 100% in fase iniziale | Vicino a 0 | Le coppie sono semplici o memorizzate. Ne verifichi la varietà e la difficoltà; consideri un numero inferiore di epoche o un β più alto. |
| Alta | Ancora vicina a 0,6 | Coppie classificate correttamente, ma con margini minuscoli: il modello si è mosso a malapena. |
| Inferiore al 50% | Superiore a 0,69 | Il modello sta apprendendo l'opposto. Verifichi se le etichette sono state invertite. |
Si aspetti che la curva sia irregolare. L'accuratezza viene spesso registrata per batch, e un batch di 8 coppie può ottenere solo lo 0%, il 12,5%, il 25% e così via, quindi le singole letture oscillano ampiamente. Osservi la tendenza su molti passaggi, o il valore per epoca, piuttosto che un singolo punto. Con pochissime coppie complessive, un piccolo numero di coppie che cambia segno sposta notevolmente il valore senza avere un grande significato.
Cosa non misura
L'accuratezza delle preferenze viene calcolata sulle coppie fornite, le cui risposte erano già state scritte. Non esamina mai ciò che il modello scrive ora. Uno studio del 2024 ha misurato un parametro correlato (ovvero se un modello assegni direttamente una probabilità maggiore alla risposta migliore, senza un riferimento) e ha scoperto che la maggior parte dei modelli all'avanguardia ottimizzati per le preferenze lo fa in meno del 60% dei casi sui dataset di preferenze comuni, in parte perché la DPO fatica a correggere persino i lievi errori di classificazione che il modello di partenza aveva già commesso. Un numero elevato sulle coppie di addestramento indica che l'esecuzione ha funzionato meccanicamente; non è una misura della qualità delle risposte.
Se l'accuratezza viene riportata anche sulle coppie tenute da parte, tale numero è più informativo rispetto a quello di addestramento, poiché mostra se la preferenza si trasferisce a coppie su cui il modello non è stato addestrato. L'ultima parola spetta comunque a una valutazione in cui il modello genera le proprie risposte.
Errori comuni
- Interpretare un'accuratezza di addestramento del 100% come un successo. Con coppie poche o semplici è un risultato atteso, e può indicare una memorizzazione.
- Interpretare l'accuratezza senza la loss o il margine: una classificazione corretta per un soffio o con ampio margine contano entrambe come esatte.
- Confrontare l'accuratezza tra dataset diversi. Coppie più difficili e sottili producono naturalmente numeri inferiori.
- Considerarla come una valutazione. Non esamina mai le risposte generate dal modello.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01DPO TrainerHugging Face TRL docs · huggingface.coDefinisce rewards/accuracies e rewards/margins così come registrati durante l'addestramento DPO.
- 02Direct Preference Optimization: Your Language Model is Secretly a Reward ModelRafailov et al., 2023 · arXiv · arxiv.orgDa dove deriva la ricompensa implicita alla base di questa metrica.
- 03Preference Learning Algorithms Do Not Learn Preference RankingsChen et al., 2024 · arXiv · arxiv.orgCon quale frequenza i modelli ottimizzati per le preferenze posizionano effettivamente più in alto la risposta migliore, e perché la DPO raramente corregge gli errori di classificazione esistenti.
- 04Zephyr: Direct Distillation of LM AlignmentTunstall et al., 2023 · arXiv · arxiv.orgAccuratezza di addestramento perfetta dopo un'epoca DPO, e cosa ha significato e non ha significato per il modello finale.