DPO (Direct Preference Optimization)
Ce que vous saurez dans 3 minutes
Le DPO est la “sauce secrète” qui a permis l’explosion des modèles Open Source performants (comme Mistral ou Zephyr) en 2024-2025. Avant DPO, l’alignement (RLHF) était une alchimie complexe réservée aux géants comme OpenAI. DPO a démocratisé l’alignement de haute qualité en le rendant aussi simple qu’un Fine-Tuning classique.
1. Comprendre
Définition
Le Problème du RLHF Classique
Pour comprendre DPO, il faut voir ce qu’il remplace : le RLHF (utilisé pour GPT-4). Le RLHF est une usine à gaz en 3 étapes :
- SFT : Supervised Fine-Tuning (apprendre à parler).
- Reward Model : Entraîner un second modèle pour noter les réponses (le “professeur”).
- PPO : Utiliser l’apprentissage par renforcement pour optimiser le modèle principal via les notes du professeur.
C’est instable, lent et difficile à régler.
La Solution DPO
DPO simplifie tout :
- Il prend un jeu de données de préférences :
{Prompt, Réponse Gagnante, Réponse Perdante}. - Il modifie directement les poids du modèle pour augmenter la probabilité de la “Gagnante” et baisser celle de la “Perdante”.
- Résultat : 1 étape au lieu de 2 (après le SFT), pas de modèle séparé, stabilité mathématique.
2. Appliquer
Quand utiliser DPO ?
C’est la technique standard actuelle pour raffiner un modèle instruct (Chatbot).
| Scénario | Méthode | Pourquoi ? |
|---|---|---|
| Apprendre un nouveau savoir | SFT (Fine-Tuning) | Le modèle a besoin d’exemples directs de la connaissance. |
| Changer le ton/comportement | DPO | On veut qu’il préfère le style “pro” au style “familier”. |
| Réduire les hallucinations | DPO / RLHF | On pénalise les réponses fausses par rapport aux vraies. |
Fonctionnement Simplifié
graph LR
Dataset[Dataset Préférences<br/>(Prompt, A > B)] --> DPO_Algo[Algorithme DPO]
Base[Modèle SFT<br/>(Déjà entraîné)] --> DPO_Algo
DPO_Algo --> Aligned[Modèle Aligné<br/>(Preferes A)]
style DPO_Algo fill:#22c55e,stroke:#333
Exemples de Modèles DPO
- Zephyr (Hugging Face) : Un des premiers modèles à prouver que DPO sur un petit modèle (7B) pouvait battre des modèles 10x plus gros alignés classiquement.
- Mistral Instruct : Utilise des techniques similaires pour son efficacité.
- Llama 3 Instruct : Combine souvent RLHF et DPO pour le meilleur des deux mondes.
3. Aller plus loin
Nuances Techniques
Le DPO repose sur une astuce mathématique : il prouve qu’on peut dériver implicitement la “récompense” à partir du modèle lui-même. La formule ajuste la probabilité relative :
- Si le modèle prédisait déjà bien la réponse gagnante, on change peu.
- S’il préférait la perdante, on le corrige fortement.
Variantes Modernes
Depuis 2024, des améliorations sont apparues :
- KTO (Kahneman-Tversky Optimization) : N’a même plus besoin de paires (A > B), juste de savoir si une réponse est “Bonne” ou “Mauvaise” (pouce bleu/rouge). Encore plus simple pour collecter des données.
- IPO (Identity Preference Optimization) : Variante plus robuste pour éviter le sur-apprentissage (overfitting).
Points de Vigilance
Notions Liées (Spider Web)
- Concepts Clés : Alignement, RLHF
- Modèles : LLM, Mistral
- Technique : Fine-tuning
Ressources Externes
- Paper Fondateur : Direct Preference Optimization: Your Language Model is Secretly a Reward Model (2023)
- Tuto Hugging Face : DPO sur TRL