Nebius 将 rollout 收集时间缩短 66.9%,智能体强化学习瓶颈在推理
Nebius cut rollout collection time by 66.9% — here’s what changed
Nebius 在基于 Terminal-Bench 的工作负载实验中,通过调整路由、沙箱执行和批次组装,把 256 条轨迹批次的固定权重收集时间缩短了 66.9%。Nebius AI 训练副总裁 Di Jin 指出,rollout 生成常占训练单步的大部分时间,团队应把推理引擎当作后训练 RL 优化器的一部分,并以“可训练批次时间”而非每秒 token 数衡量效率。他还强调环境构建是新的数据整理工作,未被度量的策略陈旧才是问题。
正文 · AI 翻译
在AI智能体训练中,你即使花钱买了强大的GPU,仍可能把大量时间花在等待上。智能体需要先尝试任务并产出结果,模型才能从中学习。少数几次缓慢的尝试就可能拖住下一次训练更新,因此运行这些任务的系统成为影响训练速度和成本的主要因素。
总部位于阿姆斯特丹的Nebius公司AI训练副总裁Di Jin表示,从预训练或监督微调转过来的团队可能会低估这些系统所做的工作。
“如果你把它当作一个训练项目来配置人员和设计,推理就会变成无人负责的瓶颈。”
rollout生成往往占据一个训练步骤实际耗时的大部分,因此批处理、缓存管理和调度对模型能多快学习至关重要。“如果你把它当作一个训练项目来配置人员和设计,推理就会变成无人负责的瓶颈,”Jin说。
可训练批次的时间
他补充说,工程师应当把“可训练批次时间”与吞吐量一并衡量。平均每秒token数可能掩盖长尾问题:在同步批次中,直到最后一条轨迹完成,该步骤才能结束。
智能体轨迹的长度并不都相同。许多轨迹很快完成,另一些则耗时更长,导致训练GPU在等待少数几个拖后腿的轨迹。因此,Jin建议工程师把推理引擎视为后训练强化学习优化器的一部分。
被误解的数据
从旧模型版本生成的数据中学习涉及一种权衡。Jin说,一定程度的策略滞后可以通过让生成与训练重叠来提高GPU效率,但其安全性取决于策略变化了多少,以及训练算法如何处理这种差异。
Jin对The New Stack表示:“在完全同步的RL中,推理GPU在训练运行时等待,训练GPU在生成运行时等待。让生成使用落后一次或几次更新的权重,可以让两者并行运行。正是这种重叠,使大多数大规模系统达到合理的利用率。”他补充说,当困难任务的成功很罕见时,一条已经成功的轨迹即使略微陈旧,也可能值得复用。
当生成轨迹的策略与正在训练的策略偏离太远时,陈旧性就会变得有害。有用的衡量指标是散度,而不是对数据可以旧多少个训练步骤设定一个通用上限。
“陈旧性不是敌人。未被度量的陈旧性才是。”
工程师和组织不应试图消除旧数据,而应度量并管理陈旧性。他们可以应用重要性采样校正,通常做截断以限制方差;丢弃或降低超过陈旧性阈值的样本的权重;并跟踪生成策略与当前策略之间的散度。Jin说:“陈旧性不是敌人。未被度量的陈旧性才是。”
环境就是新的数据
根据Jin的经验,在成功的RL后训练中,数据和环境占据了大部分工作。算法设计只占最小的一部分,而基础设施则支撑快速迭代。“基础设施决定你能多快迭代。但模型实际学到什么,取决于你给它的任务、环境和奖励,”他说。
对智能体而言,这意味着要聚焦于生成训练经验的环境。监督微调使用收集好的数据集;在智能体RL中,模型通过与环境的交互生成轨迹。
可复现的容器、代码库、网站和具有真实状态的API,有助于模型所学迁移到实际使用中。工程师还需要可靠的验证器和处于有用难度水平的任务。随着模型改进,任务集需要更新,以免任务饱和、不再产生学习信号。Jin说:“构建环境就是新的数据整理。”
与以往的技术一样,问题往往出现在系统相互交接的地方。训练器、推理引擎、沙箱和验证器可能各自都能正常工作,但故障却在接口处出现。模型可能利用验证器的漏洞,为并未完成预期任务的行为获得奖励。沙箱也可能失败或行为异常,从而污染训练数据。
工程师应记录一个回合最终是模型成功、模型失败、基础设施失败还是结果未知。将可归因于基础设施的失败排除在策略梯度更新之外。由模型自身行为导致的失败仍应计为模型失败,这样触发超时或其他错误就不会成为逃避惩罚的途径。
长时程智能体RL结合了轨迹、工具调用和外部延迟,造成GPU需求的突发高峰和等待期。对于GRPO式训练——即对同一任务的多个同级尝试相互评分——工程师应围绕组完成情况而非启动顺序进行调度。一个组在所有同级尝试完成后进入就绪池;训练器随后取出符合条件的完整组,而不论它们何时启动。可训练批次时间是主导指标,而每秒token数仍可用于诊断推理。路由很重要,因为让对话保持接近其缓存历史可以避免重复的预填充工作。
在Nebius一项基于Terminal-Bench的工作负载实验中,对路由、沙箱执行和批次组装的改动,将256条轨迹批次的固定权重收集时间缩短了66.9%。该测量针对的是批次收集,不包括训练器的前向、反向和优化器工作;它并未测量完整的训练速度。
对于智能体AI rollout,基础设施的一个目标是减少昂贵GPU在等待沙箱、浏览器、代码执行和其他非GPU依赖上花费的时间。
“你最昂贵的GPU往往在等待你最便宜的容器。”
Jin建议将CPU和沙箱容量与GPU独立扩展,并慷慨地配置,因为空闲容器的成本相对较低。“你最昂贵的GPU往往在等待你最便宜的容器,”他说。
保持沙箱就绪,使用快照和fork方法,可以将环境启动移出关键路径。它并不能消除运行工具所需的时间。Jin建议尽可能将沙箱放在与GPU相同的网络结构上,以尽量减少智能体可能进行的数百次工具调用的累积延迟。每步超时和预算可以限制挂起的浏览器或进程带来的干扰。工程师应跟踪等待环境所花费的GPU小时数,同时跟踪利用率和达到可训练批次的时间,以确定额外投资在哪些方面会有帮助。
当数学对不上时
在RL后训练期间,rollout引擎和训练器可能对相同的token赋予不同的概率,即使它们从相同的权重开始。量化、内核、批处理,以及在混合专家模型中,专家路由都可能有所贡献。这些差异可能给训练更新引入系统性偏差。
Jin建议先对齐数值,然后测量并纠正剩余的失配。这可能意味着将训练器前向传播中使用的量化方案和计算与rollout引擎匹配,同时为优化保留更高精度的权重。重要性采样校正可以帮助管理残余差异,但不应假定仅靠裁剪就能解决所有形式的失配。
评估应使用将要服务模型的精度、推理引擎和版本。更改量化或内核需要重新评估。
保持权重同步
随着训练更新策略,rollout工作进程需要一种可靠的方式来接收新权重,同时将策略滞后保持在可接受的限度内。Jin描述了三种大致模式:当训练和推理共享GPU时在内存中重新分片权重;将权重直接传输到单独的推理工作进程;以及发布检查点,由推理引擎通过存储热加载。最佳选择取决于模型、硬件拓扑和新鲜度要求。
完全重启服务可能引入可避免的停机时间,但基于存储的发布不必要求重启。异步传输和紧凑更新可以将大部分工作移出关键路径。团队应将端到端发布延迟与应用权重所需的暂停分开测量。
权重发布还需要针对活动请求和缓存状态制定明确计划。根据引擎的不同,团队可以在应用更新前完成、中止或暂停请求,并根据需要清除或重新计算缓存上下文。如果一条轨迹跨越多个策略版本,记录生成其token的版本,以便训练系统能够有意识地处理这种混合。在传输与rollout流量共享资源的地方协调它们,并将发布延迟与策略年龄一起监控。
将这些组件一起设计有助于团队提高迭代速度,同时保持训练数据和策略更新的可靠性。Jin建议较小的团队从简单设置开始,当测量到的瓶颈证明有必要时再增加异步复杂性。
在扩展之前,检查:
批次就绪:组装一个完整、可用的批次需要多长时间,包括掉队尾部?
策略新鲜度:每个rollout能否追溯到生成它的策略版本,什么样的漂移会使其过于陈旧而无法使用?
数值对齐:训练器和rollout引擎的概率差异有多大,什么校正能处理剩余的差距?
环境可靠性:你能区分基础设施故障和模型故障,并复现受影响的回合吗?
权重发布:更新期间活动请求和KV缓存会发生什么,发布实际需要多长时间?
评估:你是否在用户将遇到的精度和服务栈中测试模型?
文章《Nebius将rollout收集时间缩短66.9%——以下是变化所在》首发于The New Stack。