Данные и токенизация
16 просмотров
RLHF
Reinforcement Learning from Human Feedback
RLHF — метод выравнивания LLM по человеческим предпочтениям через обучение reward-модели и оптимизацию политики алгоритмом PPO. Использован в ChatGPT, Claude и других чат-ассистентах.
Что такое RLHF
RLHF (Reinforcement Learning from Human Feedback) — метод, которым обучают LLM быть полезными, безвредными и честными. Включает три этапа.
Пайплайн
Этап 1: SFT (Supervised Fine-Tuning)
Base model + instruction data → SFT model
Этап 2: Reward Model (RM)
Человек ранжирует ответы SFT-модели
→ обучается Reward Model (предсказывает предпочтение)
Этап 3: PPO (Proximal Policy Optimization)
SFT model оптимизируется для максимизации reward
+ KL-штраф (не уходить далеко от SFT-модели)
Этап 2: Reward Model
Аннотаторы сравнивают два ответа и выбирают лучший:
Вопрос: "Как работает квантизация?"
Ответ A: [подробное объяснение с примерами] ← chosen
Ответ B: [короткий и неточный ответ] ← rejected
RM учится: reward(A) > reward(B)
Этап 3: PPO
# Упрощённо
for batch in dataloader:
responses = policy_model.generate(batch.prompts)
rewards = reward_model(batch.prompts, responses)
kl_penalty = kl_divergence(policy_model, sft_model)
loss = -rewards + beta * kl_penalty
loss.backward()
optimizer.step()
Проблемы RLHF
- Сложность: 4 модели в памяти (policy, reference, reward, value)
- Нестабильность: PPO нестабилен и требует тонкой настройки
- Reward hacking: модель находит способы получить высокий reward без реальной пользы
- Дорогая разметка: нужны квалифицированные аннотаторы
RLHF vs DPO
| Параметр | RLHF | DPO |
|---|---|---|
| Reward Model | Нужна | Не нужна |
| Стабильность | Низкая (PPO) | Высокая |
| Модели в памяти | 4 | 2 |
| Качество | Лучшее (при правильной настройке) | Сопоставимое |
| Сложность | Высокая | Низкая |
DPO — более простая альтернатива, которая даёт сопоставимое качество при значительно меньших затратах.