RLHF и DPO на собеседовании Data Scientist

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — 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 под человеческие предпочтения.

Этапы:

  1. Pre-training — next token prediction.
  2. SFT (Supervised Fine-Tuning) — на (instruction, response) парах.
  3. 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.

Цикл:

  1. Политика (LLM) генерирует responses на prompts.
  2. RM оценивает responses.
  3. Policy gradient + clipping для обновления.
  4. KL penalty к SFT-политике.

Сложность:

  • Требует 4 копии LLM в памяти: actor, critic, RM, reference (SFT). Огромно.
  • Нестабильно — RL гиперпараметры тонкие.
  • Длинная итерация — generation, scoring, training.

В индустрии. OpenAI, Anthropic, Google делают RLHF. Open-source — обычно DPO (проще и дешевле).

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

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 задачах не помогает.

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

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+ вопросами для собесов.