RLHF и DPO на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
RLHF — как ChatGPT стал ChatGPT. На собесе DS / MLE для LLM: «зачем RLHF», «как работает reward model», «отличие DPO от RLHF».
Зачем alignment
Pre-trained LLM (после next-token prediction на интернете) умеет генерировать текст, но:
- Не следует инструкциям.
- Может выдавать вредные / неподходящие ответы.
- Часто галлюцинирует.
Alignment — настройка LLM под человеческие предпочтения.
Этапы:
- Pre-training — next token prediction.
- SFT (Supervised Fine-Tuning) — на (instruction, response) парах.
- RLHF / DPO — на human preferences.
Шаги RLHF
1. SFT. Fine-tune базовую модель на парах (prompt, ideal_response) от людей.
2. Reward Model (RM). Учим модель предсказывать качество ответа.
Data: (prompt, response_a, response_b, label) — какой ответ лучше
Loss: -log σ(r(prompt, winner) - r(prompt, loser))RM — обычно та же базовая LLM с linear head, выводящим скалярный reward.
3. RL (PPO). Fine-tune SFT-модель так, чтобы максимизировать reward от RM, но не отходить далеко от SFT (через KL penalty).
maximize E[R(prompt, response) - β · KL(π || π_SFT)]β контролирует, насколько политика может отклоняться.
Reward model
Архитектура. Базовая LLM с linear head:
hidden = LLM(prompt + response)
reward = linear(hidden[-1]) # скалярОбучение. Pairwise сравнение — Bradley-Terry model.
loss = -log(sigmoid(r_winner - r_loser))Качество RM критично. Плохая RM = плохой RLHF. Часто RM меньше базовой модели (cost), но иногда больше для качества.
Reward hacking. Политика может найти способы получать высокий reward без реального следования предпочтениям. Лечение — KL penalty + diverse RM training data.
PPO для LLM
PPO (Proximal Policy Optimization). RL-алгоритм, ограничивающий изменение политики через clipping.
Цикл:
- Политика (LLM) генерирует responses на prompts.
- RM оценивает responses.
- Policy gradient + clipping для обновления.
- KL penalty к SFT-политике.
Сложность:
- Требует 4 копии LLM в памяти: actor, critic, RM, reference (SFT). Огромно.
- Нестабильно — RL гиперпараметры тонкие.
- Длинная итерация — generation, scoring, training.
В индустрии. OpenAI, Anthropic, Google делают RLHF. Open-source — обычно DPO (проще и дешевле).
DPO как замена RLHF
Direct Preference Optimization (Rafailov 2023). Доказали: можно achieve тот же результат без явной RM и без RL.
Формула. Замкнутая форма optimal policy через preferences:
L_DPO = -log σ(β · log(π(y_w|x)/π_ref(y_w|x)) - β · log(π(y_l|x)/π_ref(y_l|x)))y_w — выигравший response, y_l — проигравший.
Преимущества:
- Один loss, single model, без RM.
- Стабильнее обучение.
- Меньше памяти.
- Часто качество не хуже PPO.
Минусы:
- Менее гибкий, чем RL (нельзя смешивать с другими reward signals).
- Чувствителен к качеству preference data.
В open-source. Почти все Llama / Mistral fine-tunes используют DPO (или его варианты — IPO, KTO).
Современные варианты
- IPO (Identity Preference Optimization) — фикс DPO на overfitting.
- KTO (Kahneman-Tversky Optimization) — без pairwise, на single labels (good / bad).
- ORPO — комбинация SFT и preference loss.
- SLiC-HF — alternative formulation.
- RLAIF — preferences не от human, а от AI (другой LLM).
- Constitutional AI — Anthropic подход с явными принципами.
Частые ошибки
RLHF без SFT baseline. Базовая LLM не следует инструкциям — RLHF не вытащит. Сначала SFT.
Маленький preference dataset. RLHF / DPO требует тысячи пар. Меньше — overfit.
Не сохранять reference model. KL-penalty без reference = модель уходит в дебри.
Усреднение RM scores. Shrinking towards mean — теряем сигнал. Используй raw scores.
Ожидать чудес. RLHF улучшает alignment, не intelligence. На сложных reasoning задачах не помогает.
Связанные темы
- BERT vs GPT на собесе DS
- RAG на собесе DS
- Transformer на собесе DS
- Loss функции на собесе DS
- Подготовка к собесу Data Scientist
FAQ
DPO заменит RLHF?
Для open-source — практически уже да. Frontier labs (OpenAI, Anthropic) пока держат RLHF + variants.
RLHF — это alignment или fine-tuning?
И то, и другое. Fine-tuning по mechanism, alignment по цели.
Можно ли сделать RLHF без human?
Да — RLAIF (от другой LLM). Качество ниже human, но в 100× дешевле.
Это официальная информация?
Нет. Статья основана на работах (Christiano 2017 RLHF, Ouyang 2022 InstructGPT, Rafailov 2023 DPO).
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.