Puntata 217
Puntata 217 — DPO e Constitutional AI
Livello: 🧙 Maestro Yoda · Capitolo 20 · Training, fine-tuning, allineamento
RLHF è complicato come una macchina della F1: 3 modelli, PPO, KL penalty, reward hacking. DPO e CAI sono i monovolume — meno glamour, meno costo, e per il 90% del traffico arrivi prima.
Perché serviva un’alternativa a RLHF
RLHF funziona, ma:
- Richiede 3 modelli in memoria simultanea (policy, reference, reward).
- Richiede un annotation pipeline costosa per il reward model.
- PPO è instabile: tuning iperparametri, KL penalty, value function. Si rompe spesso.
- Reward hacking è un’arte oscura.
Dal 2023 in poi sono emersi due approcci che semplificano:
- DPO (Direct Preference Optimization): elimina il reward model esplicito e PPO.
- Constitutional AI: elimina (in larga parte) gli annotatori umani usando un’altra AI.
Spoiler: nel 2026 DPO è il workhorse per la stragrande maggioranza dei fine-tuning open. Constitutional AI è un caso speciale, ma il suo principio (AI feedback) è ovunque.
DPO — Direct Preference Optimization
Paper: Rafailov, Sharma, Mitchell, Ermon, Manning, Finn (Stanford, 2023). arXiv:2305.18290.
Idea geniale: derivare matematicamente che ottimizzare RLHF (PPO contro un reward model) equivale ad ottimizzare una closed-form loss direttamente sulla policy. Niente reward model, niente PPO.
La loss DPO:
L_DPO = -log σ( β · (log π_θ(y_w|x) / π_ref(y_w|x) - log π_θ(y_l|x) / π_ref(y_l|x)) )
Dove:
y_w= chosen (vincitore)y_l= rejected (perdente)π_θ= policy in trainingπ_ref= reference (SFT congelato)β= parametro analogo al KL penalty in RLHF
In sostanza: alza la probabilità che la policy generi la chosen, abbassa quella della rejected, ma resta vicino al reference.
Cosa rende DPO appetibile
Pratico:
- Solo 2 modelli in memoria (policy + reference). Memoria ~50% di RLHF.
- Niente PPO, niente value model, niente reward model.
- Training stabile come un SFT — usi le stesse routine.
- Iperparametri pochi:
β, learning rate, batch size.
Quality:
- Per task generici (helpful chat), comparabile a RLHF (alcuni paper la trovano leggermente inferiore, altri pari).
- Per task fortemente preference-driven (es. summarization style), spesso eccellente.
- Meno reward-hacking-prono perché non c’è reward model esplicito da hackerare.
Adozione:
- Tülu 3, Zephyr, Starling, Mistral Instruct, molti modelli HuggingFace top usano DPO.
- Llama-3 ha usato DPO come parte della pipeline post-SFT.
- Spesso combinato con SFT in sequenza:
Base → SFT → DPO.
I limiti di DPO
- Implicit reward: il “reward” è implicito nella loss. Non puoi ispezionarlo come potresti con un RM esplicito.
- Sensibilità al β: troppo alto, training lento e conservativo; troppo basso, divergenza dalla reference.
- Distribution shift: DPO assume che le risposte chosen/rejected vengano dalla policy stessa (o vicina). Se vengono da un modello molto diverso (es. preference data generato da GPT-4 per addestrare Llama), può sotto-performare.
- No online learning: DPO è offline (dataset fisso). RLHF online può migliorare iterativamente.
Varianti recenti che mitigano i limiti:
- IPO (Identity Preference Optimization, Azar et al. 2023): più robusto a label noise.
- KTO (Kahneman-Tversky Optimization, ETH 2024): non richiede coppie, basta etichetta binaria “good/bad” per singola risposta.
- ORPO (Hong et al., 2024): fonde SFT + DPO in un solo step.
- SimPO (Meng et al., 2024): elimina la reference policy (e relativo overhead di memoria).
Nel 2026 KTO e SimPO sono in salita; DPO resta lo standard.
Constitutional AI (CAI)
Paper: Bai et al., Anthropic 2022 (“Constitutional AI: Harmlessness from AI Feedback”, arXiv:2212.08073).
Idea: invece di chiedere a umani di valutare risposte per harmlessness (lento, costoso, traumatico per gli annotatori), chiedi a un altro LLM di farlo, guidato da una costituzione scritta a mano.
La costituzione è un set di principi tipo:
- “Le tue risposte non devono incoraggiare violenza.”
- “Devi essere onesto su quello che non sai.”
- “Devi rispettare l’utente senza essere servile.”
- … 50-100 principi del genere.
Pipeline CAI (versione semplificata):
-
Stadio “Critique & Revision” (supervised):
- Genera con un modello “vanilla” una risposta a un prompt potenzialmente problematico.
- Chiedi all’AI critico (può essere lo stesso modello): “Questa risposta viola uno dei principi costituzionali? Se sì, riscrivila.”
- Usa la risposta rivista come target di SFT.
-
Stadio “RLAIF” (RL from AI Feedback):
- Genera coppie di risposte.
- L’AI critico, guidato dalla costituzione, sceglie la migliore.
- Si addestra un reward model su queste preferenze AI.
- PPO (o DPO) sulla policy.
Risultato: harmlessness ottenuta senza annotation umana di massa.
Vantaggi
- Drastica riduzione del costo di annotazione.
- Scalabilità: puoi generare milioni di “preference” velocemente.
- Trasparenza: i principi sono pubblicabili e modificabili.
- Riduzione del trauma psicologico per annotatori umani (che spesso valutano contenuti disturbanti per training di safety).
Limiti
- L’AI critico eredita i bias del modello di partenza. Bias amplificato, non corretto.
- Funziona meglio per harmlessness (dove i principi sono espliciti) che per helpfulness (dove “buono” è sfumato).
- Anthropic combina CAI con feedback umano: nessuno sostituisce del tutto gli umani in produzione.
RLAIF (RL from AI Feedback)
Generalizzazione di CAI: invece di umani, usa un LLM forte come “rater” per generare il dataset di preferenze.
Studi (Lee et al., Google 2023, “RLAIF: Scaling RLHF with AI Feedback”) mostrano che RLAIF eguaglia RLHF su task come summarization, dialogo, harmlessness, a una frazione del costo.
Dal 2024 in poi è ampiamente usato in pipelines miste: dataset di preferenze generato in parte da umani (per task delicati), in parte da AI (per quantità).
Quale uso quando
| Scenario | Tecnica raccomandata 2026 |
|---|---|
| Fine-tune di un modello open per use case specifico | SFT + DPO/KTO |
| Pipeline open di chat assistant | SFT + DPO (vedi Tülu 3, Zephyr) |
| Aggiungere safety/refusal pattern | CAI / RLAIF su critique-and-revision |
| Modello commerciale di frontiera | Pipeline mista: SFT + DPO + RLHF + CAI + RLVR (per reasoning) |
| Reasoning model | RL su reward verificabile (puntata 211), spesso saltando RLHF tradizionale |
| Modello piccolo (<3B) | SFT + DPO è sufficiente nel 99% dei casi |
Glossario lampo
- Closed-form loss — loss che si scrive esplicitamente, senza richiedere un modello ausiliario.
- Implicit reward — reward “implicito” nella loss, non un modello separato.
- Reference policy — il modello SFT congelato da cui si parte (e da cui si deve non divergere troppo).
- Critique-and-revision — pipeline in cui un’AI critica una risposta e ne genera una versione “migliore”.
- AI feedback — feedback generato da un altro LLM invece che da umani.
TEST hands-on
- Scarica
Anthropic/hh-rlhf(preference data). Esegui DPO su Llama-3.2-1B-Instruct contrl’sDPOTrainer:from trl import DPOTrainer, DPOConfig trainer = DPOTrainer( model="meta-llama/Llama-3.2-1B-Instruct", ref_model=None, # carica automaticamente train_dataset=dataset, args=DPOConfig(beta=0.1, learning_rate=5e-6, num_train_epochs=1), ) trainer.train() - Confronta le risposte prima/dopo su 20 prompt. Vedi cambi di stile, refusal, lunghezza?
- Misura impact su MMLU. Vedi un piccolo alignment tax?
- Bonus: leggi il paper Constitutional AI di Anthropic (arXiv:2212.08073). Identifica i 16 principi della costituzione. Quanti riguardano helpfulness vs harmlessness?
Take-away
DPO ha democratizzato l’alignment. Quello che con RLHF richiedeva 3 mesi e centinaia di GPU, con DPO si fa in 3 giorni su un cluster modesto. Constitutional AI ha sostituito centinaia di annotatori umani con un’AI guidata da poche righe di principi. È il pattern emergente del 2024-2026: automatizzare le parti di alignment automatizzabili, riservare il giudizio umano dove serve davvero.
➡️ Prossima puntata: LoRA, QLoRA, PEFT — fine-tuning per chi non ha 8 H100.