Alibaba Qwen представи QwenGyre: еластично подсилващо обучение RL за агенти с изключително дълъг хоризонт
Екипът на Alibaba Qwen представи QwenGyre — еластична рамка за обучение с подсилване RL при обучение на агенти с изключително дълъг хоризонт. QwenGyre е система за онлайн обучение с подсилване от Alibaba, която обучава агенти за програмиране чрез немодифицирани, черни кутии harness-и. Тя е предназначена за rollout-и, които продължават с часове и обработват близо 1 млн. токена. Еластичната RL рамка QwenGyre е използвана с водещия модел на Qwen — Qwen 3.8 2.4T. Тя се основава на 2 основни идеи. Премества неактивни графични процесори между rollout и обучение. Освен това превръща разклонените истории на агентите в ограничени по размер обучаващи извадки.
Накратко
- Размер: Рамка за обучение, а не модел. Тествана с Qwen 3.6 122B и Qwen 3.8 2.4T (A95B според Qwen), с около 700 хил. токена на rollout.
- Работи на: Многоузлови GPU клъстери. Изпълненията с 122B използват 24 до 32 възела; изпълнението с 2.4T използва 192 възела (4 клетки по 48). Моделът на GPU не е посочен. Megatron извършва обучението, а SGLang обслужва rollout-ите.
- Производителност: От 1,38x до 1,78x по-бърза от Async и от 1,21x до 1,85x по-бърза от Colocate при еднакви резултати.
- Най-добър резултат: 1,85x ускорение от край до край спрямо Colocate при TerminalBench.
- Най-слаб резултат: Само 1,21x спрямо Colocate при модела 2.4T, при който много заявки са се изпълнявали близо до изтичането на времевия лимит.
- Извод:
- Най-добро: NL2RepoBench се повишава от 52,5% до 58,5% за 48 стъпки.
- Най-слабо: в статията няма линк към публично публикуван код.
Какъв проблем решава QwenGyre?
Изследователският екип определя задачите с „XLong-horizon“ като изпълнения на агенти, продължаващи с часове и включващи стотици взаимодействия с модели и инструменти. Примерите включват генериране на цели хранилища от спецификации, както при NL2Repo-Bench.
При този мащаб възникват два проблема:
- Първо, rollout-ите имат дълги опашки. При конфигурация Colocate обучението изчаква най-бавното изпълнение, докато графичните процесори бездействат. При конфигурация Async фиксираните GPU пулове не могат да си предоставят взаимно свободен капацитет.
- Второ, harness-и като Claude Code компресират контекста, стартират подагенти и правят повторни опити. Едно изпълнение се превръща в разклонено дърво, а не в единична траектория. Разгъването на всеки път дублира споделените префикси и увеличава разходите за обучение.
Как работи еластичният планировчик?
QwenGyre разделя графичните процесори на клетки, които споделят конфигурация за обучение. Всяка клетка може да обслужва rollout-и или да хоства пълна реплика за обучение. Основна клетка притежава авторитетните тегла и състоянието на оптимизатора. Сателитните клетки се включват в обучението по-късно.
Планировчикът следи нивото на rollout-ите: изпълненията на опашка и текущите изпълнения. Когато изпълненията приключат, клетките преминават към обучение, щом останалите клетки все още могат да обслужват цялата активна работа. Извикванията към модела се пренасочват чрез прокси, така че harness-ът да продължи да работи.
Основни механизми:
- Блоковете на KV кеша се мигрират чрез RDMA по време на пренасочване, което намалява преизчисляването на префиксите.
- Сателитите изтеглят основните тегла чрез Transfer Engine на Mooncake и се включват в текущ пакет.
- Поточният режим на обучение позволява на клетките да заемат микро стъпки, когато данните станат готови.
- Средното време за превключване на ролите е 8,52 секунди (от rollout към обучение) и 3,46 секунди (от обучение към rollout).
Как Trajectory Processor изгражда обучаващи извадки?
Прокси записва точните идентификатори на токените и логаритмичните вероятности на поведението чрез token-in, token-out (TITO). Извикванията се съхраняват като дървета на траекториите със споделени префикси.
- Частично оценяване: Изпълненията, при които е изтекъл времевият лимит, все пак се оценяват въз основа на запазеното им работно пространство. Неуспешните оценки се изключват и никога не се третират като нулево възнаграждение.
- Ограничено семплиране: Запазват се най-много 5 траектории на изпълнение, подредени по приоритет: основна > обобщение на основната > подагент > обобщение на подагента.
- Дедупликация: Споделените цели се броят веднъж, а за обучението се използват само токените, генерирани от политиката.
- Справедливо претегляне: Загубите се усредняват в рамките на всяко изпълнение, така че допълнителните разклонения да не увеличават неговата тежест.
Ограничението от 5 постига същите резултати при обучението като неограничения вариант, като съкращава времето за forward-backward с 25,2%. Обучението използва адаптиран GSPO с 16 rollout-а на група.
Колко бърз е QwenGyre? Резултати от бенчмарковете
Всички изпълнения използват Claude Code 2.1.220 като harness, с еднакви GPU бюджети и съпоставима остарялост.
| Работно натоварване (модел) | спрямо Async | спрямо Colocate |
|---|---|---|
| NL2RepoBench (Qwen 3.6 122B, 48 стъпки) | 1,42x до 1,53x | 1,36x до 1,47x |
| DeepSWE (Qwen 3.6 122B, 24 стъпки) | 1,569x до 1,572x | 1,610x до 1,824x |
| TerminalBench (Qwen 3.6 122B, 24 стъпки) | 1,383x до 1,430x | 1,809x до 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%.
Как се сравнява QwenGyre с други агентни RL рамки?
| Функция | QwenGyre | veRL | AReaL | Agent Lightning |
|---|---|---|---|---|
| Разработчик | Alibaba Qwen | ByteDance Seed + общността | Tsinghua IIIS + Ant Group | Microsoft |
| Лиценз | Не е посочен | Apache-2.0 | Apache-2.0 | MIT |
| Разпределение на GPU | Еластични клетки, превключване по време на rollout | Гъвкаво съпоставяне на устройствата, преоформяне чрез HybridEngine | Изцяло асинхронно | Не е посочено |
| Harness черна кутия | Да, чрез прокси | Не е посочено | Да, чрез замяна на base_url | Да, с почти нулева промяна в кода |
| Обучение / rollout | Megatron / SGLang | FSDP, Megatron / vLLM, SGLang | Megatron, FSDP, Archon / vLLM, SGLang | Не е посочено |
| Най-голям заявен мащаб | Qwen 3.8 2.4T | Модели с 671B параметъра | Не е посочено | Не е посочено |
| Основно ускорение | До 1,85x спрямо Colocate | Не е посочено | 2,77x спрямо синхронния режим (v0.3) | Не е посочено |
| Публичен код | Не е посочено | Да | Да | Да |
Ускоренията са постигнати при собствените конфигурации на всеки проект и не са пряко сравними.
Основни изводи
- QwenGyre премества графични процесори между rollout и обучение, без да спира активните агенти.
- Дърветата на траекториите ограничават извадките до 5 на изпълнение и обучават споделените префикси веднъж.
- Изпълненията с изтекъл времеви лимит все пак се оценяват въз основа на частично свършената работа.
- До 1,85x по-бърза от Colocate и 1,78x по-бърза от Async.
- Qwen 3.8 2.4T NL2RepoBench се подобрява от 52,5% до 58,5% за 48 стъпки.
Вижте пълната статия за QwenGyre в arXiv и публикацията на Qwen. Всички заслуги принадлежат на изследователя на този проект. Също така не се колебайте да ни последвате в Twitter и не забравяйте да се присъедините към нашия 150k+ ML SubReddit и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.