🎯 Direct Preference Optimization (DPO)
Суть
DPO — это алгоритм выравнивания (alignment), который позволяет обучать модель на человеческих предпочтениях напрямую, без необходимости создавать отдельную “модель вознаграждения” (Reward Model). Это делает процесс обучения в разы стабильнее, быстрее и дешевле.
🛠 Проблема: Почему RLHF (PPO) — это больно?
В классическом RLHF нам нужно:
- Обучить модель-судью (Reward Model).
- Запустить цикл обучения с подкреплением (PPO).
- Постоянно балансировать между тем, чтобы модель не “сломалась” и при этом угодила судье. Это нестабильно, требует огромных ресурсов и часто приводит к тому, что модель начинает “взламывать” награду, выдавая пустые, но вежливые ответы.
⚙️ Техническая магия: Как работает DPO
DPO делает гениальный математический трюк. Он доказывает, что мы можем извлечь “неявную модель вознаграждения” прямо из текущей политики модели. Вместо сложного обучения с подкреплением, задача превращается в простую классификацию.
Модели показывают тройку данных: Запрос (x), Хороший ответ () и Плохой ответ ().
Математическая цель (Loss Function):
Где:
- — модель, которую мы учим.
- — базовая (замороженная) модель.
- Модель просто учится увеличивать вероятность и уменьшать вероятность относительно базовой модели.
📊 RLHF (PPO) vs. DPO
| Параметр | RLHF (PPO) | DPO (2026 Standard) |
|---|---|---|
| Сложность | Высокая (3 модели) | Низкая (1 модель + референс) |
| Стабильность | Капризная (чувствительна к гиперпараметрам) | Высокая (как обычный Fine-tuning) |
| Ресурсы | Требует много VRAM | Экономно (можно на 1-2 GPU) |
| Результат | Склонен к “вежливому мусору” | Более точные и сжатые ответы |
🚀 Практическое применение для архитектора
Почему DPO — это стандарт для локальных моделей (Llama 4, Mistral, Gemma 4):
1. Персонализация стиля
Если тебе нужно, чтобы агент писал код строго в стиле твоей компании или общался как персонаж из книги, тебе достаточно собрать 500-1000 пар “нравится / не нравится”. DPO “прошьет” этот стиль в модель за пару часов.
2. Исправление специфических багов
Если модель постоянно ошибается в конкретном логическом переходе, ты даешь ей пары ответов, где один — с ошибкой, а второй — исправленный. DPO эффективно вычищает такие паттерны.
3. Alignment для локального использования
Именно благодаря DPO локальные модели (8B-12B параметров) в 2026 году по уровню “услужливости” и логики сравнялись с гигантами вроде GPT-4o.
🔗 Связи
- RLHF — Старый метод, на фундаменте которого вырос DPO.
- Fine-tuning — DPO технически является видом файнтюнинга.
- Локальный ИИ — Почему твои локальные модели такие умные.