GRPO в DeepSeekMath: как устроен алгоритм

Урок 19 из 104 курса «HuggingFace: курс по Transformers»: официальный курс Hugging Face Learn (Хаггинг Фейс) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

[!TIP] Этот раздел посвящен техническим и математическим деталям GRPO. Его автором является Ширин Ямани. Давайте углубим наше понимание GRPO, чтобы улучшить процесс обучения нашей модели. GRPO напрямую оценивает ответы, сгенерированные моделью, сравнивая их внутри групп генерации для оптимизации policy model, вместо обучения отдельной value model (Critic). Этот подход значительно снижает вычислительные затраты! GRPO может быть применен к любой проверяемой задаче, где корректность ответа может быть определена. Например, в математических рассуждениях корректность ответа легко проверить, сравнив его с ground truth. Прежде чем углубляться в технические детали, давайте представим, как GRPO работает на высоком уровне: Теперь, когда у нас есть визуальный обзор, давайте пошагово разберем, как работает GRPO. Основное новшество GRPO заключается в его подходе к одновременной оценке и обучению на основе нескольких сгенерированных ответов. Вместо того чтобы полагаться на отдельную reward model, он сравнивает output'ы внутри одной группы, чтобы определить, какие из них следует усилить. Давайте подробно рассмотрим каждый шаг алгоритма: Первый шаг — сгенерировать несколько возможных ответов для каждого вопроса. Это создает разнообразный набор output'ов, которые можно сравнивать друг с другом. Для каждого вопроса \( q \) модель сгенерирует \( G \) output'ов (group size) из обученной policy: { \( {o_1, o_2, o_3, \dots, o_G}\pi_{\theta_{\text{old}}} \) }, \( G=8 \), где каждый \( o_i \) представляет собой одно завершение от модели. Чтобы сделать это более конкретным, давайте рассмотрим простую арифметическую задачу: Вопрос \( q \) : \( \text{Вычислите}\space2 + 2 \times 6 \) Output'ы \( (G = 8) \): \( {o_1:14 \text{ (правильно)}, o_2:16 \text{ (неправильно)}, o_3:10 \text{ (неправильно)}, \ldots, o_8:14 \text{ (правильно)}} \) Обратите внимание, что некоторые из сгенерированных ответов верны (14), в то время как другие неверны (16 или 10). Это разнообразие имеет решающее значение для следующего шага. Как только у нас есть несколько ответов, нам нужен способ определить, какие из них лучше других. Здесь вступает в игру расчет advantage.

План урока

  1. Алгоритм GRPO
  2. Шаг 1: Групповая выборка
  3. Пример
  4. Шаг 2: Расчет Advantage
  5. Распределение вознаграждений
  6. Формула значения Advantage
  7. Интерпретация
  8. Шаг 3: Обновление Policy

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды