🎯 Direct Preference Optimization (DPO)

Суть

DPO — это алгоритм выравнивания (alignment), который позволяет обучать модель на человеческих предпочтениях напрямую, без необходимости создавать отдельную “модель вознаграждения” (Reward Model). Это делает процесс обучения в разы стабильнее, быстрее и дешевле.


🛠 Проблема: Почему RLHF (PPO) — это больно?

В классическом RLHF нам нужно:

  1. Обучить модель-судью (Reward Model).
  2. Запустить цикл обучения с подкреплением (PPO).
  3. Постоянно балансировать между тем, чтобы модель не “сломалась” и при этом угодила судье. Это нестабильно, требует огромных ресурсов и часто приводит к тому, что модель начинает “взламывать” награду, выдавая пустые, но вежливые ответы.

⚙️ Техническая магия: Как работает 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 технически является видом файнтюнинга.
  • Локальный ИИ — Почему твои локальные модели такие умные.