Alignment по предпочтениям сдвигает вероятности ответов в сторону выбранных людьми и одновременно ограничивает уход от reference-модели. PPO, DPO и GRPO различаются вычислительной механикой, но наследуют одну уязвимость: оптимизируют измеренный proxy.
От демонстрации к сравнению
Типичный pipeline начинается с pretrained language model. Затем:
- supervised fine-tuning, SFT, на хороших ответах;
- сбор попарных предпочтений;
- обучение reward model или прямое использование пар;
- оптимизация policy;
- независимая человеческая и автоматическая оценка.
SFT учит имитировать демонстрации. Preference optimization отвечает на более тонкий вопрос: среди нескольких правдоподобных продолжений какие предпочтительнее. Она не заменяет знания из предобучения, а меняет распределение ответов.
Обозначим prompt , ответ , policy и замороженную reference .
Стрелки различают данные и параметры. Замороженные блоки показаны контуром: reference и evaluation set не обновляются. Красная обратная стрелка от production-аудита к сбору данных показывает итеративность, но test-примеры не попадают в train.
Почему нужен reference
Если максимизировать только learned reward , policy найдёт области, где reward model ошибается. Добавляют штраф Кульбака–Лейблера:
В среднем второе слагаемое равно . Большая удерживает привычное поведение, малая разрешает сильное изменение.
Для фиксированного reward оптимальная policy имеет форму
Reference задаёт prior: ответ с почти нулевой исходной вероятностью трудно поднять, если reward конечен.
PPO: осторожный шаг по sampled ответам
PPO генерирует ответы текущей policy, получает rewards и оценивает advantage . Probability ratio:
Clipped objective:
Если обновление слишком увеличивает вероятность выгодного действия, clipping перестаёт поощрять дальнейший рост в этом batch. Critic оценивает value, а KL к reference добавляется в reward или loss.
PPO on-policy: после заметного обновления старые samples устаревают. Pipeline дорогой — policy, reference, reward model и critic участвуют одновременно.
DPO: пары сразу задают логистическую цель
DPO использует аналитическую связь reward с отношением policy/reference. Для preferred и rejected :
Отдельный reward model и online sampling не нужны: обучение похоже на supervised pass по парам. Но данные фиксированы. DPO не увидит новые странные ответы, которые policy начнёт порождать после сдвига, пока их не соберут в следующем цикле.
Пара предпочтений говорит только относительное. Если оба ответа плохи, DPO всё равно усиливает меньший из двух зол. Нужны абсолютные фильтры и качественный сбор кандидатов.
Слева PPO замыкает online-цикл генерации, scoring и обновления. Справа DPO получает замороженные пары и reference log-probabilities. Общая нижняя ось показывает сдвиг log-odds chosen против rejected и ограничение reference.
GRPO: сравнение внутри группы
Group Relative Policy Optimization генерирует группу ответов на один prompt и нормирует rewards внутри группы:
Отдельный value model может не требоваться. Сравнение внутри одного prompt убирает часть различий сложности между prompt. Затем policy обновляется PPO-подобной clipped целью с KL.
Если все rewards группы почти равны, деление на малое нестабильно; и фильтрация групп существенны. Если reward model систематически предпочитает длину, относительная нормировка не убирает bias.
Лаборатория alignment
Выберите два ответа с заданными reference probabilities и rewards. Меняйте : при малом значении policy быстро концентрируется на лидере, при большом остаётся близкой к reference. Добавьте reward за длину и наблюдайте, как оптимизация наращивает токены.
Сравните offline-пары DPO с online-циклом. После сдвига policy старый rejected может исчезнуть, а появится новый exploit. Только новый сбор сравнений обнаружит его.
Длина как лазейка
Reward часто коррелирует с длиной: подробные ответы действительно полезнее в train. Policy учится добавлять вступления и повторы. Диагностика:
- reward против числа токенов;
- human preference на length-matched парах;
- regress reward на длину и анализ residual;
- отдельный penalty или явный критерий краткости;
- тест prompts, где правильный ответ должен быть коротким.
Нельзя просто запретить длинные ответы: сложная задача требует пространства. Цель должна учитывать prompt и полноту.
По горизонтали шаги оптимизации. 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 при или остановите один запуск на разных шагах. Для каждого измерьте 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 и независимым человеческим результатом при сильной оптимизации.