Данные и токенизация
19 просмотров
DPO
Direct Preference Optimization
DPO (Direct Preference Optimization) — метод выравнивания (alignment) LLM по человеческим предпочтениям без обучения отдельной reward-модели. Более простая альтернатива RLHF с сопоставимым качеством.
Что такое DPO
DPO (Rafailov et al., 2023) — метод alignment, который оптимизирует модель напрямую по парам предпочтений (chosen vs rejected), без промежуточной reward-модели и PPO.
DPO vs RLHF
RLHF (сложный):
1. Собрать пары предпочтений
2. Обучить Reward Model
3. Обучить Policy через PPO (нестабильно, 4 модели в памяти)
DPO (простой):
1. Собрать пары предпочтений
2. Обучить модель напрямую (1 loss function)
Формат данных
{
"prompt": "Как работает квантизация?",
"chosen": "Квантизация — это метод сжатия нейронных сетей путём уменьшения точности весов...",
"rejected": "Ну это такая штука где числа делают меньше лол"
}
Преимущества DPO
- Простота: одна стадия обучения вместо трёх
- Стабильность: нет нестабильного PPO
- Эффективность: нужна только одна модель в памяти
- Качество: сопоставимо с RLHF на большинстве бенчмарков
Варианты
- IPO (Identity Preference Optimization) — регуляризованная версия
- KTO (Kahneman-Tversky Optimization) — работает с непарными данными (только good или bad)
- ORPO — объединяет SFT и DPO в один этап