QwenGyre от Alibaba: эластичное RL для агентов с горизонтом в часы

Команда Qwen из Alibaba представила QwenGyre — эластичный фреймворк обучения с подкреплением (RL) для агентов с экстремально длинным горизонтом. Это не модель, а система онлайн-обучения: она тренирует кодирующих агентов через немодифицированные «чёрные ящики»-обвязки (harness), прогоны которых длятся часами и обрабатывают около 1 млн токенов.

Фреймворк опробовали на флагманской модели Qwen 3.8 2.4T, а также на Qwen 3.6 122B. В основе QwenGyre две идеи: перебрасывать простаивающие GPU между этапами rollout и обучения и превращать ветвящиеся истории агента в ограниченные по размеру обучающие выборки.

Зачем понадобился эластичный RL

Задачи XLong-horizon команда определяет как прогоны агента, растянутые на часы и сотни взаимодействий с моделью и инструментами. Пример — генерация целых репозиториев по спецификации, как в NL2Repo-Bench.

На таком масштабе всплывают две проблемы. Во-первых, у прогонов длинные хвосты: в схеме Colocate обучение ждёт самую медленную сессию, а GPU простаивают; в схеме Async фиксированные пулы GPU не могут одолжить свободные мощности друг другу. Во-вторых, обвязки вроде Claude Code сжимают контекст, порождают суб-агентов и делают повторные попытки — одно исполнение превращается в ветвящееся дерево, а не в одну траекторию. Разворачивание каждого пути дублирует общие префиксы и раздувает стоимость обучения.

Как работает эластичный планировщик

QwenGyre делит GPU на ячейки с общей схемой обучения. Каждая ячейка может либо обслуживать прогоны, либо размещать полную обучающую реплику. Ядровая ячейка владеет авторитетными весами и состоянием оптимизатора, спутниковые подключаются к обучению позже.

Планировщик отслеживает «уровень воды» прогонов — очередь и число исполняемых задач. По мере завершения исполнений ячейки переключаются на обучение, как только оставшихся хватает для обслуживания всей живой работы. Вызовы модели перенаправляются через прокси, поэтому обвязка продолжает работать.

Ключевая механика:

  • блоки KV-кэша мигрируют по RDMA при перенаправлении, что снижает повторный пересчёт префиксов;
  • спутники подтягивают веса ядра через Transfer Engine проекта Mooncake и присоединяются к идущему батчу;
  • потоковое обучение позволяет ячейкам забирать микрошаги по мере готовности данных.

Среднее время переключения роли составило 8,52 с (из прогонов в обучение) и 3,46 с (из обучения в прогоны).

Как процессор траекторий собирает обучающие выборки

Прокси записывает точные ID токенов и поведенческие лог-вероятности по схеме token-in, token-out (TITO). Вызовы хранятся как деревья траекторий с общими префиксами. Дальше работает несколько правил:

  • Частичное оценивание: исполнения, вышедшие за таймаут, всё равно получают оценку по сохранённому рабочему пространству; сбои оценщика исключаются и никогда не трактуются как нулевая награда.
  • Ограниченная выборка: на одно исполнение оставляют не более 5 траекторий с приоритетом main > main-summary > sub-agent > sub-agent-summary.
  • Дедупликация: общие цели считаются один раз, обучают только токены, порождённые политикой.
  • Честное взвешивание: потери усредняются внутри каждого исполнения, поэтому лишние ветки не завышают его вес.

Ограничение в 5 траекторий дало те же обучающие оценки, что и отсутствие лимита, но сократило время forward-backward на 25,2%. Обучение идёт на адаптированном GSPO с 16 прогонами на группу.

Насколько быстрее: результаты бенчмарков

Все прогоны использовали Claude Code 2.1.220 в роли обвязки, при равных бюджетах GPU и согласованной степени устаревания данных.

Нагрузка (модель) против Async против Colocate
NL2RepoBench (Qwen 3.6 122B, 48 шагов) 1,42–1,53x 1,36–1,47x
DeepSWE (Qwen 3.6 122B, 24 шага) 1,569–1,572x 1,610–1,824x
TerminalBench (Qwen 3.6 122B, 24 шага) 1,383–1,430x 1,809–1,849x
NL2RepoBench (Qwen 3.8 2.4T, 48 шагов) 1,78x 1,21x

На модели 2.4T QwenGyre прошла 48 шагов за 75,42 часа. Async потребовалось 134,55 часа, Colocate — 91,47 часа. Доля успешных прохождений оценки выросла с 52,48% до 58,54%.

В части инфраструктуры 122B-прогоны шли на 24–32 узлах, прогон 2.4T — на 192 узлах (4 ячейки по 48). Модель GPU не раскрывается; обучение ведёт Megatron, прогоны обслуживает SGLang. Объём — около 700 тыс. токенов на прогон.

Чем QwenGyre отличается от других RL-фреймворков

Характеристика QwenGyre veRL AReaL Agent Lightning
Разработчик Alibaba Qwen ByteDance Seed + сообщество Tsinghua IIIS + Ant Group Microsoft
Лицензия не раскрыта Apache-2.0 Apache-2.0 MIT
Размещение GPU эластичные ячейки, переключение посреди прогона гибкое отображение устройств, перешардирование HybridEngine полностью асинхронное не раскрыто
Обвязка «чёрный ящик» да, через прокси не раскрыто да, через подмену base_url да, почти без правок кода
Обучение / прогоны Megatron / SGLang FSDP, Megatron / vLLM, SGLang Megatron, FSDP, Archon / vLLM, SGLang не раскрыто
Заявленный масштаб Qwen 3.8 2.4T модели на 671B не раскрыто не раскрыто
Публичный код не раскрыт есть есть есть

Разработчики отдельно оговаривают: ускорения получены в собственных конфигурациях каждого проекта и напрямую не сравнимы между собой. Публичного релиза кода у QwenGyre нет, статья выложена на arXiv, есть также анонс в блоге Qwen.

Что это значит для практики

QwenGyre — инфраструктурный слой для тех, кто обучает агентов на длинных задачах, а не готовый продукт для локального запуска. Он решает две конкретные инженерные боли: простой GPU на длинных хвостах прогонов и раздувание стоимости обучения из-за ветвления агентских траекторий. Приёмы, которые можно перенести в свои пайплайны, — ограничение числа траекторий на исполнение (5 штук дали тот же результат при экономии 25,2% времени forward-backward) и частичное оценивание прерванных по таймауту прогонов вместо нулевой награды.

Смежные темы: Qwen3.8-Flash-Next — ещё одна свежая работа команды Qwen, и CUDA Agent от ByteDance — пример агента, который сам пишет низкоуровневый код.

Частые вопросы

QwenGyre — это новая модель?

Нет. Это фреймворк обучения с подкреплением. Модели, на которых его проверяли, — Qwen 3.6 122B и Qwen 3.8 2.4T.

Какие обвязки поддерживаются?

В экспериментах использовался Claude Code 2.1.220. Работа с обвязками идёт через прокси, то есть код самого инструмента менять не нужно.

Можно ли запустить QwenGyre у себя?

Публичного релиза кода нет — лицензия не раскрыта. Доступна только статья на arXiv и анонс Qwen.

Какое железо нужно для таких прогонов?

Многоузловые GPU-кластеры: 122B-прогоны шли на 24–32 узлах, прогон 2.4T — на 192 узлах. Модель GPU не раскрыта.

Что даёт ограничение в 5 траекторий на исполнение?

Оно сохраняет те же обучающие оценки, что и без лимита, но сокращает время forward-backward на 25,2%.

Как обрабатываются прогоны, не уложившиеся в таймаут?

Их не отбрасывают: оценка ставится по сохранённому рабочему пространству. Сбои самого оценщика из выборки исключаются и не превращаются в нулевую награду.

Насколько выросла точность на NL2RepoBench?

На Qwen 3.8 2.4T доля успешных прохождений выросла с 52,48% до 58,54% за 48 шагов.

Что такое TITO?

Схема token-in, token-out: прокси записывает точные ID токенов и поведенческие лог-вероятности, чтобы обучать только на токенах, порождённых политикой.

Где QwenGyre проигрывает Colocate?

На модели 2.4T ускорение относительно Colocate составило лишь 1,21x — там многие запросы шли близко к таймауту.

Источник: marktechpost.com