训练推理模型不再白白烧算力:VIGOR 动态度分配 rollouts,最高省 2.3 倍
做 RL 训练推理模型的人应该都体会过那种感受:每个 prompt 生成 8 条或 16 条 chain-of-thought rollout,结果大部分都是废的——要么重复已掌握的推理路径,要么直接跑偏。但又不能少生成,因为不知道哪几条会出有效信号。算力就这么白白烧掉了。
今天 arXiv 上挂出来一篇有意思的工作,标题叫「Learning as Reasoning Unfolds」,来自 Heyang Jiang、Henry Liu 和 Baharan Mirzasoleiman。他们提了一个叫 VIGOR(Variance Guided Online Rollout Allocation)的方法,核心思路极简:别给每个例子固定分配 rollout 数量了,应该边算边看,把增量预算投给那些最「不确定」的样本。
RLVR(Reinforcement Learning with Verifiable Rewards)这类框架中,GRPO 是其中最出名的一个代表。GRPO 的常规做法是对每个训练样本生成固定数量的 rollout,然后基于奖励信号做策略更新。问题在于,不同样本的信息含量差别很大——有些样本模型已经接近做对了,重复 rollout 几乎不贡献梯度;有些样本还在反复试错,但固定预算又不够它充分探索。
VIGOR 的思路是,每个 batch 刚开始只给所有样本分配少量 rollout,快速扫一遍,然后计算每个样本的 group reward variance(群组奖励方差)——方差高的说明模型在这个例子上还很不确定,值得继续投算力;方差低的说明已经稳定了,后面就不用再浪费资源了。整个过程反复进行,直到用完预设的总 rollout 预算。
论文从理论上证明了在 RLVR 设定下,reward variance 直接控制着梯度幅度,并推导出了 VIGOR 相对于 GRPO 的加速比公式——当奖励方差呈 Pareto 分布时,加速比会随精炼轮次增加而增长。这不算纯经验 trick,有理论兜底。
在数学推理任务上,达到同等目标准确率,VIGOR 最多只需要 GRPO 2.3 分之一的 rollout 数量。在编程任务上,达到 GRPO 最终的代码全通过率,只需要 1.49 分之一的 rollout;而且编程平均测试通过率还比 GRPO 高了 3.4 个百分点。
花更少的钱,训出一样好甚至更好的推理模型。
这不是什么颠覆性创新——它没有改 RL 目标函数,也没有改模型架构,只是在 rollout 分配策略上做了一次精准的手术。但对于任何一个跑过 GRPO 训练的人来说,「省 2 倍算力」这件事本身就足够有吸引力了。毕竟现在长链推理模型的训练账单,每一笔都不小。
VIGOR 不需要额外训练一个 reward model 或者 cost model 来筛选 rollout,也不需要维护历史信号缓存。它完全在线工作,每次分配决策只依赖当前 batch 内算出来的方差。集成成本很低,已有的 GRPO 训练 pipeline 改起来不会太痛苦。
正在训推理模型,或者被 GRPO 的算力账单困扰的人,这篇论文值得翻一下。代码暂时没看到释放,但方法描述足够清晰,实现起来应该不复杂。
相关链接:
- arXiv 论文页
- PDF 全文
- HTML 版(实验性)