一次执行跑上几个小时,触发几百次工具调用,烧掉近百万Token。这已经不是一个代码补全请求的尺度,而是一整个工作日的工作量。阿里Qwen团队公开了一套训练系统,专门用来对付这种"超长程"智能体训练——QwenGyre,一个弹性强化学习框架(arXiv 2609.33848)。
![]()
先看他们给出的数字:旗舰模型Qwen 3.8 2.4T,每次rollout约70万Token,NL2RepoBench从52.5%提升到58.5%,只用了48步。整轮训练耗时75.42小时,而Async基线是134.55小时,Colocate是91.47小时。同等分数下,最快提速1.85倍。
用强化学习训练智能体,像带一个初级工程师:他做任务,你打分,他调整。问题在于,一次"尝试"可能耗时3小时,另一次只要20分钟,两笔账立刻算不平。
第一笔叫"掉队税"。GPU空转,等最慢的那次执行跑完,像一屋子人盯着天花板,等最后一个孩子交卷。第二笔叫"冗余税"。一次执行会分叉出许多路径,开头大多相同,朴素地全部拿来训练,等于把同一段前缀反复重算。
QwenGyre同时处理这两笔账。它不是模型,是模型外面那套训练系统。
常规RL设置只有两个都不太好的选项。Colocate:所有GPU先做rollout,再一起训练,整个池子等最慢的那次执行。Async:把池子静态劈成两半,一半rollout一半训练,但两边不能互借空闲GPU,掉队的执行慢慢滴回来时,另一半容量就干晾着。
QwenGyre把硬件组织成可独立切换的cell。rollout执行一结束,cell就地从推理翻转为训练。正在跑的harness不被打断:模型请求在飞行中被改道到剩余的rollout引擎,KV缓存通过RDMA迁移,不做重算,腾出来的cell作为额外的数据并行副本加入当前训练步。
切换本身很快:rollout转训练8.52秒,切回来3.46秒。对照动辄数小时的执行,这点开销可以忽略。
第二项创新是怎么从分叉的智能体历史里造训练样本。框架把分叉历史重建为前缀共享的轨迹树,一次执行共同的开头只存一次、只训一次,而不是每条分支各来一遍。
超时的执行也不扔。保留的工作区按原样打分,一个完成80%、跑了3小时的执行照样能提供学习信号。冗余路径会被去重,每次执行最多保留5条轨迹。评测器失败的样本直接排除,而不是记零分——坏掉的评分器不该污染信号。
5条轨迹的上限与不设上限的分数持平,同时把前向反向时间砍掉25.2%。一次执行分叉8条时,仅前缀共享就带来2.1倍收益,加上上限推到3.1倍。
规模测试给得不算含糊:Qwen 3.6 122B跑在24到32个节点上,Qwen 3.8 2.4T跑在192个节点上(4个cell,每个48节点),rollout由SGLang服务,训练在Megatron里进行,全程跑在一个未经修改的黑盒harness里(Claude Code 2.1.220)——框架不能靠改智能体工具来作弊。
结果:NL2RepoBench上+6.06个百分点(52.48%到58.54%),48步,考的是仓库级编码,不是选择题。端到端比Async快1.78倍,比Colocate快1.85倍。当大量查询撞上超时,差距会收窄,2.4T上最差情况只有1.21倍——掉队的执行仍然咬人,只是咬得轻了些。
需要说清楚的是,这些数字由厂商自行报告,论文没有附公开代码。把它当作一项技术的存在性证明,而不是一个可以下载的东西。
真正值得记下的判断是:智能体的前沿已经挪到了训练循环里。当单次执行要跑几小时、花掉近百万Token,瓶颈不在模型,在GPU调度和轨迹卫生。模型外面那套harness和RL系统,正在决定谁赢——就像今年早些时候,智能体harness决定了能力上限一样。
弹性优于切分。只要工作负载的耗时高度不均,固定分割就会搁浅容量,让硬件跟着工作走。别丢掉半成品。给超时执行按保留状态打分,能捞回朴素"奖励记零"直接扔掉的学习信号。如果你在做智能体,长程评测已经是真正算数的基准,一个任务撑不住一小时,提示词工程补不上这个缺口,只能在那里训练它。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.