Proximal Policy Optimization (PPO)
PPO (Proximal Policy Optimization) è un algoritmo di apprendimento per rinforzo utilizzato per migliorare la qualità dei testi generati da un LLM. In questo contesto, l'LLM è considerato la "policy" perché prende decisioni su quale parola generare successivamente, proprio come una policy detta le azioni nell'apprendimento per rinforzo.
Componenti Chiave
- Policy (LLM): Riceve un prompt come input e genera testo token per token.
- Critic (Funzione Valore): Stima la ricompensa futura di un testo parzialmente generato. È come un aiutante del modello di ricompensa. Si chiede: "Dato l'attuale testo parziale, quanto pensiamo che sarà buona la storia finale, secondo il modello di ricompensa?". Questo è cruciale perché il modello di ricompensa assegna punteggi solo alle storie complete.
- Stati e Azioni: "Stato" si riferisce al contesto attuale (prompt + parole già generate). "Azione" è la parola successiva che l'LLM sceglie.
- Modello di Ricompensa: Un modello separato, addestrato a predire la qualità del testo generato dall'LLM principale. Può essere un LLM più piccolo, una rete neurale più semplice o una combinazione di regole e componenti appresi.
Workflow PPO
- Genera Risposte: L'LLM genera diverse storie per lo stesso prompt.
- Valuta Risposte: Il modello di ricompensa assegna un punteggio alle storie complete.
- Calcola i Vantaggi (GAE - Generalized Advantage Estimation): Questo passaggio stima quanto un'azione (la scelta di una parola specifica) sia migliore rispetto all'azione media che l'LLM intraprenderebbe in quello stato. GAE utilizza le previsioni del critic per calcolare questo vantaggio. Il critic è fondamentale qui, poiché stima quanto sarà buona la storia finale da qualsiasi punto del processo di scrittura. Questo aiuta a guidare gli aggiornamenti PPO anche quando non abbiamo ancora scritto l'intera storia.
- Ottimizza la Policy (LLM): Aggiorna i parametri dell'LLM per aumentare la probabilità di generare testo con vantaggi maggiori (ovvero testo che porta a ricompense più elevate). PPO utilizza un "obiettivo surrogato ritagliato" (clipped surrogate objective) per stabilizzare l'addestramento e prevenire cambiamenti drastici all'LLM. Inoltre, una penalità KL impedisce alla policy di discostarsi troppo dal modello iniziale e un bonus di entropia incoraggia l'esplorazione. Aggiorna il Critic: Addestra il critic a prevedere meglio la ricompensa finale del testo parzialmente generato. Impara dai punteggi del modello di ricompensa delle storie complete.
Esempio Concreto
Immaginiamo di voler addestrare un LLM a scrivere brevi storie. Il prompt potrebbe essere "Scrivi una breve storia su un gatto". L'LLM genererà diverse storie, e il modello di ricompensa assegnerà un punteggio a ciascuna di esse, basandosi su quanto bene corrispondono alle preferenze umane (ad esempio, coerenza, creatività, grammatica). PPO utilizza questi punteggi per aggiornare l'LLM, in modo che generi storie migliori in futuro.