DPO
Материал из Montelibero
Перейти к навигацииПерейти к поиску
DPO (Direct Preference Optimization) — метод выравнивания языковой модели, альтернативный RLHF, без обучения модели вознаграждения.
RLHF (напоминание) =
RLHF требует трёх компонентов:
- Модель-оценщик (reward model), обученная на предпочтениях людей.
- PPO-оптимизация, максимизирующая reward модели.
- Сложная инфраструктура для обучения.
Результат отличный, но сложно и нестабильно.
Как работает DPO =
DPO убирает модель вознаграждения и PPO. Оптимизация проводится напрямую на данных предпочтений:
- Хороший ответ (y_w) — модель получает больше вероятности.
- Плохой ответ (y_l) — модель получает меньше вероятности.
Формула loss:
L = -log σ( log π(y_w|x) - log π(y_l|x) )
Преимущества =
- Проще — один этап, без reward model.
- Стабильнее — нет проблем с reward hacking.
- Быстрее — меньше этапов обучения.
- Дешевле — не нужно обучать дополнительную модель.
Результат =
Сравнимо или лучше RLHF на benchmarks (MT-Bench, HH-RLHF). DPO используется в Zephyr, NeuralChat, Phi-3.
Связанные понятия =
- RLHF — предшественник DPO.
- Alignment — DPO частный случай alignment.
- Fine-tuning — DPO разновидность fine-tuning на предпочтениях.