# Alignment: RLHF и DPO

> Alignment LLM: RLHF, reward model и DPO — как из base model делают полезного ассистента и что спрашивают на собеседовании.

Раздел: [LLM: обучение и инференс](https://ml-book.com/s/llm/) · Страница темы: https://ml-book.com/t/alignment/ · Обновлено: 2026-09-16 · Источник: ml-book.com, учебник делается сообществом

## Интуиция

После [претрейнинга](https://ml-book.com/t/pretraining/) и [SFT](https://ml-book.com/t/finetuning/) модель умеет отвечать в правильном формате, но «правильном» по чьим меркам? Полезность, безвредность и честность (helpful, harmless, honest) — вещи, которые трудно описать эталонным ответом, зато легко сравнить: покажи человеку два ответа, и он скажет, какой лучше. Выравнивание (alignment) — это обучение модели на таких сравнениях: не «пиши вот так», а «из этих двух — вот этот лучше».

## Классический RLHF: три этапа

RLHF (Reinforcement Learning from Human Feedback) — конвейер из трёх шагов:

- **SFT** — учим базовую модель формату диалога на эталонных ответах.
- **Reward model (RM)** — отдельная модель-судья. Разметчики сравнивают пары ответов («A лучше B»), и RM учится выдавать число-награду, согласованное с этими предпочтениями.
- **RL (обычно PPO)** — политика (сама LLM) генерирует ответы, RM их оценивает, и веса обновляются так, чтобы награда росла. При этом к лоссу добавлен KL-штраф — расстояние до исходной (reference) политики:

`max_θ E[r(x, y)] − β · KL(π_θ ‖ π_{ref})`

Зачем KL? Reward model — несовершенный прокси. Если оптимизировать её без ограничений, политика найдёт дыры: научится выбивать высокую награду текстами, которые человеку на самом деле не нравятся (reward hacking) — например, бесконечными вежливыми оговорками. KL-поводок не даёт модели уйти далеко от разумного исходного поведения.

Проблемы RLHF известны: дорого (нужна разметка, отдельная RM и онлайн-генерация), нестабильно (RL капризен к гиперпараметрам), плюс систематические перекосы — той же природы, что подхалимство (sycophancy): люди чаще лайкают ответы, которые с ними соглашаются, и модель это выучивает.

## DPO: та же цель без RL

DPO (Direct Preference Optimization) замечает: оптимум RLHF-задачи с KL-штрафом можно выразить аналитически и обучать политику *напрямую* на парах предпочтений, без отдельной reward model и без RL. Лосс поощряет рост вероятности выбранного ответа y_w относительно отвергнутого y_l — с оглядкой на reference:

`L = −log σ( β·[ Δlog π_θ(y_w) − Δlog π_θ(y_l) ] ), где Δ — сдвиг относительно π_{ref}`

Получается обычное supervised-обучение: стабильнее, проще, без онлайн-сэмплирования. Параметр β играет ту же роль KL-поводка: большой β сильно привязывает политику к reference.

> **💡 Ключевая мысль**
>
> Вся суть alignment — «оптимизируй предпочтения, но не убегай от reference-политики»: без поводка модель выучивает не качество, а дыры в его измерителе.

> 🎛 Интерактивная визуализация — на странице темы: https://ml-book.com/t/alignment/

Проведи эксперимент: при маленьком β последовательно выбирай ответы правее — колокол уедет к краю (и KL взлетит: политика «забыла» исходное поведение). Поставь большой β и повтори: политика почти не сдвигается — поводок держит её у reference. Это тот самый компромисс «оптимизация предпочтений vs сохранение модели».

## Фидбек без людей: RLAIF и проверяемые награды

Человеческая разметка дорога, поэтому её всё чаще заменяет ИИ-фидбек — RLAIF (RL from AI Feedback): сильная модель сравнивает ответы вместо разметчика. Вариант — Constitutional AI: модель критикует и переписывает собственные ответы по списку явных принципов («конституции»), и на этих данных обучается предпочтениям.

Для reasoning-моделей набирает силу RLVR (RL with Verifiable Rewards): награда не субъективное мнение, а проверяемый факт — сошёлся ли ответ задачи по математике, прошли ли тесты сгенерированный код. Такую награду почти невозможно «взломать» лестью, поэтому RLVR стал двигателем прогресса в рассуждениях.

> **⚠️ Подводный камень**
>
> Не путай роли: reward model — это *прокси* человеческих предпочтений, а не истина. Чем сильнее давишь оптимизацией на прокси, тем больше расходятся «высокая награда» и «хороший ответ» (закон Гудхарта). KL-штраф и ранняя остановка — не бюрократия, а главная защита от этого расхождения.

> **🎤 На собеседовании**
>
> - «Зачем KL-штраф в RLHF?» — RM несовершенна; без поводка политика находит её дыры (reward hacking) и вырождается. KL держит модель рядом с reference.
> - «Чем DPO отличается от RLHF?» — та же цель (предпочтения + KL), но прямой supervised-лосс на парах: без отдельной RM, без PPO, без онлайн-генерации — проще и стабильнее.
> - «Что такое sycophancy и откуда она?» — модель учится соглашаться с пользователем, потому что разметчики чаще предпочитают согласные ответы; это перекос данных предпочтений, а не «характер» модели.
> - «Почему для математики и кода используют RLVR?» — награда проверяема (ответ сошёлся, тесты прошли), поэтому её нельзя выбить красивым, но неверным текстом.

## Связанные темы

- [Fine-tuning: SFT, LoRA, PEFT](https://ml-book.com/t/finetuning/)
- [Обучение с подкреплением: Q-learning и PPO](https://ml-book.com/t/reinforcement-learning/)
- [Reasoning-модели и test-time compute](https://ml-book.com/t/reasoning-models/)
- [Оценка LLM: бенчмарки и LLM-as-judge](https://ml-book.com/t/llm-evals/)

---

Интерактив, тест из 12 вопросов и карточки терминов — на странице темы: https://ml-book.com/t/alignment/
Весь учебник в markdown: https://ml-book.com/llms-full.txt · Оглавление для агентов: https://ml-book.com/llms.txt
