Direct Preference Optimization
Direct Preference Optimization (DPO) — это метод выравнивания больших языковых моделей (LLM) с человеческими предпочтениями, предложенный как более простая и стабильная альтернатива Обучению с подкреплением на основе отзывов людей (RLHF). Метод был представлен в 2023 году группой исследователей из Стэнфордского университета под руководством Рафаэля Рафаилова[1].
Ключевое отличие DPO заключается в том, что он напрямую оптимизирует языковую модель для соответствия человеческим предпочтениям, обходясь без явного обучения отдельной модели вознаграждения (reward model) и сложного этапа обучения с подкреплением (RL), что делает процесс настройки LLM значительно проще, быстрее и стабильнее[2].
Предыстория: Ограничения RLHF
Стандартный метод Reinforcement Learning from Human Feedback (RLHF) состоит из трёх основных этапов:
- Supervised Fine-Tuning (SFT): Базовое дообучение модели на качественных примерах.
- Обучение модели вознаграждения: Создание отдельной модели, которая учится присваивать "рейтинг" ответам на основе парных сравнений, предоставленных людьми (например, ответ А лучше ответа Б).
- Оптимизация политики с помощью RL: Дообучение основной модели с использованием алгоритмов RL (например, PPO), чтобы она генерировала ответы, максимизирующие рейтинг от модели вознаграждения.
Несмотря на свою эффективность, RLHF является сложным, дорогим и нестабильным процессом. Он подвержен таким проблемам, как reward hacking (когда модель "обманывает" модель вознаграждения), и требует аккуратной настройки множества гиперпараметров[1]. DPO был разработан для преодоления этих ограничений.
Принцип работы DPO
Метод DPO заменяет многоэтапный конвейер RLHF на один этап обучения, который можно рассматривать как дообучение с учителем.
- Сбор данных предпочтений. Как и в RLHF, собирается набор данных, где для каждого запроса `x` есть два ответа: предпочитаемый (`y_w`, winning) и отвергнутый (`y_l`, losing).
- Прямая оптимизация. Вместо обучения модели вознаграждения, DPO напрямую использует эти данные для обновления самой языковой модели. Цель оптимизации — увеличить вероятность генерации предпочитаемого ответа `y_w` и одновременно уменьшить вероятность генерации отвергнутого ответа `y_l`.
Математически это сводится к минимизации функции потерь, которая основана на логистической регрессии, применяемой к разнице логарифмических вероятностей ответов. Чтобы модель не «забывала» свои изначальные знания, DPO, как и RLHF, использует эталонную модель (reference model, обычно SFT-версию) для регуляризации, предотвращая слишком сильное отклонение от исходного распределения ответов[2].
Преимущества по сравнению с RLHF
- Простота и стабильность: DPO устраняет необходимость в обучении отдельной модели вознаграждения и сложной настройке RL. Процесс становится более простым, предсказуемым и менее подверженным ошибкам[3].
- Эффективность и скорость: Исключение двух этапов значительно сокращает вычислительные затраты (GPU-часы) и время, необходимое для настройки модели. По некоторым оценкам, DPO на 50–60% экономичнее RLHF[4].
- Качество результатов: Эксперименты показали, что DPO не уступает RLHF по качеству, а в некоторых задачах, например, в управлении тоном ответа, даже превосходит его. Модели, обученные с помощью DPO, демонстрируют лучшее соответствие человеческим предпочтениям[1].
- Отсутствие деградации базовых навыков: DPO-настройка минимально влияет на общие способности модели (например, фактические знания или логику), в отличие от RLHF, который иногда может ухудшать базовые метрики[5].
Применение и распространение
Благодаря своей эффективности и простоте, DPO быстро получил широкое распространение. Он был реализован в ведущих open-source библиотеках, таких как Hugging Face TRL и OpenRLHF.
Многие успешные открытые модели были дообучены с помощью DPO, включая Zephyr-7B и TÜLU 2. Эти модели показали высокую производительность на бенчмарках оценки качества ответов, подтвердив эффективность DPO для моделей большого масштаба[5].
Индустриальные лидеры также внедрили DPO в свои платформы. Например, Microsoft добавила поддержку DPO-дообучения в свой сервис Azure OpenAI, позволяя пользователям настраивать модели, включая GPT-4, на собственных данных предпочтений[6].
Ограничения
Несмотря на преимущества, DPO наследует некоторые ограничения от самого подхода обучения на предпочтениях:
- Чувствительность к данным: Качество и разнообразие собранных данных предпочтений критически важны. Если данные однобоки (например, содержат только один язык или стиль), модель может переобучиться и ухудшить свою производительность в других областях[7].
- Статичность обучения: Как и RLHF, DPO обучается на статичном наборе данных и не предполагает динамического взаимодействия с окружением. Этот метод хорошо подходит для одношагового согласования, но не для задач, требующих обучения через последовательные действия.
Ссылки
- Документация DPO в библиотеке Hugging Face TRL
- Аналитический обзор RLHF и DPO на ICLR 2024 Blogposts
Литература
- 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.
Примечания
- ↑ 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]