Risorse/Addestramento del modello/Metodi di addestramento

Metrica

Interpretare la loss DPO

La loss DPO misura con quanta chiarezza il modello preferisca ora la risposta migliore in ogni coppia, rispetto al punto di partenza. Inizia a ln 2 ≈ 0,693 e scende verso 0 man mano che la preferenza viene appresa.

Capitolo 7Lettura di 4 min4 riferimenti

Cos'è

Durante un'esecuzione di preferenza, il trainer riporta una loss, per passaggio o per epoca, e talvolta anche su coppie trattenute. Risponde a una domanda: in media, con quanta sicurezza la ricompensa implicita del modello classifica la risposta preferita al di sopra di quella non preferita, rispetto al punto di partenza del modello?

Sembra una loss supervisionata ma non ha lo stesso significato. La loss supervisionata è l'entropia incrociata sui token e può iniziare da qualsiasi valore, spesso superiore a 1. La loss DPO è una loss di classificazione per coppia con un valore di partenza fisso e un limite inferiore pari a 0. Le due non sono comparabili.

Perché inizia da 0.693

Al primo passaggio, il modello in fase di addestramento e il modello di riferimento sono identici. Ogni rapporto logaritmico è 0, quindi ogni margine è 0, σ(0) = 0.5 e la loss è −ln 0.5 = ln 2 ≈ 0.693: la loss del lancio di una moneta. Questo vale per ogni dataset e ogni modello, rendendolo un utile controllo di coerenza. I primi valori registrati dovrebbero attestarsi a 0.69 o poco meno; una partenza molto lontana da questo valore di solito indica che il riferimento non è il modello di partenza, oppure che è in uso una variante diversa della loss.

Step 0
step 0:  model = reference
         every log-ratio = 0  →  margin = 0
         loss = −ln σ(0) = −ln 0.5 = ln 2 ≈ 0.693

Gli andamenti da riconoscere

0.690.30INIZIO: LN 2 ≈ 0.693step di addestramento →quasi invariataapprendimentotroppo semplice?
Ogni esecuzione DPO inizia a ln 2 ≈ 0.693, la perdita del lancio di una moneta. Ciò che accade in seguito indica se le coppie stanno insegnando qualcosa e se sono troppo semplici.
Cosa si osservaCosa significa solitamenteCosa fare
Rimane intorno a 0.6–0.7Le coppie hanno modificato a malapena il modello. Comune con poche coppie, o quando le due risposte differiscono solo leggermente.Aggiungere coppie e rendere più chiara la differenza tra le risposte; solo a quel punto prendere in considerazione un β inferiore o un'altra epoca.
Scende costantemente, ad es. a 0.3Il modello sta apprendendo la preferenza.Valutare rispetto al modello iniziale per verificare che le risposte siano realmente migliorate.
Scende quasi a 0 molto rapidamenteLe coppie sono troppo semplici (la risposta peggiore è palesemente errata), oppure il modello le sta memorizzando.Utilizzare coppie più varie o complesse, un numero inferiore di epoche o un valore β più alto.
Sale oltre 0,69In media, il modello ora classifica le coppie in modo inverso rispetto al punto di partenza.Verificare che le risposte preferite e non preferite non siano invertite; ridurre il tasso di apprendimento.

Interpretare i numeri

Poiché la loss per una coppia è −ln σ(β × margine), ogni valore corrisponde a un livello di accordo tra il modello e l'etichetta:

Lossσ: accordo con l'etichettaβ × margine
0.6930.50 (lancio della moneta)0
0.510.600.4
0.300.741.05
0.100.902.25
0.010.994.6

La loss riportata è una media sulle coppie, quindi un valore intermedio può nascondere una divisione: la maggior parte delle coppie è stata appresa bene e alcune sono state classificate in modo errato. Ecco perché i trainer spesso riportano l'accuratezza della preferenza (la percentuale di coppie classificate correttamente) e il margine di ricompensa medio insieme ad essa.

Una media che nasconde una divergenza
  1. Quattro coppie terminano l'addestramento con un margine × β pari a 2.0, 2.0, 2.0 e −1.0.
  2. Le loro loss sono 0.13, 0.13, 0.13 e 1.31.
  3. La media è 0.42, il che indica un progresso moderato. In realtà, tre coppie sono state apprese e una è fermamente classificata nel modo sbagliato. Vale la pena leggere quella coppia: potrebbe essere etichettata in modo errato.

Cosa non può dirLe la loss

  • Se le risposte sono migliorate. La loss viene calcolata su coppie fisse, non sulle risposte generate dal modello. Un modello può separare perfettamente le coppie e, ciononostante, rispondere peggio a nuove domande.
  • In che direzione si sono mosse le probabilità. La loss diminuisce se la risposta scartata diventa meno probabile, anche quando lo diventa pure quella scelta. I ricercatori hanno scoperto che la probabilità della risposta scelta spesso diminuisce durante la DPO (“likelihood displacement”), e la documentazione di TRL nota che il divario viene tipicamente ampliato più dalla soppressione delle risposte scartate che dall'innalzamento di quelle preferite.
  • Se l'overfitting è dannoso. Nel report di Zephyr, la fase di DPO ha mostrato un forte overfitting dopo un'epoca (accuratezza perfetta sul set di addestramento), eppure ciò non ha compromesso i risultati dei benchmark, e il modello migliore è stato ottenuto dopo tre epoche di DPO. Tuttavia, quando il modello supervisionato era stato addestrato per più di un'epoca, un addestramento DPO più lungo ha causato una regressione. Le curve di addestramento non sono riuscite a distinguere questi casi; le valutazioni sì.

L'accuratezza dei token, mostrata per le esecuzioni supervisionate, non è una misura dell'apprendimento delle preferenze, pertanto non viene mostrata per la DPO.

Errori comuni

  • Confrontare una loss DPO con una loss supervisionata. Formule diverse, scale diverse.
  • Confrontare le loss DPO tra esecuzioni con β diversi.
  • Festeggiare una loss vicina a 0. Con coppie poche o facili è il risultato atteso, e spesso un segno di memorizzazione.
  • Non accorgersi delle etichette scambiate. Una loss che sale oltre 0.69 di solito indica che le opzioni preferite e non preferite sono state invertite da qualche parte.
  • Fermarsi alla curva. Solo una valutazione rispetto al modello di partenza mostra se le risposte sono migliorate.

Riferimenti e letture di approfondimento

Le fonti esterne si aprono in una nuova scheda.

  1. 01Direct Preference Optimization: Your Language Model is Secretly a Reward ModelRafailov et al., 2023 · arXiv · arxiv.orgDefinisce la loss e spiega in che modo il suo gradiente pondera ciascuna coppia.
  2. 02DPO TrainerHugging Face TRL docs · huggingface.coElenca i log generati da un trainer DPO: loss, reward impliciti, margini e accuratezze.
  3. 03Unintentional Unalignment: Likelihood Displacement in Direct Preference OptimizationRazin et al., 2024 · arXiv · arxiv.orgPerché la probabilità della risposta preferita può diminuire durante la DPO e quali coppie ne sono la causa.
  4. 04Zephyr: Direct Distillation of LM AlignmentTunstall et al., 2023 · arXiv · arxiv.orgUn'esecuzione pratica di SFT seguita da DPO, che include gli effetti dell'overfitting nella fase DPO e ciò che non ha comportato.

Trasformate settimane di lavoro esperto in pochi minuti

Scoprite come Scalata si adatta al vostro team, ai vostri dati e ai vostri Controlli.

Contatta il team vendite