DPO — метод обучения, который напрямую оптимизирует модель под предпочтительные ответы, используя сравнительные данные без отдельного шага обучения reward model.
Определение
Direct Preference Optimization (DPO) — это метод обучения больших языковых моделей на данных предпочтений без использования reinforcement learning. В отличие от RLHF, который требует отдельной reward model и алгоритма оптимизации политики (обычно PPO), DPO напрямую корректирует вероятность генерации предпочтительного ответа на основе сравнительных данных.
DPO существенно упрощает пайплайн выравнивания: исчезает необходимость в моделировании вознаграждения, а обновления модели становятся более стабильными и менее вычислительно затратными.
Как работает
DPO принимает пары ответов:
- preferred — лучший по оценке человека или модели;
- dispreferred — худший вариант ответа.
Задача DPO — сделать вероятность генерации preferred-ответа выше, а dispreferred — ниже, при этом контролируя размер обновления. Для этого используется аналитическая функция потерь, которая связывает текущую модель с её «замороженной» копией (reference model). Reference model задаёт базовый стиль и предотвращает разрушение поведения.
Ключевые элементы DPO:
- Сравнительные данные — основа обучения.
- Reference model — фиксированная копия модели до оптимизации.
- Preference loss — функция, повышающая вероятность предпочтительного ответа.
- Контроль отклонения — предотвращает отход модели от исходного поведения.
В отличие от RLHF, DPO не требует расчёта advantages, не зависит от reward model и не использует policy optimization. Это делает процесс проще и дешевле.
Где применяется
- Подготовка ассистентов для диалоговых задач.
- Оптимизация моделей под безопасное поведение.
- Настройка reasoning через предпочтения.
- Модели для программирования.
- Тонкая настройка корпоративных ассистентов.
- RLAIF — обучение по предпочтениям другой модели.
Практические примеры использования
В больших ассистентах DPO сокращает пайплайн выравнивания: вместо долгого RLHF разработчики используют DPO для корректировки поведения по тем же данным предпочтений. Это ускоряет обучение и уменьшает вычислительные затраты.
В задачах кода DPO применяется для улучшения стиля, структурированности и читаемости генерируемых решений. Предпочтения разработчиков используются как источник сигнала.
В системах безопасности DPO снижает вероятность токсичных или опасных ответов, поскольку такие варианты систематически оцениваются как dispreferred.
В корпоративных системах DPO позволяет адаптировать модель под нормы коммуникации и доменные стандарты, избегая переобучения на шумных данных.
Ключевые свойства DPO
- Простота — отсутствуют этапы обучения reward model и RL.
- Стабильность — аналитическая функция потерь уменьшает риск расхождения модели.
- Контроль поведения — reference model ограничивает нежелательные отклонения.
- Эффективность — меньше вычислительных затрат по сравнению с RLHF.
Проблемы и ограничения
- Зависимость от качества предпочтений — плохие данные приводят к деградации поведения.
- Ограниченность выразительности — DPO не охватывает сложные многошаговые стратегии, как RLHF.
- Риск переоптимизации — без аккуратной настройки модель может стать слишком консервативной.
- Недостаточная гибкость — в задачах с динамическими наградами RL может работать лучше.
Преимущества и ограничения
- Плюс: значительно проще RLHF.
- Плюс: снижает вычислительные затраты.
- Плюс: стабильно работает в больших моделях.
- Плюс: легко интегрируется в существующие пайплайны.
- Минус: ограниченная выразительность по сравнению с RL.
- Минус: требует качественных данных предпочтений.
- Минус: склонно к чрезмерным ограничениям поведения.
- Минус: хуже работает в динамических средах.
Связанные термины
- RLHF
- Preference modeling
- Preference optimization
- Reward model
- Value head
- PPO
- RLAIF