GRPO в библиотеке TRL

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

О чём урок

На этой странице мы узнаем, как реализовать оптимизацию политики относительной группы (Group Relative Policy Optimization, GRPO) с использованием библиотеки Transformer Reinforcement Learning (TRL). Мы сосредоточимся на практической реализации с минимальным объемом кода. Мы рассмотрим основные концепции GRPO, реализованные в GRPOTrainer библиотеки TRL, используя фрагменты из официальной документации TRL в качестве руководства. [!СОВЕТ] Эта глава предназначена для новичков в TRL. Если вы уже знакомы с TRL, возможно, вам также будет интересно ознакомиться с реализацией GRPO в Open R1. Прежде всего, давайте вспомним некоторые важные концепции алгоритма GRPO: Формирование групп: Модель генерирует несколько completions для каждого prompt. Обучение предпочтениям: Модель обучается на основе функции reward, которая сравнивает группы completions. Конфигурация обучения: Модель использует конфигурацию для управления процессом обучения. Что нам нужно сделать для реализации GRPO? Определить dataset prompts. Определить функцию reward, которая принимает список completions и возвращает список rewards. Настроить процесс обучения с помощью GRPOConfig. Обучить модель с использованием GRPOTrainer. Вот минимальный пример для начала обучения GRPO: Ваш dataset должен содержать prompts, на которые модель будет отвечать. GRPO trainer будет генерировать несколько completions для каждого prompt и использовать функцию reward для их сравнения. Функция reward имеет решающее значение — она определяет, как модель обучается. Вот два практических примера: Ключевые параметры, которые следует учитывать в GRPOConfig: Параметр num_generation особенно важен для GRPO, поскольку он определяет размер группы — сколько различных completions модель сгенерирует для каждого prompt. Это ключевое отличие от других методов RL: Слишком мало (например, 2-3): Может не обеспечить достаточного разнообразия для значимых сравнений Рекомендуется (4-16): Обеспечивает хороший баланс между разнообразием и вычислительной эффективностью Большие значения: Могут улучшить обучение, но значительно увеличивают вычислительные затраты Размер группы следует выбирать исходя из ваших вычислительных ресурсов и сложности задачи. Для простых задач могут быть достаточны меньшие группы (4-8), тогда как более сложные задачи рассуждения могут выиграть от больших групп (8-16).

План урока

  1. Ключевые компоненты
  2. 1. Формат Dataset
  3. 2. Функция Reward
  4. 3. Конфигурация обучения
  5. Советы для успеха
  6. Разработка функции Reward
  7. 1. Rewards на основе длины
  8. 2. Rewards на основе правил для проверяемых задач

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

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