В 2022 году классический RLHF для LLM обычно описывали как многошаговый процесс: сначала supervised fine-tuning (SFT), затем обучение reward model по человеческим предпочтениям, затем RL-оптимизация, чаще через PPO. В 2023 году работа Direct Preference Optimization предложила более короткий путь: не учить отдельную reward-модель и не запускать отдельный RL-этап, а сразу обучать политику на предпочтениях через закрытую loss-функцию.
Ниже — исторический разбор волны 2023–2024 годов: что именно сделал DPO, почему это не совсем «RLHF без reward» в буквальном смысле, и зачем после него появились KTO, ORPO и SimPO.
Коротко
- DPO убирает отдельные шаги reward modeling и PPO, но не убирает саму идею полезности: она становится неявной и выражается через отношение вероятностей политики к референсной модели.
- Главная практическая выгода DPO — сведение alignment к обычному offline fine-tuning по preference-датасету.
- Наследники DPO расходятся по трем осям: какой сигнал использовать для обучения, нужна ли reference model во время тренировки и как бороться с деградацией при переоптимизации.
- KTO расширяет формат обратной связи до желательных и нежелательных ответов; ORPO и SimPO убирают reference model из тренировки, но делают это разными способами.
- Даже без отдельной reward-модели direct alignment может переоптимизироваться; упрощение пайплайна не отменяет проблем регуляризации, выбора reference policy и качества данных.
Контекст: почему вообще захотели упростить RLHF
В работах Training language models to follow instructions with human feedback и Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback классический RLHF описывается как связка из SFT, preference data, reward model и последующей RL-оптимизации. Это дало сильный практический результат, но сделало посттренинг сложным: нужно отдельно собирать ранжированные ответы, учить прокси-награду, держать KL-контроль относительно базовой модели и запускать online-обновления политики.
Авторы DPO прямо ставили эту проблему: RLHF эффективен, но сложен и нестабилен в реализации. Их идея состояла не в том, чтобы отказаться от предпочтений, а в том, чтобы переписать задачу так, чтобы оптимизировать саму policy напрямую по офлайн-датасету пар (prompt, chosen, rejected).
Это особенно важно для практиков. Как только alignment можно выразить в виде обычного loss, его проще встроить в существующий стек fine-tuning, воспроизводить, дебажить и масштабировать без отдельного RL-контура.
Метод: как работает DPO и что меняют его наследники
Что делает DPO
DPO исходит из стандартной для preference learning модели Bradley-Terry: если у нас есть два ответа на один запрос, то вероятность того, что человек предпочтет один другому, зависит от разности их скрытых «наград». Ключевой ход работы — параметризовать эту награду не отдельной сетью, а через саму языковую модель относительно reference model.
r(x, y) ~ log pi(y|x) - log pi_ref(y|x)
После этой замены задача сводится к логистическому loss по паре выбранного и отвергнутого ответа. Интуитивно DPO повышает вероятность chosen-ответа и понижает вероятность rejected-ответа, но не в абсолюте, а относительно reference policy. Поэтому формула одновременно обучает предпочтениям и играет роль регуляризации: модель не должна слишком далеко уходить от опорного распределения.
Отсюда и важная оговорка: DPO — это не «обучение без reward» в строгом смысле. Отдельной явной reward model нет, но reward становится неявной функцией от log-ratio между текущей и reference policy. Поздняя работа From r to Q*: Your Language Model is Secretly a Q-Function уточняет эту картину еще сильнее: DPO можно вывести и в token-level MDP, а значит это не просто удобная эвристика для whole-response bandit, а более общий способ смотреть на alignment.
KTO: когда у вас не пары, а метки желательности
KTO: Model Alignment as Prospect Theoretic Optimization меняет сам формат сигнала. Вместо обязательных пар «лучше/хуже» метод допускает данные в форме «желательно/нежелательно». Теоретическая мотивация идет через prospect theory и семейство human-aware losses: авторы пытаются моделировать не только предпочтение как ранжирование, но и асимметрию человеческого восприятия выигрыша и потерь.
Практически это важно в двух случаях. Во-первых, когда обратная связь уже собрана как отдельные позитивные и негативные примеры, а не как пары. Во-вторых, когда парные сравнения слишком дороги или шумны. При этом KTO не становится полностью reference-free: KL-привязка к reference model в нем остается, просто сам loss устроен иначе, чем в DPO.
ORPO: объединить SFT и preference optimization
ORPO: Monolithic Preference Optimization without Reference Model отталкивается от другого наблюдения: SFT в alignment-пайплайне — это не просто подготовительный шаг, а уже сильный сигнал желательного стиля ответа. Поэтому авторы предлагают не делать «SFT, потом DPO», а встроить preference-компонент сразу в SFT-обучение. Для этого к обычному negative log-likelihood добавляется odds-ratio penalty, который слабо штрафует нежелательные ответы и усиливает адаптацию к желательным.
Ключевое отличие ORPO от базового DPO — отсутствие отдельной reference model во время тренировки и отсутствие отдельной alignment-фазы после SFT. Это делает метод архитектурно проще, но цена — другая интерпретация оптимизируемого объекта: ORPO уже не пытается буквально повторить вывод DPO из классического RLHF.
SimPO: reference-free reward и борьба с несоответствием награды генерации
SimPO: Simple Preference Optimization with a Reference-Free Reward тоже уходит от reference model, но другим путем. Авторы утверждают, что для неявной награды лучше использовать среднюю log-probability последовательности, а не reward, завязанный на отдельную reference policy. Дополнительно они вводят target reward margin в Bradley-Terry objective.
Практическая мотивация SimPO двойная. Во-первых, reference-free схема экономит память и вычисления. Во-вторых, авторы пытаются уменьшить разрыв между тем, что оптимизирует loss, и тем, как модель реально генерирует ответы, включая проблемы длины ответа и смещения к чрезмерно длинным continuation.
Результаты: что показала волна работ 2023–2024
Для статьи-объяснения полезнее не собирать искусственный лидерборд, а посмотреть, как изменилась сама конструкция посттренинга. Ниже — короткая карта семейства.
| Метод | Какой сигнал нужен | Нужна ли отдельная reward model | Нужна ли reference model в обучении | Что меняется относительно классического RLHF |
|---|---|---|---|---|
| DPO | Парные предпочтения: chosen/rejected | Нет | Да | Reward и PPO сворачиваются в один offline loss |
| KTO | Желательные и нежелательные ответы; пары можно разложить на такие примеры | Нет | Да | Меняется тип supervision и функция полезности |
| ORPO | Preference-данные внутри SFT-процесса | Нет | Нет | SFT и preference optimization объединяются в один шаг |
| SimPO | Парные предпочтения | Нет | Нет | Неявная награда становится reference-free, добавляется margin |
Если смотреть на авторские эксперименты, DPO проверялся на задачах управления тональностью, суммаризации и одноходового диалога; KTO — на preference-датасетах и сценариях с более слабым supervisory signal; ORPO — на HH-RLHF, UltraFeedback, AlpacaEval 2.0, MT-Bench и IFEval; SimPO — на AlpacaEval 2, MT-Bench и Arena-Hard. Но прямое сравнение между этими статьями ограничено: меняются backbone-модели, датасеты, режим SFT, длины ответов и сами judge-based метрики.
Отдельно важны две работы, которые не предлагают еще один loss, а уточняют картину. From r to Q* показывает, что DPO можно понимать как inverse Q-learning на уровне токенов, а выбор reference policy влияет на динамику неявной награды. Scaling Laws for Reward Model Overoptimization in Direct Alignment Algorithms показывает, что direct alignment-алгоритмы могут деградировать от переоптимизации даже без отдельной reward model.
Интерпретация
Наш комментарий
На наш взгляд, главный вклад DPO — не в том, что он «отменил RLHF», а в том, что он сделал alignment похожим на стандартный fine-tuning. Это очень практическое изменение: вместо сложного online-контура у вас появляется loss, который можно обучать теми же инструментами, что и обычную языковую модель.
Наследники DPO показывают, что формула «RLHF без reward-модели» слишком груба. На деле исследователи перебирают дизайн-пространство из трех вопросов: какой feedback сигнал у вас есть, нужен ли вам reference model как якорь и как именно вы регуляризуете уход модели в сторону предпочтительных ответов. KTO отвечает на первый вопрос, ORPO и SimPO — на второй, а теоретические работы 2024 года напоминают, что третий вопрос не менее важен.
Еще один вывод для практиков: выбор objective нельзя отрывать от данных. Если у вас есть хорошие парные сравнения и устойчивая reference policy, DPO остается понятным базовым выбором. Если данные приходят как отдельные хорошие и плохие ответы, логичнее смотреть на KTO. Если главный bottleneck — память и простота пайплайна, то ORPO и SimPO становятся привлекательнее, но уже с другими теоретическими компромиссами.
Ограничения и критика
Во-первых, direct alignment не гарантирует отсутствие reward hacking-подобного поведения. Работа о переоптимизации для DAA прямо показывает, что деградация возможна и без явной reward model. То есть проблема не исчезает — она меняет форму.
Во-вторых, в DPO выбор reference policy — не косметическая деталь. В интерпретации через Q-function он влияет на неявную награду и на траекторию обучения. Это одна из причин, почему «один и тот же DPO» на разных SFT-моделях может вести себя заметно по-разному.
В-третьих, поздняя критика DPO подчеркивает, что изначальная эквивалентность с RLHF опирается на идеализированные допущения. Как только в тренировку входят неизбежные ограничения вроде ранней остановки, weight decay или ограниченной параметризации, строгая теоретическая связь между исходной RLHF-постановкой и DPO-объективом становится менее прямой. Это не делает DPO бесполезным, но делает опасной слишком сильную интерпретацию в духе «мы точно оптимизируем то же самое, что и RLHF».
В-четвертых, часть громких результатов ORPO и SimPO завязана на конкретные open-chat benchmark’и и judge-based оценки. Это полезные сигналы, но они не равны полной картине alignment и тем более не равны полной картине безопасности. Для safety-контекста нужны отдельные проверки на отказоустойчивость, обман, jailbreaks и другие failure modes.
Заключение
DPO сделал важную вещь: превратил alignment по предпочтениям из сложного RL-пайплайна в обычный offline loss для fine-tuning. Его наследники показали, что на этом работа не заканчивается: после отказа от отдельной reward-модели остаются вопросы о формате feedback, роли reference model и риске переоптимизации.
Если вам нужен практический вывод в одну строку, он такой: выбирать между DPO, KTO, ORPO и SimPO стоит не по одному leaderboard-скриншоту, а по типу ваших данных, цене вычислений и тому, насколько вам нужен стабильный якорь в виде reference policy.
Источники
- Training language models to follow instructions with human feedback
- Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback
- Direct Preference Optimization: Your Language Model is Secretly a Reward Model
- Direct Preference Optimization: Your Language Model is Secretly a Reward Model (NeurIPS 2023)
- From r to Q*: Your Language Model is Secretly a Q-Function
- KTO: Model Alignment as Prospect Theoretic Optimization
- ORPO: Monolithic Preference Optimization without Reference Model
- ORPO: Monolithic Preference Optimization without Reference Model (EMNLP 2024)
- SimPO: Simple Preference Optimization with a Reference-Free Reward
- Scaling Laws for Reward Model Overoptimization in Direct Alignment Algorithms
- New Desiderata for Direct Preference Optimization
- Insights into Alignment: Evaluating DPO and its Variants Across Multiple Tasks
FAQ
DPO полностью заменяет RLHF?
Не полностью. DPO заменяет классическую связку «отдельная reward model плюс RL-шаг» на прямую оптимизацию политики по preference-датасету. Но сама задача alignment по человеческим предпочтениям никуда не исчезает.
Почему говорить «без reward-модели» не совсем точно?
Потому что в DPO reward не пропадает, а становится неявной величиной, выраженной через отношение вероятностей текущей и reference policy. То есть убирается отдельная сеть-награда, но не сама reward-логика.
Когда смотреть на KTO, а не на DPO?
Когда обратная связь естественно собирается как желательные и нежелательные ответы, а не как парные сравнения. KTO специально оптимизирован под такой сценарий.
Когда полезны ORPO и SimPO?
Когда для вас критичны простота пайплайна и экономия памяти на тренировке. Оба метода убирают reference model из обучения, но делают это разными способами и с разными теоретическими компромиссами.
