Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
QwenGyre позволяет обучать LLM-агентов на многочасовых задачах, не останавливая живые запуски ради очередного шага обучения. В препринте Weiqi Wang и соавторов, который не прошёл рецензирование и содержит их собственные замеры, система завершила эксперименты быстрее двух распространённых схем размещения GPU — Colocate и Async. Для команд, которые обучают агентов на целых репозиториях, инфраструктуру теперь можно планировать вокруг меняющейся нагрузки, а не жёсткого разделения вычислителей.
Почему длинные прогоны оставляют GPU без работы
Один сверхдлинный прогон агента может продолжаться несколько часов, включать сотни обращений к модели и инструментам и обработать около миллиона токенов. Такие прогоны заканчиваются неравномерно: часть задач уже готова, пока несколько отстающих продолжают занимать очередь.
Colocate использует общий пул GPU и по очереди переключает его между прогонами и обучением. Если хотя бы один запуск ещё работает, готовые GPU не переходят к обновлению модели. Async выделяет постоянные пулы для обеих стадий, поэтому вычислители обучения ждут данные, а освободившиеся вычислители прогонов не могут им помочь.
QwenGyre делит GPU на переключаемые ячейки. Когда незавершённых прогонов становится меньше, планировщик переводит свободные ячейки на обучение, но сохраняет достаточно ресурсов для следующих обращений действующих агентов. Состояние задачи и рабочий каталог остаются вне GPU, поэтому запрос можно перенаправить на другой вычислитель без перезапуска всего процесса.
Одна основная ячейка хранит параметры модели и состояние оптимизатора. Дополнительные ячейки получают снимок параметров и присоединяются даже к уже начатой обучающей партии. Система распределяет оставшуюся работу с учётом того, сколько успела каждая ячейка, чтобы они закончили примерно одновременно.
Как ветвящийся запуск превращают в обучающие примеры
Долгий агент редко сохраняет одну линейную переписку. Управляющая оболочка сокращает переполненную историю, запускает вспомогательных агентов с отдельным контекстом и повторяет неудачные ветви. Если просто развернуть все пути в независимые примеры, общие начала многократно попадут в обучение и увеличат его стоимость.
QwenGyre записывает точные запросы и ответы модели, а затем собирает из них дерево траекторий. Каждый ответ остаётся связан с тем контекстом, который модель действительно видела при генерации. Это важно после сокращения истории: механическое объединение сообщений создало бы контекст, которого в исходном запуске не существовало.
После завершения задачи система оценивает сохранённое рабочее пространство. Если агент упёрся в срок, но успел выполнить проверяемую часть работы, она получает оценку частичного результата. Сбой инфраструктуры или проверяющего компонента отделяется от корректной нулевой оценки и не превращается в обучающий сигнал.
Затем процессор выбирает ограниченный набор путей по приоритету ролей. В функцию потерь входят только токены, которые сгенерировала обучаемая модель; ответы инструментов и внешние сообщения маскируются. Общий ответ учитывается один раз, даже если он входит в несколько ветвей, а потери сначала усредняются внутри запуска. Поэтому задача с большим числом вспомогательных веток не получает непропорционально высокий вес.
Когда QwenGyre меняет инфраструктурный план
На трёх наборах задач по работе с кодом QwenGyre ускорила полный цикл до 1,85 раза относительно Colocate и до 1,78 раза относительно Async при равном бюджете GPU и одинаковых требованиях к давности обучающих данных. При этом итоговые показатели обучения соответствовали базовым схемам.
Проверки охватывали NL2RepoBench, DeepSWE и TerminalBench на Qwen 3.6 122B. Отдельно Qwen 3.8 2.4T обучали на NL2RepoBench: результат вырос с 52,5% до 58,5% за 48 шагов. Это показывает не только экономию времени инфраструктуры, но и то, что система выдерживает обучение модели крупного масштаба на проектных задачах.
Подход меняет план для команд, которые уже собираются обучать агентов через существующую управляющую оболочку и сталкиваются с длинным хвостом запусков. Оболочку не требуется переносить внутрь системы обучения: QwenGyre работает через посредника, который записывает обращения к модели и перенаправляет их при смене роли GPU.
Архитектура требует нескольких независимо переключаемых ячеек, каждая из которых вмещает выбранную схему параллельного обучения. Поэтому она рассчитана на крупные пулы GPU, а не на небольшую установку с одним неделимым набором вычислителей. Проверяли задачи разработки программ с долгоживущим рабочим пространством; результаты не дают оснований менять инфраструктуру обычного запуска LLM или обучения на коротких линейных диалогах.
Есть и компромисс в подготовке данных. Когда система выполняет несколько шагов обучения между публикациями параметров, она распределяет готовые прогоны по мере поступления и не может заранее перемешать все партии глобально. Режим с одним шагом сохраняет такое перемешивание, но слабее перекрывает обучение продолжающимися прогонами.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



