EasyR1: Ускоряем обучение мультимодальных RL-моделей в 3 раза

Проблема: RL-тренировка — это дорого и медленно
Знакома ситуация, когда обучение модели с подкреплением (RL) занимает недели и требует десятков GPU? Особенно остро эта проблема стоит для мультимодальных моделей, работающих одновременно с текстом и изображениями.
Команда разработчиков из LLaMA Factory предлагает решение — фреймворк EasyR1, который уже используют в Amazon Web Services для построения LLM Model Hub. По их данным, система ускоряет обучение в 2-3 раза по сравнению с классическими подходами.
Что такое EasyR1?
EasyR1 — это форк проекта veRL от VolcEngine, доработанный для поддержки vision-language моделей. Фреймворк сочетает:
- Эффективность: Оптимизированная архитектура HybirdEngine (на 30% меньше памяти)
- Масштабируемость: Поддержка SPMD-режима vLLM для распределенных вычислений
- Универсальность: Работа с текстовыми и мультимодальными моделями
5 причин попробовать EasyR1
-
Широкая поддержка моделей
- Языковые: Llama3, Qwen2/2.5/3
- Мультимодальные: Qwen2-VL, Qwen2.5-VL, Qwen3-VL
- Дистиллированные: DeepSeek-R1
-
Современные алгоритмы RL
- GRPO, DAPO, Reinforce++
- ReMax и RLOO для стабильного обучения
-
Оптимизации для экономии ресурсов
- Padding-free тренировка (экономит до 40% памяти)
- Поддержка bf16 (в 2 раза меньше VRAM)
- Возобновление с чекпоинтов
-
Готовые инструменты мониторинга
- Интеграция с Wandb, SwanLab, Mlflow, Tensorboard
- Подробные метрики обучения
-
Простота развертывания
- Готовые Docker-образы
- Примеры запуска в 3 команды
Как это работает технически?
Архитектура EasyR1 основана на двух ключевых компонентах:
- HybirdEngine (из статьи на arXiv:2409.19256) — гибридный движок, оптимизирующий использование GPU
- vLLM в SPMD-режиме — для эффективного распределения вычислений

Интересный момент: для моделей 7B+ разработчики рекомендуют использовать multi-node обучение через Ray, что позволяет распределить нагрузку на несколько серверов.
Практическое применение: от математики до медицинских изображений
Вот несколько реальных кейсов использования EasyR1:
-
Решение математических задач (Geometry3K dataset)
bash examples/qwen2_5_vl_7b_geo3k_grpo.sh -
Анализ медицинских снимков (проект EditGRPO)
-
Визуальное программирование (GUI-R1 для автоматизации работы с интерфейсами)
-
Пространственное мышление (MetaSpatial для метавселенных)
Сообщество уже активно использует фреймворк — на GitHub есть более 15 проектов-побочных продуктов, включая Vision-R1 и Temporal-R1.
Насколько сложно начать?
Для быстрого старта разработчики предлагают готовый Docker-образ:
docker pull hiyouga/verl:ngc-th2.8.0-cu12.9-vllm0.11.0
docker run -it --ipc=host --gpus=all hiyouga/verl:ngc-th2.8.0-cu12.9-vllm0.11.0
А полный цикл обучения модели Qwen2.5-VL на датасете Geometry3K занимает всего 3 шага:
- Установка
- Запуск тренировки
- Объединение чекпоинтов
Ограничения и планы
Пока не поддерживается:
- LoRA (в разработке)
- Ulysses параллелизм для VL-моделей
Но команда активно работает над устранением этих ограничений.
Вывод: кому подойдет EasyR1?
Фреймворк особенно полезен:
- Исследователям RL, работающим с большими моделями
- Командам, разрабатывающим мультимодальные приложения
- Тем, кто хочет сократить затраты на обучение моделей
Если вы работаете в области reinforcement learning или компьютерного зрения, стоит попробовать EasyR1 — возможно, это именно тот инструмент, который ускорит ваши эксперименты в разы.
P.S. Для тех, кто хочет глубже разобраться в алгоритме GRPO, рекомендую объяснение от Hugging Face.
