Cominciamo descrivendo cosa dovrebbe fare la messa a punto ad alto livello. Una volta che si dispone di un modello pre-addestrato per avere forti capacità generative, in genere si desidera controllarne l’output in qualche modo. Che si tratti di ottimizzarlo per rispondere in dialogo come chat-bot o per rispondere in codice anziché in inglese, l’obiettivo qui è prendere un LLM che sia già funzionale e trovare un modo per essere più selettivi con il suo output. Poiché si tratta di apprendimento automatico, il modo in cui gli mostriamo il comportamento corretto è con i dati.
Ci sono alcuni termini chiave che definirò prima di iniziare ad immergerci negli aspetti tecnici:
Funzione di perdita — una funzione che utilizziamo come guida per ottimizzare le prestazioni del nostro modello. Questo viene scelto in base a ciò che è stato ritenuto efficace
KL Divergenza— sta per divergenza di Kullback-Leibler, che è un modo per misurare la differenza tra due distribuzioni di probabilità continue. Per saperne di più, c’è un meraviglioso post di Aparna Dhinakaran sull’argomento.
Politica – un’astrazione che descrive come una rete neurale prenderà decisioni. In altre parole, se una rete neurale viene addestrata 3 volte, ogni volta avrà una politica diversa, di cui è possibile confrontare le prestazioni.
Prima del DPO, dovevamo addestrare un modello completamente separato per aiutarci a mettere a punto, in genere chiamato modello di ricompensa o modello RLHF. Campionavamo i completamenti del nostro LLM e quindi il modello di ricompensa ci forniva un punteggio per ogni completamento. L’idea qui era semplice. È costoso che gli esseri umani valutino i risultati del tuo LLM, ma la qualità del tuo LLM sarà in definitiva determinata dagli esseri umani. Per mantenere bassi i costi e alta la qualità, addestreresti il modello di ricompensa per approssimare il feedback umano. Questo è il motivo per cui il metodo è stato chiamato Proximal Policy Optimization (o PPO) e vive o muore in base alla forza del modello di ricompensa.
Per trovare il modello di ricompensa ideale, assumiamo che le preferenze umane siano più probabilistiche che deterministiche, quindi possiamo rappresentarle simbolicamente nel modello Bradley-Terry come di seguito.
Andando variabile per variabile, p* significa che questa è la distribuzione di probabilità ottimale, o quella che il modello dovrebbe considerare come fonte di verità. y₁ e y₂ sono 2 completamenti del modello che confronteremo e x è la richiesta data a LLM. r* significa che la funzione di ricompensa è ottimale o, in altre parole, per addestrare il modello ad approssimare la distribuzione di probabilità ottimale, gli si assegnano le ricompense dalla funzione di ricompensa ottimale.
Tuttavia, la perfetta distribuzione di probabilità delle preferenze umane è difficile, se non impossibile, da conoscere. Per questo motivo, ci concentriamo sul modello di ricompensa, quindi dobbiamo trovare un modo per capire r*. Nell’apprendimento automatico, spesso utilizziamo la minimizzazione delle perdite per stimare problemi complessi. Se abbiamo accesso a dati di addestramento che ci mostrano quali sono veramente le preferenze umane, e quindi fornirebbero punteggi che fanno parte della distribuzione p*, allora possiamo utilizzare tali campioni per addestrare il modello di ricompensa come di seguito:
Qui rϕ è il modello di ricompensa che stiamo addestrando, D è un insieme di campioni su cui stiamo addestrando, yw è il completamento preferito e yl è il completamento non preferito. Gli autori hanno scelto di inquadrare il problema come un problema di classificazione binaria, di cui vedremo il motivo in seguito, ma per ora ricorda solo che questo è il motivo per cui abbiamo yw e sìl.
Una volta ottimizzato il nostro modello di ricompensa, lo utilizziamo per mettere a punto il LLM utilizzando una differenza tra la vecchia politica (π rif) e la nuova politica (π θ). È importante sottolineare che stiamo eseguendo una divergenza KL per evitare che il modello si sposti troppo.
Perché non vogliamo che si sposti troppo? Ricorda che il modello è già per lo più funzionale e sono state necessarie molte risorse di calcolo per raggiungere questo livello. Di conseguenza, vogliamo assicurarci che il modello mantenga molte delle caratteristiche positive che attualmente possiede, mentre ci concentriamo sul fatto che segua meglio le istruzioni.
Sebbene la metodologia di cui sopra sia efficace (LLaMa2, ad esempio, è stata messa a punto in questo modo), presenta un grosso punto debole: richiede l’addestramento di un modello completamente separato, che è costoso e richiede enormi quantità di dati aggiuntivi.
Il DPO elimina del tutto la necessità del modello di ricompensa! Ciò ci consente di evitare la formazione di un costoso modello di ricompensa separato e, incidentalmente, abbiamo scoperto che DPO richiede molti meno dati per funzionare bene come PPO.
Il salto principale deriva dal vincolo KL che ci siamo posti nell’equazione 3. Aggiungendo questo vincolo, possiamo effettivamente derivare la politica ideale che massimizzerà un modello di ricompense vincolato da KL. L’algebra è mostrata di seguito:
Per i nostri scopi, il punto più importante da tenere a mente è che ora abbiamo la seguente equazione per una politica π Rtale che la funzione di ricompensa r sia facilmente risolvibile.
Naturalmente risolviamo immediatamente per r
Ritornando alla nostra equazione di distribuzione di probabilità ideale (equazione 1), possiamo riscriverla in modo che ogni istanza di r sia sostituita dall’equazione 5.
Ciò che questo ha dimostrato è che non è necessario che il modello di ricompensa ottimizzi la politica per seguire la distribuzione di probabilità ideale delle preferenze umane. Invece, puoi lavorare direttamente sulla politica per migliorarla (da cui prende il nome l’ottimizzazione delle preferenze dirette). Stiamo utilizzando le probabilità generate dal tuo LLM per ciascun token per aiutarlo a perfezionarsi.
Per completare la derivazione, facciamo gli stessi calcoli che abbiamo fatto nell’equazione 3 per ottenere la nostra funzione di ottimizzazione delle perdite per ottimizzare la politica.
Era un sacco di algebra, ma l’equazione 7 è la più importante da capire, quindi analizzerò i pezzi più importanti. Ora abbiamo un’equazione che confronterà le probabilità politiche della vecchia politica (π rif) e la nuova politica (π θ) per un completamento vincente (yw) e un completamento perdente (yl). Quando li confrontiamo, stiamo ottimizzando in modo che yw è più grande, poiché ciò significherebbe che le politiche stanno migliorando nel fornire risposte vincenti piuttosto che risposte perdenti.
Innanzitutto, il DPO non richiede un modello di ricompensa! Hai semplicemente bisogno di dati di alta qualità in modo che il modello abbia una direzione chiara su ciò che è buono e ciò che è cattivo e migliorerà.
In secondo luogo, il DPO è dinamico. Ogni volta che utilizzi nuovi dati, questi si adatteranno immediatamente grazie al modo in cui individuano la giusta direzione da seguire. Rispetto al PPO, in cui devi riqualificare il tuo modello di ricompensa ogni volta che hai nuovi dati, questa è una grande vittoria.
In terzo luogo, il DPO consente di addestrare un modello a evitare determinati argomenti tanto quanto imparerà a dare buone risposte per altri. Un modo per concettualizzare la nuova equazione della perdita è come un segnale che indirizza la nostra formazione nella giusta direzione. Utilizzando sia il buon che il cattivo esempio, stiamo insegnando al modello a evitare determinate risposte tanto quanto gli diciamo di andare verso altre. Poiché gran parte della messa a punto prevede che il modello ignori determinati argomenti, questa funzionalità è molto preziosa.
Comprendere le conseguenze dei calcoli del DPO mi rende più ottimista riguardo al futuro dei LLM.
DPO richiede meno dati ed elaborazione rispetto a PPO, entrambi i quali contribuiscono in modo significativo al costo di creazione del proprio modello. Con questa riduzione dei costi, più persone saranno in grado di mettere a punto i propri modelli, dando potenzialmente alla società l’accesso a LLM più specializzati.
Inoltre, poiché la DPO richiede esplicitamente esempi buoni e cattivi, mentre la PPO richiede solo esempi buoni, è molto più efficace nel limitare il comportamento. Ciò significa che gli LLM possono essere resi molto più sicuri, un altro elemento che consentirà loro di aiutare la società.
Con forze come DPO che ci danno accesso a LLM di migliore qualità che possono essere formati più facilmente, è un momento incredibilmente entusiasmante per questo campo.
(1) R. Rafailov, et al., Ottimizzazione diretta delle preferenze: il tuo modello linguistico è segretamente una modalità di ricompensa (2023), arXiv
(2) A. Jiang, et al., Mixtral di esperti (2024)ArXiv
Fonte: towardsdatascience.com