Direct Preference Optimization

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Direct Preference Optimization (DPO) — это метод выравнивания больших языковых моделей (LLM) с человеческими предпочтениями, предложенный как более простая и стабильная альтернатива Обучению с подкреплением на основе отзывов людей (RLHF). Метод был представлен в 2023 году группой исследователей из Стэнфордского университета под руководством Рафаэля Рафаилова[1].

Ключевое отличие DPO заключается в том, что он напрямую оптимизирует языковую модель для соответствия человеческим предпочтениям, обходясь без явного обучения отдельной модели вознаграждения (reward model) и сложного этапа обучения с подкреплением (RL), что делает процесс настройки LLM значительно проще, быстрее и стабильнее[2].

Предыстория: Ограничения RLHF

Стандартный метод Reinforcement Learning from Human Feedback (RLHF) состоит из трёх основных этапов:

  1. Supervised Fine-Tuning (SFT): Базовое дообучение модели на качественных примерах.
  2. Обучение модели вознаграждения: Создание отдельной модели, которая учится присваивать "рейтинг" ответам на основе парных сравнений, предоставленных людьми (например, ответ А лучше ответа Б).
  3. Оптимизация политики с помощью RL: Дообучение основной модели с использованием алгоритмов RL (например, PPO), чтобы она генерировала ответы, максимизирующие рейтинг от модели вознаграждения.

Несмотря на свою эффективность, RLHF является сложным, дорогим и нестабильным процессом. Он подвержен таким проблемам, как reward hacking (когда модель "обманывает" модель вознаграждения), и требует аккуратной настройки множества гиперпараметров[1]. DPO был разработан для преодоления этих ограничений.

Принцип работы DPO

Метод DPO заменяет многоэтапный конвейер RLHF на один этап обучения, который можно рассматривать как дообучение с учителем.

  1. Сбор данных предпочтений. Как и в RLHF, собирается набор данных, где для каждого запроса `x` есть два ответа: предпочитаемый (`y_w`, winning) и отвергнутый (`y_l`, losing).
  2. Прямая оптимизация. Вместо обучения модели вознаграждения, 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 обучается на статичном наборе данных и не предполагает динамического взаимодействия с окружением. Этот метод хорошо подходит для одношагового согласования, но не для задач, требующих обучения через последовательные действия.

Ссылки

Литература

  • 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. 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. 2,0 2,1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
  3. «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
  4. «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
  5. 5,0 5,1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
  6. «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
  7. «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]