51 DPO
Контекст
RLHF (#44) — мощный, но СЛОЖНЫЙ конвейер: отдельная reward-модель + нестабильное RL (PPO) с кучей гиперпараметров. Рафаилов и др. спрашивают: нельзя ли получить результат RLHF БЕЗ RL?
Идея и механизм
Математический инсайт: оптимальная политика RLHF выражается замкнуто через reward, а значит и reward — через политику. Подставив это в модель предпочтений, целевую функцию RLHF превращают в простой classification-loss прямо на парах (предпочтённый, отвергнутый). Отдельная reward-модель и PPO-петля не нужны.
оптимизация · теорвер Вывод: как RL-задача схлопывается в классификацию
Шаг 1. Цель RLHF maxπ E[r] − β KL(π ‖ πref) имеет известное замкнутое решение:
Шаг 2. Выразим reward через политику (просто переставив):
Шаг 3. Подставим в модель предпочтений Брэдли-Терри P(yw≻yl) = σ(rw−rl) — нормировка Z(x) сокращается (одинаковый x!), и остаётся лосс прямо на политике:
Ни reward-модели, ни PPO — обычный classification на парах. Сама языковая модель неявно и есть reward-модель (отсюда подзаголовок статьи). Вот этот вывод в три строки — главная ценность работы.
PyTorch Лосс DPO
import torch.nn.functional as F
# pi_*, ref_* — log-вероятности выбранного/отвергнутого (политика / референс)
def dpo_loss(pi_w, pi_l, ref_w, ref_l, beta=0.1):
logits = beta * ((pi_w - ref_w) - (pi_l - ref_l))
return -F.logsigmoid(logits).mean() # просто classification на парах
Почему это важно
Резко упростил выравнивание; стал дефолтным рецептом для open-моделей и базой множества вариантов (IPO, KTO, ORPO). Понять его вывод — значит понять, как устроено современное alignment без RL.
Связи
Тот же результат (выравнивание по предпочтениям), но без отдельной reward-модели и PPO. DPO взял ровно ту же постановку RLHF и алгебраически свернул её в один шаг — планку RLHF обошёл по простоте, не по цели.
PPO был RL-движком выравнивания; DPO показывает, что для preference-обучения RL не нужен вовсе. Где RLHF крутит нестабильную RL-петлю, DPO делает обычный supervised-шаг — стабильнее и дешевле.
Два независимых упрощения RLHF: CAI убирает человека из разметки (AI-фидбек), DPO убирает RL из обучения. Их совмещают: получить предпочтения AI-фидбеком (CAI) и обучить на них DPO-лоссом.
Вопросы пытливого ума
Если DPO проще и стабильнее, зачем кому-то всё ещё PPO/RLHF?
У RL остаются преимущества: он работает с онлайн-данными (генерирует и оценивает на лету), а DPO учится на фиксированном наборе пар и может «зазубрить» их распределение. Для сложных сигналов (многошаговые награды, верифицируемые задачи) RL гибче. На практике многие фронтир-лаборатории комбинируют: DPO как дешёвая база, RL-дообучение там, где оно реально нужно.
«Модель сама себе reward-модель» — это метафора или буквально?
Буквально, в точном смысле вывода: величина β log(πθ/πref) и есть неявная награда, соответствующая этой политике. Не нужно отдельной сети-оценщика — reward «зашит» в отношение вероятностей политики к референсу. Это не аналогия, а следствие замкнутой формы оптимальной RLHF-политики.
Где DPO ломается на практике?
Известные проблемы: чувствительность к качеству и покрытию набора пар, склонность снижать вероятность обоих ответов (и хорошего, и плохого) при неудачной настройке, зависимость от хорошего референса. Отсюда поток вариантов (IPO исправляет переобучение предпочтений, KTO работает без пар, ORPO убирает референс). DPO — мощная база, но не «серебряная пуля», и его тюнинг — отдельное искусство.
Что читать в оригинале
Читать целиком — главная ценность именно ВЫВОД (несколько строк, превращающих RL-задачу в классификацию); понять его = понять современное alignment без RL.