Direct Preference Optimization (DPO) (FR)
Direct Preference Optimization (DPO) est une méthode d'alignement des grands modèles de langage (LLM) sur les préférences humaines, proposée comme une alternative plus simple et plus stable à l'apprentissage par renforcement à partir du feedback humain (RLHF). La méthode a été présentée en 2023 par un groupe de chercheurs de l'Université de Stanford dirigé par Rafael Rafailov[1].
La principale différence du DPO réside dans le fait qu'il optimise directement le modèle de langage pour qu'il corresponde aux préférences humaines, en se passant de l'entraînement explicite d'un modèle de récompense (reward model) distinct et de l'étape complexe d'apprentissage par renforcement (RL), ce qui rend le processus d'ajustement des LLM beaucoup plus simple, rapide et stable[2].
Contexte : Les limites du RLHF
La méthode standard de Reinforcement Learning from Human Feedback (RLHF) se compose de trois étapes principales :
- Supervised Fine-Tuning (SFT) : Un affinage de base du modèle sur des exemples de haute qualité.
- Entraînement du modèle de récompense : La création d'un modèle distinct qui apprend à attribuer une "note" aux réponses en se basant sur des comparaisons par paires fournies par des humains (par exemple, la réponse A est meilleure que la réponse B).
- Optimisation de la politique par RL : L'affinage du modèle principal à l'aide d'algorithmes de RL (par exemple, PPO) pour qu'il génère des réponses qui maximisent la note du modèle de récompense.
Malgré son efficacité, le RLHF est un processus complexe, coûteux et instable. Il est sujet à des problèmes tels que le reward hacking (lorsque le modèle "trompe" le modèle de récompense) et nécessite un ajustement minutieux de nombreux hyperparamètres[1]. Le DPO a été développé pour surmonter ces limitations.
Principe de fonctionnement du DPO
La méthode DPO remplace le pipeline en plusieurs étapes du RLHF par une seule étape d'entraînement, qui peut être considérée comme un affinage supervisé.
- Collecte des données de préférences. Comme pour le RLHF, un ensemble de données est collecté où, pour chaque requête `x`, il y a deux réponses : une réponse préférée (`y_w`, pour winning) et une réponse rejetée (`y_l`, pour losing).
- Optimisation directe. Au lieu d'entraîner un modèle de récompense, le DPO utilise directement ces données pour mettre à jour le modèle de langage lui-même. L'objectif de l'optimisation est d'augmenter la probabilité de générer la réponse préférée `y_w` tout en diminuant la probabilité de générer la réponse rejetée `y_l`.
Mathématiquement, cela se résume à la minimisation d'une fonction de perte basée sur la régression logistique, appliquée à la différence des probabilités logarithmiques des réponses. Pour que le modèle n'« oublie » pas ses connaissances initiales, le DPO, tout comme le RLHF, utilise un modèle de référence (reference model, généralement la version SFT) pour la régularisation, empêchant ainsi une déviation trop importante de la distribution de réponses d'origine[2].
Avantages par rapport au RLHF
- Simplicité et stabilité : Le DPO élimine le besoin d'entraîner un modèle de récompense distinct et la configuration complexe du RL. Le processus devient plus simple, plus prévisible et moins sujet aux erreurs[3].
- Efficacité et rapidité : La suppression de deux étapes réduit considérablement les coûts de calcul (heures-GPU) et le temps nécessaire pour ajuster le modèle. Selon certaines estimations, le DPO est 50 à 60 % plus économique que le RLHF[4].
- Qualité des résultats : Des expériences ont montré que le DPO est aussi performant que le RLHF en termes de qualité, et le surpasse même dans certaines tâches, comme la gestion du ton de la réponse. Les modèles entraînés avec le DPO montrent une meilleure adéquation avec les préférences humaines[1].
- Absence de dégradation des compétences de base : L'ajustement par DPO a un impact minimal sur les capacités générales du modèle (par exemple, les connaissances factuelles ou la logique), contrairement au RLHF, qui peut parfois détériorer les métriques de base[5].
Application et adoption
Grâce à son efficacité et sa simplicité, le DPO a rapidement été largement adopté. Il a été implémenté dans les principales bibliothèques open-source, telles que Hugging Face TRL et OpenRLHF.
De nombreux modèles ouverts à succès ont été affinés à l'aide du DPO, notamment Zephyr-7B et TÜLU 2. Ces modèles ont démontré de hautes performances sur les benchmarks d'évaluation de la qualité des réponses, confirmant l'efficacité du DPO pour les modèles à grande échelle[5].
Les leaders de l'industrie ont également intégré le DPO dans leurs plateformes. Par exemple, Microsoft a ajouté la prise en charge de l'affinage par DPO à son service Azure OpenAI, permettant aux utilisateurs d'ajuster des modèles, y compris GPT-4, sur leurs propres données de préférences[6].
Limites
Malgré ses avantages, le DPO hérite de certaines limites de l'approche d'apprentissage basée sur les préférences elle-même :
- Sensibilité aux données : La qualité et la diversité des données de préférences collectées sont d'une importance capitale. Si les données sont biaisées (par exemple, si elles ne contiennent qu'une seule langue ou un seul style), le modèle peut sur-apprendre et voir ses performances se dégrader dans d'autres domaines[7].
- Caractère statique de l'entraînement : Comme le RLHF, le DPO est entraîné sur un ensemble de données statique et ne suppose pas d'interaction dynamique avec l'environnement. Cette méthode est bien adaptée à un alignement en une seule étape, mais pas aux tâches nécessitant un apprentissage par actions séquentielles.
Liens
- Documentation du DPO dans la bibliothèque Hugging Face TRL
- Analyse comparative du RLHF et du DPO sur ICLR 2024 Blogposts
Littérature
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Hong, J.; Lee, N.; Thorne, J. (2024). ORPO: Monolithic Preference Optimization without Reference Model. arXiv:2403.07691.
- Sun, L. et al. (2025). BPO: Revisiting Preference Modeling in Direct Preference Optimization. arXiv:2506.03557.
- Yin, Y. et al. (2024). Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment. arXiv:2405.20830.
- Wu, Y. et al. (2024). Self-Play Preference Optimization for Language Model Alignment. arXiv:2405.00675.
- Li, P. et al. (2024). ROPO: Robust Preference Optimization for Large Language Models. arXiv:2404.04102.
- Tunstall, L. et al. (2023). Zephyr: Direct Distillation of LM Alignment. arXiv:2310.16944.
- Wu, F. et al. (2023). Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization. arXiv:2311.12908.
- Lee, H. et al. (2023). RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. arXiv:2309.00267.
- Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). Direct Preference Optimization (v3): Enhanced Experiments and Analysis. arXiv:2305.18290v3.
Notes
- ↑ 1.0 1.1 1.2 Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». arXiv:2305.18290. [1]
- ↑ 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
- ↑ «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
- ↑ «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
- ↑ 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
- ↑ «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
- ↑ «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]