Генеративный AI
RLHF и DPO
Предварительные знания
- Supervised fine-tuning (SFT) как шаг перед настройкой по предпочтениям
- Базовое понимание функции потерь и оптимизации по градиенту
GPT-3 умел писать всё что угодно - включая инструкции по созданию оружия, убедительную дезинформацию и расистские тексты. Проблема не в обучении: модель просто предсказывала следующий токен по интернету, который полон всего этого. RLHF решил задачу, которую считали почти невозможной: научить нейросеть человеческим ценностям - не через правила, а через пример.
- **GPT-4 и ChatGPT**: OpenAI применяет RLHF начиная с InstructGPT (2022). Именно это сделало GPT-3 в ChatGPT - модель перестала генерировать вредный контент и начала отвечать в формате диалога. Без RLHF ChatGPT не был бы возможен в публичном виде.
- **Anthropic Claude**: Constitutional AI + RLAIF. Вместо тысяч аннотаторов - набор принципов и AI-критик. Claude-3 демонстрирует одновременно высокую полезность и безопасность благодаря итеративному применению RLAIF.
- **LLaMA-3-Instruct (Meta)**: открытая модель, обученная с DPO. Доступны веса, датасеты предпочтений и детали пайплайна. Это позволило сообществу воспроизвести и улучшить процесс выравнивания.
- **Zephyr-7B (HuggingFace)**: демонстрация того, что DPO на данных от Claude/GPT-4 даёт модель, превосходящую LLaMA-2-Chat-70B при размере 7B. Preference optimization важнее размера модели.
Как научить модель тому, что предпочитают люди
В 2017 году Paul Christiano с соавторами из OpenAI и DeepMind показали, что агент может выучить сложные цели из человеческих сравнений предпочтений, а не из вручную написанной функции награды, обучая reward model на парных оценках. В 2022 году Long Ouyang и команда OpenAI применили это к языковым моделям в InstructGPT: собрать человеческие предпочтения, обучить reward model, оптимизировать политику через PPO. Этот пайплайн стал RLHF и лёг в основу ChatGPT. RLHF работал, но был хрупким и дорогим, жонглируя сразу четырьмя моделями. В 2023 году Rafael Rafailov с коллегами из Stanford опубликовали Direct Preference Optimization, доказав, что ту же цель по предпочтениям можно оптимизировать напрямую простым loss в духе классификации, без отдельной reward model и без цикла reinforcement learning. DPO сделал настройку по предпочтениям доступной командам без RL-инфраструктуры.
Reward Model: нейросеть-судья
После instruction tuning GPT-3 умеет следовать инструкциям - но иногда пишет токсичный текст, галлюцинирует факты, или даёт технически правильный, но бесполезный ответ. Проблема: у модели нет понятия 'это хорошо, это плохо'. Решение InstructGPT (OpenAI, 2022) - обучить отдельную **reward model**, которая научится предсказывать человеческие предпочтения.
**Reward model (RM)** - это LLM с добавленной linear head, которая выдаёт скалярный score для пары (prompt, response). Обучается на данных **сравнения**: люди-аннотаторы видят один prompt и несколько ответов модели и расставляют их от лучшего к худшему. RM учится воспроизводить эти ранжирования.
**Masштаб данных**: InstructGPT использовал ~50 000 аннотированных сравнений от 40 аннотаторов. Anthropic для Claude собрал миллионы пар. Качество и разнообразие данных важнее объёма - аннотаторы с чёткими гайдлайнами дают лучший RM, чем случайные краудворкеры.
Что reward model предсказывает для пары (prompt, response)?
PPO: обучение LLM как агента
Есть reward model, умеющая оценивать ответы. Теперь нужно использовать её сигнал для улучшения основной LLM. Напрямую дифференцировать через RM нельзя - сэмплинг токенов недифференцируем. Решение: **Proximal Policy Optimization (PPO)** - алгоритм reinforcement learning, который работает со случайными политиками.
В терминах RL: **политика** - это LLM (генерирует токены). **Среда** - это reward model (оценивает сгенерированный текст). **Цель** - максимизировать reward, не уходя слишком далеко от исходной модели (чтобы не забыть базовые знания).
**Reward hacking** - главная опасность RLHF. Если RM несовершенна (а она всегда несовершенна), LLM найдёт способы получить высокий score, не улучшая реальное качество. Классический пример: модель начинает генерировать чрезмерно длинные ответы, потому что аннотаторы случайно предпочитали длинные. KL-штраф ограничивает это, но не устраняет.
**Вычислительная сложность PPO**: на каждом шаге нужно держать в памяти 4 модели одновременно - policy (обучаемая LLM), reference policy (заморожена), reward model, value model (critic). Для GPT-3 масштаба это требует десятков GPU. Именно поэтому искали альтернативы.
Зачем в RLHF добавляют KL-штраф между обучаемой моделью и reference model?
DPO: выравнивание без RL
2023 год. Команда Стэнфорда (Rafailov et al.) публикует **Direct Preference Optimization**. Идея: весь сложный пайплайн RLHF (обучение RM, PPO, KL-штраф, 4 модели) можно заменить одним supervised learning шагом. DPO показывает, что оптимальная политика под RLHF-целевой функцией имеет **замкнутую форму** - и её можно получить напрямую.
**Почему DPO работает**: reward model в RLHF является промежуточным шагом. DPO показывает, что оптимальная LLM-политика можно напрямую параметризовать через разность log-вероятностей между обучаемой и reference моделью. Reward model становится не нужной - она имплицитно закодирована в самой LLM.
Практика: **Mistral-7B-Instruct**, **Zephyr-7B**, **Llama-3-Instruct** и большинство современных open-source aligned моделей обучены с DPO или его вариантами (IPO, KTO, SimPO). Anthropic использует комбинацию RLHF и Constitutional AI для Claude.
Чем DPO принципиально отличается от RLHF+PPO?
Эволюция preference optimization
После DPO появились десятки вариантов, каждый решающий конкретные слабости оригинала. **IPO (Identity Preference Optimization)** исправляет теоретическую проблему DPO при распределённых предпочтениях. **KTO** работает с бинарными метками (хорошо/плохо) вместо пар, что упрощает сбор данных. **SimPO** убирает reference model полностью, используя длинно-нормализованный reward.
**Constitutional AI (Anthropic)**: параллельный подход, используемый в Claude. LLM сначала критикует свои ответы по набору принципов (конституции), затем ревизует их. Данные предпочтений генерирует другой AI, а не люди-аннотаторы. RLAIF (RL from AI Feedback) вместо RLHF - масштабируется без роста затрат на аннотацию.
**Стек для open-source RLHF/DPO**: HuggingFace `trl` (TRL - Transformer Reinforcement Learning). Содержит `RewardTrainer` для RM, `PPOTrainer` для RLHF, `DPOTrainer` для DPO/IPO/KTO/SimPO. Anthropic и другие лаборатории используют внутренние фреймворки, но публично демонстрируют результаты через open-source пайплайны.
DPO полностью вытеснил RLHF - все топовые модели теперь используют DPO
GPT-4 и Google Gemini используют RLHF+PPO или его вариации. DPO доминирует в open-source, но frontier labs продолжают использовать RL-подходы для части обучения
RLHF+PPO даёт больше контроля над процессом оптимизации и лучше масштабируется при наличии квалифицированных аннотаторов и вычислительных ресурсов. DPO проще, но не всегда даёт то же качество на frontier-масштабе.
Что такое RLAIF и в чём его главное преимущество перед RLHF?
Ключевые идеи
- **Reward model** - нейросеть, обученная предсказывать человеческие предпочтения из пар (chosen, rejected). Скалярный score позволяет использовать RL для оптимизации LLM.
- **PPO** превращает LLM в RL-агента: генерирует текст, получает reward от RM, обновляет политику. KL-штраф предотвращает reward hacking.
- **DPO** убирает RM и PPO: напрямую оптимизирует LLM на данных предпочтений через supervised loss. Проще, стабильнее, дешевле - выбор open-source.
- **RLAIF** масштабирует выравнивание: AI-аннотатор генерирует миллионы пар предпочтений. Anthropic использует в Constitutional AI для Claude.
- **Экосистема**: `trl` от HuggingFace реализует весь стек - от `RewardTrainer` до `DPOTrainer`. Frontier labs (OpenAI, Google) предпочитают внутренние RL-системы.
Связанные темы
RLHF и DPO - мост между предобученной моделью и моделью, готовой к деплою:
- Fine-Tuning: SFT, LoRA, QLoRA — SFT - обязательный шаг перед RLHF. Модель сначала учится следовать инструкциям, потом выравнивается по предпочтениям
- AI Safety и Alignment — RLHF/DPO - основные технические инструменты alignment. Constitutional AI строится поверх RLHF-идей
- Evaluation и Benchmarks — Качество выравнивания измеряется через MT-Bench, Chatbot Arena, AlpacaEval - специализированные бенчмарки для aligned моделей
Вопросы для размышления
- Reward model обучается на предпочтениях конкретных аннотаторов с конкретными ценностями. Как это влияет на то, чьи ценности кодируются в итоговую модель?
- DPO использует данные предпочтений, сгенерированные другой LLM (RLAIF). Если исходная модель имеет смещения - передаются ли они в обученную через DPO модель?
- Reward hacking: модель находит способы получить высокий score, не улучшая качество. Как можно обнаружить, что модель занимается reward hacking, в production?
Связанные уроки
- gai-06 — Файн-тюнинг - база, поверх которой RLHF выравнивает модель
- gai-22 — Выравнивание по предпочтениям лежит в основе безопасности
- rl-12 — PPO в RLHF - это policy-gradient обучение с подкреплением
- ml-50-policy-gradient — Оптимизация награды повторяет классические policy-gradient методы
- aie-65-alignment-rlhf-dpo — Продакшен-взгляд на тот же пайплайн RLHF и DPO
- ml-05-evaluation