🧠 Fondamenti15 minuti di lettura

RLHF e DPO: Come si Insegna all'AI a Non Dire Stupidaggini

RLHF e DPO trasformano un LLM grezzo in un assistente utile. Da InstructGPT a Llama 3, come si allinea un'intelligenza artificiale ai valori umani.

AS

Alessandro Saiani

Human in the Loop

RLHF e DPO: Come si Insegna all'AI a Non Dire Stupidaggini

Hai un modello con 175 miliardi di parametri. Ha letto internet. Sa completare qualsiasi frase. Ma se gli chiedi "come posso migliorare il mio CV?" potrebbe risponderti con una ricetta per il risotto, un insulto razzista, o le istruzioni per costruire una bomba.

Il pre-training insegna a un LLM a parlare. L'allineamento gli insegna a comportarsi.

Questo articolo spiega le due tecniche fondamentali dell'allineamento: RLHF (Reinforcement Learning from Human Feedback) e DPO (Direct Preference Optimization). La prima ha reso possibile ChatGPT. La seconda l'ha resa obsoleta per molti casi d'uso.

Perché un modello pre-addestrato non basta

GPT-3 base (175B parametri, 2020) era una macchina di completamento testo straordinaria. Ma aveva un problema: riproduceva fedelmente tutto ciò che aveva trovato su internet. Incluso il peggio.

I test di OpenAI hanno mostrato:

  • Bias di genere: pronomi femminili associati più spesso a parole come "naughty" o "sucked"
  • Bias religioso: "Islam" associato automaticamente a "terrorism", "Atheism" a "cool"
  • Bias razziale: prompt con riferimenti a persone nere producevano output significativamente più negativi

Il modello non era "cattivo". Era uno specchio fedele di internet. E internet non è un posto carino.

Il framework HHH

Anthropic ha formalizzato tre principi per definire un modello allineato:

  • Helpful (Utile): deve aiutare l'utente a raggiungere i propri obiettivi
  • Harmless (Innocuo): deve evitare di proporre azioni dannose
  • Honest (Onesto): deve fornire informazioni accurate e riconoscere l'incertezza

Facile da scrivere. Difficilissimo da implementare. Come insegni a una rete neurale la differenza tra "utile" e "dannoso"?

RLHF: la tecnica che ha creato ChatGPT

Un po' di storia

  • 2017: Paul Christiano, Dario Amodei e altri pubblicano "Deep Reinforcement Learning from Human Preferences". L'idea: usare il feedback umano per addestrare agenti RL su task dove la reward function è difficile da definire. Bastava circa un'ora di feedback umano per insegnare comportamenti complessi.
  • 2022: OpenAI pubblica il paper di InstructGPT — "Training language models to follow instructions with human feedback". È il paper che ha cambiato tutto.

La pipeline a 3 step

L'RLHF funziona in tre fasi:

Step 1 — SFT (Supervised Fine-Tuning)

Si raccolgono dimostrazioni umane: annotatori scrivono risposte ideali per un set di prompt. Il modello viene fine-tunato su queste risposte per imparare il "formato" desiderato.

Per InstructGPT: ~13.000 prompt, circa 40 contractors assunti tramite Upwork e ScaleAI.

Step 2 — Training del Reward Model

Per ogni prompt, il modello genera più risposte. Gli annotatori le classificano dalla migliore alla peggiore. Si addestra un modello separato — il Reward Model — per predire queste preferenze.

Per InstructGPT: ~33.000 prompt. L'accordo tra annotatori era del 72-77%.

Step 3 — PPO (Proximal Policy Optimization)

Si usa il Reward Model come funzione di reward per ottimizzare il LLM tramite reinforcement learning.

PPO in parole semplici: è un algoritmo RL che aggiorna il modello in modo conservativo. Ad ogni passo, limita quanto il modello può cambiare rispetto alla versione precedente (tramite una "clipping rule"). Questo previene aggiornamenti troppo grandi che manderebbero tutto a rotoli.

Per InstructGPT: ~31.000 prompt.

Il risultato che ha scioccato tutti

InstructGPT con 1.3 miliardi di parametri veniva preferito dagli umani rispetto a GPT-3 base con 175 miliardi di parametri — l'85% delle volte.

Un modello 100 volte più piccolo ma allineato batteva il gigante non allineato. L'allineamento non era un nice-to-have: era il fattore decisivo.

I problemi di RLHF

Se RLHF funziona così bene, perché cercarne alternative? Perché la pipeline è un incubo:

Costoso: Meta ha speso oltre $50 milioni e impiegato circa 200 persone per il post-training di Llama 3.1. Nel 2024 i costi di annotazione umana hanno superato quelli di calcolo di 3.1 volte.

Reward Hacking: il modello impara a "ingannare" il Reward Model. Produce risposte che ottengono punteggi alti senza essere realmente utili. In pratica: diventa bravissimo a convincerti di avere ragione, anche quando ha torto.

Mode Collapse: il fine-tuning RL riduce la diversità degli output. Il modello tende a produrre sempre le stesse risposte "sicure".

Instabilità: la pipeline richiede di bilanciare quattro modelli in memoria (policy, reference, reward model, value model) e decine di iperparametri. È intrinsecamente fragile.

DPO: l'alternativa che ha semplificato tutto

A maggio 2023, un team di Stanford pubblica un paper che cambia le regole del gioco:

"Direct Preference Optimization: Your Language Model is Secretly a Reward Model" — Rafailov, Sharma, Mitchell, Manning, Ermon, Finn (Stanford, NeurIPS 2023)

Con oltre 6.500 citazioni, è uno dei paper più influenti nella storia recente dell'AI.

L'intuizione chiave

Non hai bisogno di un Reward Model separato. Il language model stesso è già un reward model.

DPO dimostra che il reward usato nell'RLHF è implicitamente codificato nel rapporto tra le probabilità del modello che stai ottimizzando e quelle del modello di riferimento. Traduzione: puoi ottenere lo stesso risultato dell'RLHF con una semplice loss di classificazione, senza mai fare reinforcement learning.

Come funziona

  1. Si parte da un modello SFT (come nell'RLHF)
  2. Si raccolgono coppie di preferenze: per ogni prompt, una risposta "scelta" (quella buona) e una "rifiutata" (quella cattiva)
  3. Si ottimizza il modello con una loss function che aumenta la probabilità delle risposte preferite e diminuisce quella delle rifiutate

Niente Reward Model. Niente PPO. Niente loop RL. Un singolo step di ottimizzazione supervisionata.

La formula (per chi vuole capire)

Il reward implicito di DPO è:

r(x, y) = β × log[π_θ(y|x) / π_ref(y|x)]

Dove π_θ è il modello che ottimizzi, π_ref è il modello di riferimento (SFT), e β controlla quanto il modello può divergere.

La loss DPO diventa: per ogni coppia (risposta buona, risposta cattiva), calcola la differenza tra i reward impliciti e passala attraverso una sigmoide. Il modello viene spinto ad assegnare reward più alti alle risposte buone.

In pratica: è una classificazione binaria mascherata da allineamento. Elegante.

RLHF vs DPO

AspettoRLHF (PPO)DPO
Pipeline3 step (SFT + RM + PPO)1 step (loss supervisionata)
Reward ModelServe un modello separatoNon serve (implicito)
StabilitàInstabile (loop RL)Stabile (classificazione)
Modelli in memoria42 (policy + reference)
Iperparametri~12 per PPOPrincipalmente β
Costo computazionaleAltoSignificativamente inferiore

Chi usa DPO

  • Meta: Llama 2 usava RLHF. Llama 3 e 3.1 sono passati a DPO — multiple round di SFT + rejection sampling + DPO (sia offline che online). Llama 4 usa un "lightweight DPO" per i corner case.
  • Modelli open source: Zephyr, NeuralChat, e la maggior parte dei modelli community su Hugging Face
  • Applicabile a: praticamente qualsiasi modello transformer

I limiti di DPO

Non è perfetto:

  1. Solo dati offline: DPO standard lavora su un dataset fisso. Non può "esplorare" nuove strategie durante il training
  2. Overfitting rapido: senza feedback online, il modello può overfittare sul dataset di preferenze
  3. Qualità dei dati: coppie di preferenze mal curate portano a risultati scadenti

Oltre RLHF e DPO

Il campo non si è fermato. Ecco le tecniche emergenti:

Constitutional AI (Anthropic)

L'approccio di Anthropic per Claude è diverso da entrambi. Constitutional AI funziona in due fasi:

  1. Il modello genera risposte, poi si auto-critica basandosi su un set di principi (la "costituzione") e rivede le proprie risposte
  2. Un AI evaluator (non un umano) confronta coppie di risposte e genera etichette di preferenza. Queste vengono usate per addestrare un reward model con RL

Il risultato: un modello sia più utile che più innocuo, con zero etichette umane sulla sicurezza. Anthropic l'ha chiamato un "Pareto improvement" — miglioramento su entrambi gli assi contemporaneamente.

KTO: la loss ispirata a Kahneman

KTO (Kahneman-Tversky Optimization, ICML 2024) si ispira alla prospect theory: gli umani sono più sensibili alle perdite che ai guadagni. La novità: non servono nemmeno coppie di preferenze. Bastano dati non accoppiati — per ogni output, un semplice segnale binario "buono" o "cattivo". Performance comparabile a DPO da 1B a 30B parametri.

Le altre varianti

  • ORPO: elimina il modello di riferimento, combina SFT e preferenze in un unico obiettivo
  • SimPO: senza modello di riferimento, con normalizzazione per lunghezza
  • IPO: regolarizzazione contro l'overfitting, più robusto su dataset piccoli
  • SPIN: usa self-play per migliorare il modello senza reward model
  • GRPO: emergente per i modelli di ragionamento (usato da DeepSeek-R1)

Il trend attuale

Il post-training stack moderno non usa un singolo metodo. Usa una combinazione: Online DPO per l'allineamento principale, KTO o SimPO per specifici failure mode, Constitutional AI per la sicurezza. Llama 3.1 di Meta già usa DPO sia offline che online in fasi successive.

Il lato oscuro dell'allineamento

L'alignment tax

Allineare un modello ha un costo in termini di capacità. Per OpenLLaMA-3B, aumentare il reward di allineamento da 0.16 a 0.35 ha fatto scendere lo SQuAD F1 di 16 punti e il DROP F1 di 17 punti. Un paper del 2025 ("Safety Tax") dimostra che l'allineamento alla sicurezza degrada le capacità di ragionamento.

Il dibattito è aperto: sicurezza e capacità sono in trade-off, o è possibile migliorare entrambe? Nuove tecniche come NSPO (Null-Space Policy Optimization) cercano di ridurre questo tax proiettando i gradienti di sicurezza in spazi che non interferiscono con le capacità.

Alignment faking

La scoperta più inquietante: a dicembre 2024, Anthropic ha pubblicato un paper su alignment faking — modelli che fingono di essere allineati durante il training pur mantenendo preferenze diverse. Il modello, messo davanti a un conflitto tra le sue preferenze e gli obiettivi del training, adottava comportamenti strategici per "superare" il training senza cambiare davvero.

Il che ci porta a una domanda che non ha ancora risposta: come fai a sapere se il tuo modello è davvero allineato, o se sta solo facendo finta?

Il quadro completo

Ecco come si inseriscono RLHF e DPO nel percorso di addestramento di un LLM:

FaseCosa faEsempio
Pre-trainingImpara a parlare (predice la prossima parola)GPT-3 base
SFTImpara il formato delle risposteInstructGPT Step 1
RLHF o DPOImpara cosa dire e cosa noInstructGPT Step 2-3, Llama 3
Safety fine-tuningImpara i limiti (refusal, safety)Constitutional AI

Ogni fase costruisce sulla precedente. Non puoi fare DPO senza SFT, non puoi fare SFT senza pre-training, non puoi fare pre-training senza tokenizzazione. È una catena — e ogni anello conta.

Perché ti riguarda

Se sei uno sviluppatore che usa LLM, capire l'allineamento ti aiuta a:

  1. Capire i refusal: quando il modello rifiuta una richiesta legittima, sai che è l'allineamento che parla — e puoi riformulare il prompt
  2. Scegliere il modello giusto: modelli diversi hanno allineamenti diversi. Claude è più cauto, GPT più permissivo, Llama configurabile
  3. Fine-tunare con consapevolezza: se fai fine-tuning, sapere che DPO esiste e che bastano coppie di preferenze cambia l'approccio
  4. Non fidarti ciecamente: l'alignment faking esiste. Il modello potrebbe non essere allineato come pensi

L'RLHF ha reso possibile ChatGPT. DPO l'ha reso accessibile. Ma il problema dell'allineamento è tutt'altro che risolto.

Come ha scritto il team di Anthropic: insegnare a un'AI a non dire stupidaggini è facile. Insegnarle a non pensarle è un altro discorso.


Fonti

  1. Ouyang et al. — Training language models to follow instructions (InstructGPT, 2022)
  2. Rafailov et al. — Direct Preference Optimization (DPO, NeurIPS 2023)
  3. Christiano et al. — Deep RL from Human Preferences (2017)
  4. Bai et al. — Constitutional AI (Anthropic, 2022)
  5. Hugging Face — Illustrating RLHF
  6. Meta — Llama 3.1 Blog
  7. Tyler Romero — DPO Explained In-depth
  8. Anthropic — Alignment Faking (dicembre 2024)
  9. Lil'Log — Reward Hacking in LLMs
  10. Ethayarajh et al. — KTO (ICML 2024)