中文翻译暂不可用,显示俄语原文。
GRPO (Group Relative Policy Optimization) vs PPO — чем отличается и зачем нужен?
Краткий тезис
GRPO (Group Relative Policy Optimization) — это алгоритм оптимизации политики для LLM, предложенный DeepSeek в 2025 году. В отличие от PPO (Policy Optimization|Proximal Policy Optimization]]), GRPO не требует отдельной reward model и value network, а оценивает качество ответов, сравнивая их внутри группы, сгенерированной для одного промпта. Это снижает вычислительные затраты, упрощает реализацию и повышает стабильность обучения]], особенно в задачах reasoning (например, математика, логика). GRPO стал ключевым компонентом моделей DeepSeek-R1 и DeepSeek-V3.
1. Контекст: RLHF и оптимизация политики
RLHF (Reinforcement Learning from Human Feedback) — стандартный подход для выравнивания LLM с предпочтениями человека. Он включает три этапа:
- SFT (Supervised Fine-Tuning) — дообучение на демонстрациях.
- Обучение reward model — модель, предсказывающая оценку ответа.
- RL-оптимизация — максимизация ожидаемой награды при ограничении отклонения от исходной политики.
На этапе RL чаще всего используется PPO, но он требует:
- reward model (RM) для оценки каждого ответа;
- value network (критик) для оценки преимущества (advantage);
- сложной реализации с clipping, GAE и несколькими loss-функциями.
GRPO упрощает этот пайплайн, заменяя RM и value network на групповое сравнение.
2. PPO: как работает и в чём сложность
PPO — это алгоритм on-policy RL, который обновляет политику, ограничивая шаг изменения с помощью clipping. Для LLM он выглядит так:
- Для каждого промпта генерируется один ответ.
- Reward model оценивает этот ответ, выдавая скалярную награду.
- Value network (критик) предсказывает ожидаемую награду для каждого токена.
- Вычисляется advantage (разница между реальной наградой и предсказанной ценностью).
- Обновляется политика (LLM) с помощью PPO-целевой функции:
[ L^{PPO}(\theta) = \mathbb{E} \left \min\left( r_t(\theta) \hat{A}_t, [text{clip}(r_t(\theta), 1-[epsilon](/wiki/Epsilon), 1+[epsilon](/wiki/Epsilon)) \hat{A}_t \right) \right] ]
где ( r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{[text](/wiki/text){old}}(a_t|s_t)} ) — отношение вероятностей.
Проблемы PPO:
- Дорого: нужно обучать и поддерживать reward model и value network (дополнительные модели, память, вычисления).
- Нестабильность: чувствительность к гиперпараметрам, clipping, scaling награды.
- Сложность реализации: GAE (Generalized Advantage Estimation), несколько loss-функций (policy, value, entropy).
3. GRPO: принцип работы
GRPO (Group Relative Policy Optimization) был представлен в работе DeepSeekMath (2025) и затем использован в DeepSeek-R1. Основная идея:
- Для каждого промпта генерируется группа ответов (например, 8–64) с текущей политикой.
- Каждый ответ оценивается без отдельной reward model — вместо этого используется rule-based reward (например, правильность математического ответа) или learned reward model, но только для оценки, а не для обучения критика.
- Преимущество (advantage) каждого ответа вычисляется относительно среднего по группе:
[ A_i = \frac{R_i - \mu_R}{\sigma_R} ]
где ( R_i ) — награда i-го ответа, ( \mu_R ) и ( \sigma_R ) — среднее и стандартное отклонение наград в группе.
- Политика обновляется с помощью клиппированного surrogate loss, аналогичного PPO, но без value network:
[ L^{GRPO}(\theta) = -\mathbb{E} \left \frac{1}{G} \sum_{i=1}^G \min\left( r_i(\theta) A_i, [text{clip}(r_i(\theta), 1-[epsilon](/wiki/Epsilon), 1+[epsilon](/wiki/Epsilon)) A_i \right) \right] ]
где ( G ) — размер группы, ( r_i(\theta) = \frac{\pi_\theta([text](/wiki/text){ответ}i)}{\pi{[text](/wiki/text){old}}([text](/wiki/text){ответ}_i)} ).
Ключевые моменты:
- Нет value network — advantage вычисляется напрямую из наград группы.
- Нет отдельной reward model (опционально) — можно использовать простые правила (например, совпадение с ответом в задачнике).
- Групповая нормализация делает алгоритм устойчивым к масштабу наград.
4. Сравнение PPO и GRPO (таблица)
| Характеристика | PPO | GRPO |
|---|---|---|
| Необходимость reward model | Да (отдельная обученная модель) | Нет (можно rule-based или легковесная модель) |
| Value network (критик) | Да | Нет |
| Вычисление advantage | Через GAE с value network | Нормализация по группе |
| Количество генераций на промпт | 1 | G (обычно 8–64) |
| Вычислительные затраты | Высокие (RM + value network + RL) | Средние (больше генераций, но меньше моделей) |
| Стабильность | Чувствителен к гиперпараметрам | Более стабилен за счёт групповой нормализации |
| Сложность реализации | Высокая (GAE, clipping, entropy bonus) | Средняя (только policy loss + KL penalty) |
| Память | Требует хранения value network и RM | Только политика (LLM) |
| Применимость | Универсальный RLHF | Особенно хорош для задач с объективной наградой (math, code) |
5. Зачем нужен GRPO? Преимущества
-
Снижение вычислительных затрат:
-
Упрощение пайплайна:
- Меньше компонентов — меньше точек отказа.
- Легче воспроизвести и масштабировать.
-
Повышение стабильности:
- Групповая нормализация автоматически адаптирует масштаб наград, уменьшая необходимость тонкой настройки гиперпараметров.
- Меньше проблем с расходимостью политики.
-
Эффективность для reasoning:
-
Лучшая работа с длинными цепочками рассуждений:
- DeepSeek-R1 показал, что GRPO эффективно обучает модель генерировать длинные CoT (Chain-of-Thought) без коллапса.
6. Математическая интуиция GRPO
Формально, GRPO для каждого промпта ( q ) генерирует группу ответов ( {o_1, \dots, o_G} ) из старой политики ( \pi_{[text](/wiki/text){old}} ). Затем для каждого ответа вычисляется награда ( R_i ) (например, 1 если ответ правильный, 0 иначе). Advantage:
[ A_i = \frac{R_i - [text](/wiki/text){mean}({R_1,\dots,R_G})}{[text](/wiki/text){std}({R_1,\dots,R_G})} ]
Целевая функция GRPO (с KL-штрафом для предотвращения слишком большого отклонения от reference policy):
[ J_{GRPO}(\theta) = \mathbb{E}{q \sim P(Q), {o_i} \sim \pi{[text](/wiki/text){old}}} \left \frac{1}{G} \sum_{i=1}^G \left( \min\left( \frac{\pi_\theta(o_i|q)}{\pi_{[text{old}}(o_i|q)} A_i, [text](/wiki/text){clip}\left( \frac{\pi_\theta(o_i|q)}{\pi_{[text](/wiki/text){old}}(o_i|q)}, 1-[epsilon](/wiki/Epsilon), 1+[epsilon](/wiki/Epsilon) \right) A_i \right) - [beta](/wiki/beta) \cdot [text](/wiki/text){KL}(\pi_\theta | \pi_{[text](/wiki/text){ref}}) \right) \right] ]
Здесь ( [beta](/wiki/beta) ) — коэффициент KL-регуляризации, ( \pi_{[text](/wiki/text){ref}} ) — исходная модель (обычно SFT-модель).
Интуиция:
- Ответы с наградой выше среднего получают положительный advantage → их вероятность увеличивается.
- Ответы ниже среднего — отрицательный advantage → вероятность уменьшается.
- Клиппинг предотвращает слишком резкие обновления.
- KL-штраф удерживает политику близко к reference, сохраняя языковые способности.
7. Пример: обучение математического reasoning с GRPO
Допустим, мы хотим обучить LLM решать уравнения. Промпт: "Решите 2x + 3 = 7."
Шаги GRPO:
- Генерируем 8 ответов текущей моделью.
- Для каждого ответа проверяем правильность (rule-based reward: 1 если ответ "x=2", иначе 0).
- Вычисляем среднюю награду: например, 5 из 8 правильных → mean=0.625, std≈0.48.
- Advantage для правильных: (1-0.625)/0.48 ≈ 0.78; для неправильных: (0-0.625)/0.48 ≈ -1.30.
- Обновляем политику: увеличиваем вероятность правильных ответов, уменьшаем — неправильных.
После многих итераций модель начинает стабильно генерировать правильные решения.
8. Когда выбирать PPO, а когда GRPO?
| Сценарий | Рекомендация |
|---|---|
| Есть качественная reward model (обучена на человеческих предпочтениях) | PPO (или GRPO с RM) |
| Задача с объективной наградой (math, code, фактологическая точность) | GRPO (rule-based reward) |
| Ограниченные вычислительные ресурсы | GRPO (не требует RM и value network) |
| Требуется максимальная стабильность | GRPO (групповая нормализация) |
| Необходимо тонкое выравнивание с субъективными предпочтениями | PPO (reward model лучше улавливает нюансы) |
| Исследовательский проект, быстрый прототип | GRPO (проще реализовать) |
9. Ограничения GRPO
- Зависимость от размера группы: слишком маленькая группа → шумные advantage; слишком большая → дорого.
- Rule-based reward не всегда возможен: для творческих задач (письмо, диалог) нужна RM.
- Меньше исследовано для субъективного выравнивания: PPO остаётся стандартом для RLHF с человеческими предпочтениями.
- Риск переобучения на групповые артефакты: модель может научиться "играть" в групповую статистику.
10. Пет-проект для закрепления
Задача: Реализовать упрощённую версию GRPO для обучения небольшой LLM (например, GPT-2) на задаче генерации простых арифметических выражений с правильным ответом.
Инструменты: Python, PyTorch, Hugging Face Transformers, TRL (библиотека для RLHF).
Шаги:
- Подготовить датасет промптов вида "Сколько будет 2+3?" с правильными ответами.
- Загрузить предобученную GPT-2 (или TinyLlama).
- Реализовать rule-based reward: 1 если ответ содержит правильное число, 0 иначе.
- Написать цикл GRPO:
- Оценить точность на тестовом наборе до и после обучения.
Ожидаемый результат: Модель начинает генерировать правильные ответы с высокой точностью (например, с 20% до 80%) за несколько итераций.
Дополнительно: Сравнить с PPO (используя TRL) — заметить разницу в стабильности и скорости.
11. Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 327 | RLHF и PPO для LLM |
| 329 | Reward modeling |
| 330 | Direct Preference Optimization (DPO) |
| 325 | Fine-tuning LLM |
| 331 | Alignment и безопасность |
| 326 | SFT vs RL |
12. Навигация
- Предыдущий: 327
- Следующий: 329
- Индекс: 00. Индекс разборов
Навигация
- Предыдущий: 327
- Следующий: 329
- Индекс: 00. Индекс разборов