Alignment по предпочтениям сдвигает вероятности ответов в сторону выбранных людьми и одновременно ограничивает уход от reference-модели. PPO, DPO и GRPO различаются вычислительной механикой, но наследуют одну уязвимость: оптимизируют измеренный proxy.

От демонстрации к сравнению

Типичный pipeline начинается с pretrained language model. Затем:

  1. supervised fine-tuning, SFT, на хороших ответах;
  2. сбор попарных предпочтений;
  3. обучение reward model или прямое использование пар;
  4. оптимизация policy;
  5. независимая человеческая и автоматическая оценка.

SFT учит имитировать демонстрации. Preference optimization отвечает на более тонкий вопрос: среди нескольких правдоподобных продолжений какие предпочтительнее. Она не заменяет знания из предобучения, а меняет распределение ответов.

Обозначим prompt xx, ответ yy, policy πθ(yx)\pi_\theta(y\mid x) и замороженную reference πref\pi_{\mathrm{ref}}.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Поток pretrained model SFT preferences reward optimization evaluation
Рис. 81.1. Пять контуров alignment pipeline

Стрелки различают данные и параметры. Замороженные блоки показаны контуром: reference и evaluation set не обновляются. Красная обратная стрелка от production-аудита к сбору данных показывает итеративность, но test-примеры не попадают в train.

Почему нужен reference

Если максимизировать только learned reward rϕ(x,y)r_\phi(x,y), policy найдёт области, где reward model ошибается. Добавляют штраф Кульбака–Лейблера:

maxπ  Eyπ(x)[rϕ(x,y)βlogπ(yx)πref(yx)].\max_\pi\; \mathbb E_{y\sim\pi(\cdot\mid x)} \left[ r_\phi(x,y) -\beta\log\frac{\pi(y\mid x)} {\pi_{\mathrm{ref}}(y\mid x)} \right].

В среднем второе слагаемое равно βDKL(ππref)-\beta D_{\mathrm{KL}}(\pi\|\pi_{\mathrm{ref}}). Большая β\beta удерживает привычное поведение, малая разрешает сильное изменение.

Для фиксированного reward оптимальная policy имеет форму

π(yx)πref(yx)exp(r(x,y)/β).\pi^*(y\mid x)\propto \pi_{\mathrm{ref}}(y\mid x)\exp(r(x,y)/\beta).

Reference задаёт prior: ответ с почти нулевой исходной вероятностью трудно поднять, если reward конечен.

PPO: осторожный шаг по sampled ответам

PPO генерирует ответы текущей policy, получает rewards и оценивает advantage A^t\widehat A_t. Probability ratio:

ρt(θ)=πθ(atst)πθold(atst).\rho_t(\theta)= \frac{\pi_\theta(a_t\mid s_t)} {\pi_{\theta_{\mathrm{old}}}(a_t\mid s_t)}.

Clipped objective:

Lclip=Emin[ρtA^t,  clip(ρt,1ε,1+ε)A^t].\mathcal L_{\mathrm{clip}} =\mathbb E\min\left[ \rho_t\widehat A_t,\; \operatorname{clip}(\rho_t,1-\varepsilon,1+\varepsilon) \widehat A_t \right].

Если обновление слишком увеличивает вероятность выгодного действия, clipping перестаёт поощрять дальнейший рост в этом batch. Critic оценивает value, а KL к reference добавляется в reward или loss.

PPO on-policy: после заметного обновления старые samples устаревают. Pipeline дорогой — policy, reference, reward model и critic участвуют одновременно.

DPO: пары сразу задают логистическую цель

DPO использует аналитическую связь reward с отношением policy/reference. Для preferred y+y^+ и rejected yy^-:

LDPO=logσ(β[logπθ(y+x)πref(y+x)logπθ(yx)πref(yx)]).\mathcal L_{\mathrm{DPO}}= -\log\sigma\left( \beta \left[ \log\frac{\pi_\theta(y^+\mid x)} {\pi_{\mathrm{ref}}(y^+\mid x)} - \log\frac{\pi_\theta(y^-\mid x)} {\pi_{\mathrm{ref}}(y^-\mid x)} \right] \right).

Отдельный reward model и online sampling не нужны: обучение похоже на supervised pass по парам. Но данные фиксированы. DPO не увидит новые странные ответы, которые policy начнёт порождать после сдвига, пока их не соберут в следующем цикле.

Пара предпочтений говорит только относительное. Если оба ответа плохи, DPO всё равно усиливает меньший из двух зол. Нужны абсолютные фильтры и качественный сбор кандидатов.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Параллельные схемы PPO online sampling reward critic и DPO offline preference pairs
Рис. 81.2. PPO и DPO используют один сигнал разными маршрутами

Слева PPO замыкает online-цикл генерации, scoring и обновления. Справа DPO получает замороженные пары и reference log-probabilities. Общая нижняя ось показывает сдвиг log-odds chosen против rejected и ограничение reference.

GRPO: сравнение внутри группы

Group Relative Policy Optimization генерирует группу ответов y1,,yGy_1,\ldots,y_G на один prompt и нормирует rewards внутри группы:

A^i=rirsr+ε.\widehat A_i= \frac{r_i-\overline r} {s_r+\varepsilon}.

Отдельный value model может не требоваться. Сравнение внутри одного prompt убирает часть различий сложности между prompt. Затем policy обновляется PPO-подобной clipped целью с KL.

Если все rewards группы почти равны, деление на малое srs_r нестабильно; ε\varepsilon и фильтрация групп существенны. Если reward model систематически предпочитает длину, относительная нормировка не убирает bias.

Лаборатория alignment

Reward, KL и смещение вероятностей ответов

Загружается живая иллюстрация…

Выберите два ответа с заданными reference probabilities и rewards. Меняйте β\beta: при малом значении policy быстро концентрируется на лидере, при большом остаётся близкой к reference. Добавьте reward за длину и наблюдайте, как оптимизация наращивает токены.

Сравните offline-пары DPO с online-циклом. После сдвига policy старый rejected может исчезнуть, а появится новый exploit. Только новый сбор сравнений обнаружит его.

Длина как лазейка

Reward часто коррелирует с длиной: подробные ответы действительно полезнее в train. Policy учится добавлять вступления и повторы. Диагностика:

  • reward против числа токенов;
  • human preference на length-matched парах;
  • regress reward на длину и анализ residual;
  • отдельный penalty или явный критерий краткости;
  • тест prompts, где правильный ответ должен быть коротким.

Нельзя просто запретить длинные ответы: сложная задача требует пространства. Цель должна учитывать prompt и полноту.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Кривые reward human score длины и KL по шагам preference optimization
Рис. 81.3. Reward растёт после того, как польза остановилась

По горизонтали шаги оптимизации. Learned reward продолжает расти, human score выходит на плато, средняя длина и KL ускоряются. Вертикальная линия отмечает checkpoint, выбранный по независимой оценке, а не последний.

Как сравнивать методы

Одинаковая preference accuracy не означает одинаковый aligned model. Сравнение PPO, DPO и GRPO требует:

  • одной стартовой SFT и reference;
  • сопоставимого preference signal;
  • одинакового generation/evaluation protocol;
  • нескольких seed;
  • win rate с доверительным интервалом;
  • KL и длины;
  • factuality, safety, helpfulness по отдельности;
  • проверок на distribution shift.

LLM-as-a-judge масштабирует оценку, но наследует bias судьи: порядок, стиль, самопредпочтение. Часть выборки должна быть оценена людьми вслепую.

Мини-исследование: Pareto-кривая KL и предпочтений

Обучите несколько checkpoint при β{0,03;0,1;0,3;1}\beta\in\{0{,}03;0{,}1;0{,}3;1\} или остановите один запуск на разных шагах. Для каждого измерьте held-out win rate, KL к reference, длину, diversity и factual error rate. Нанесите точки на плоскость win rate–KL.

Точки, для которых существует другая модель одновременно с большим win rate и меньшим KL, доминируемы. Остальные образуют Pareto frontier. Выбор на frontier требует предметной цены ухода от reference; максимальный win rate не является автоматическим решением.

Добавьте prompts вне preference-домена. Если KL мал в среднем, он всё же может быть велик на узкой группе. Покажите распределение per-prompt KL и верхний процентиль. Это тот же урок, что в оценке по срезам: среднее скрывает локальное изменение поведения.

Проверка reward hacking до дорогого запуска

Постройте набор controlled pairs: одинаковое содержание, но разная длина, число заголовков, уверенность тона и повтор ключевых слов. Прогоните reward model до policy optimization. Если surface feature систематически повышает score, у вас есть прогнозируемая лазейка.

Затем включите adversarial generation: попросите простую policy или поиск максимизировать reward при сохранённом prompt. Каждые 20 шагов отдавайте samples независимым людям вслепую. График proxy–human divergence определяет stop point. Это практическое продолжение Goodhart-эффекта reward model, а не постфактум объяснение.

Проверьте reversibility. После preference optimization выполните небольшой SFT на исходных demonstrations и измерьте, возвращаются ли длина, KL и качества. Если поведение не возвращается, обновление затронуло представления шире наблюдаемого preference direction.

Сохраните checkpoints и evaluation traces, но не выбирайте лучший по каждому benchmark отдельно. Один заранее заданный rule выбора защищает от скрытого ансамбля из разных удачных эпох.

Для judge-модели переставляйте ответы местами: пары, где решение меняется, требуют человеческой проверки, а не молчаливого усреднения.

Alignment не заканчивается loss

После обучения нужны system-level меры: retrieval, tool permissions, отказоустойчивый интерфейс, logging, red teaming. Модель может правильно отказаться в тесте и ошибиться в длинном агентном цикле. Агентные системы умножают вероятности ошибок по шагам.

Преференции также меняются между группами и контекстами. Полезная система позволяет уточнить цель, показывает неопределённость и не выдаёт один усреднённый вкус за универсальный.

Proxy требует независимого суда

PPO использует online trajectories и critic, DPO учится прямо на offline-парах, GRPO строит относительный advantage внутри группы. KL удерживает обновление возле reference, но не гарантирует истину. Главная проверка — разрыв между learned reward и независимым человеческим результатом при сильной оптимизации.

Задачи