Token导航 LogoToken导航

万卡规模下RL训练如何提升效率

更新时间 2026-09-22来源 机器之心Pro正文 8630字阅读约 27分钟26 张图片



强化学习走向规模化,效率成为关键变量

当预训练将大模型带到新的能力起点,强化学习则通过持续的探索与反馈,不断激发模型在新环境、新任务中的推理与行动能力,决定它们还能走多远。

RL 在模型开发中占的比重越大,训练效率对算力预算的影响也越直接。

算一笔示意账:假设 1 万张 GPU 连续运行 30 天,按每卡每小时 3 美元计算,总费用是 2,160 万美元。如果使用同样的卡数、达到同样的模型效果,但将训练时间缩短 10%,就能少使用 72 万 GPU 小时,按上述假设节省约 216 万美元。对租用集群的团队,这是直接减少的账单;对自建集群的团队,则意味着能更早把这些算力交给下一轮实验。

这些效率收益可以从哪里找?一个最基础、也几乎所有训练配方都无法绕开的参数,就是Batch Size。

在实际训练中,Batch Size 常常出现在两类决策中:

  • Batch Size Tuning:让配方适配新条件。 模型变大了,或 GPU 卡型变了,原来的 Batch 和学习率不一定还合适。Batch 太小可能让硬件利用不充分,与之不匹配的学习率则可能让学习变慢甚至不稳定。这时需要找到一组能稳定学习、又能高效使用当前硬件的 Batch 与配套超参数。
  • Batch Size Scaling:把并行度变成更短的训练时间。 如果同一个模型得到了更多 GPU,Batch 能否同步扩大,让模型更早达标?即使 GPU 数量不变,如果生成并发较低、设备还没有充分工作,能否通过更大 Batch 利用这部分闲置能力?

两类决策最终都指向同一个实际问题:如何找到最优的 Batch Size,使模型以最短的 wall-clock time 达到预期性能?

更大的 Batch,既可能是加速器,也可能成为减速带。腾讯混元团队在实验中观察到:适度增大 Batch,并同步调整学习率,可以在保持学习效率的同时提高吞吐;但 Batch 过大时,额外样本代价会反过来压过吞吐收益。图 1 把这种反差画成登山:有的路线能更快抵达同一性能「山顶」,有的看似步子更大,登顶反而更慢。



图 1|把训练比作登山:山顶代表达到同一目标性能,四条路线代表不同的 Batch Size,每个路标代表一次优化更新。配套调整学习率后,B、2B 和 4B 在累计样本维度上保持近似相同的学习进度;其中更大的 Batch 因吞吐更高而更快「登顶」。但扩大到 16B 后,样本效率损失超过吞吐收益,登顶反而比 B 更慢。图例给出了归一化 time-to-target。

这种从加速到减速的转折,背后遵循怎样的科学规律?能否建立一套可测量的准则,找到 time-to-target 最短的 Batch Size?

为回答这个问题,腾讯混元团队将 Batch Size 放回训练动力学与硬件执行的共同约束中,从第一性原理出发,重新审视大模型强化学习的规模化规律。



  • 标题:《When Do Larger Batches Help Scale LLM Reinforcement Learning?》
  • 机构:Tencent Hy Team(腾讯混元团队)
  • 论文链接:arXiv:2608.29296

从经典 Batch Scaling 到 LLM 强化学习

「Batch 可以有效扩大到什么程度」,并不是一个新问题。

2017 年,大 Batch 的价值首先以工程突破的方式进入人们的视野。Facebook 的 Priya Goyal、Yangqing Jia 和 Kaiming He 等人在《Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour》中,通过线性放大学习率和 gradual warmup,将 ResNet-50 在 ImageNet 上的训练从 8 张 GPU、Batch 256 时约 29 小时,扩展到 256 张 GPU、Batch 8192 时 1 小时,同时保持了小 Batch 的精度。

这项工作说明,经过配套优化,更大的 Batch 确实可以把更多硬件并行转化为更短的 wall-clock time;也由此把问题从「大 Batch 能否训练」推向了「大 Batch 究竟能有效扩大到什么程度」。

2018 年,OpenAI 的 Sam McCandlish、Jared Kaplan、Dario Amodei(现任 Anthropic CEO)在《An Empirical Model of Large-Batch Training》中,研究了扩大 Batch 的收益何时开始递减,并将这个转折与梯度噪声尺度联系起来。随后,Google Brain 的 Christopher J. Shallue 和 George E. Dahl 等人进一步指出,数据并行带来的有效收益依赖于具体任务,而且公平比较不同 Batch 需要分别调整超参数。

与此密切相关的另一个问题是Batch Size Invariance:改变 Batch 后,如果配套调整学习率等超参数,模型在消耗相同数量的样本时,能否保持近似的学习轨迹?2022 年,OpenAI 的 Jacob Hilton、Karl Cobbe 和 John Schulman 对策略优化中的这一问题进行了系统研究。

那么,LLM 强化学习的特殊之处在哪里?

在监督学习中,训练样本通常已经存放在固定数据集中。取出一个更大的 Batch 后,主要新增成本发生在模型的前向传播、反向传播和参数更新;样本本身不需要由正在训练的模型现场生产。因此,经典 Batch Scaling 主要讨论的是:更大的 Batch 如何改变梯度估计、更新次数和训练并行度。

LLM 强化学习则多了一个关键闭环。作为 Agent 的 Transformer 必须先用当前策略进行自回归生成,或与环境连续交互,得到回答、轨迹和奖励;这些在线产生的数据随后才进入学习阶段,用于前向传播、反向传播和参数更新。更新后的 Transformer 又继续生成下一批数据。

换言之,模型既是生产训练数据的推理系统,也是消费这些数据的学习系统。



图 2|LLM 强化学习的两个主要计算环节都依赖 GPU:Sampling 通过自回归推理产生回答和轨迹,Training 再用这些数据更新模型。连接两侧与 GPU 的「通道」由 Batch Size 塑造:它既影响采样侧的并发规模,也影响训练侧每次更新处理的数据量。

从系统架构看,虽然两个过程运行的是同一个 Transformer,它们对 GPU 的使用方式却不同。生成是逐 token 的自回归推理,需要反复读取模型权重、维护 KV Cache 并调度并发序列;学习则在整批 token 上执行前向和反向传播,还要保存激活、计算梯度并更新优化器状态。

因此,扩大 Batch 不是只给同一种计算多塞一些数据:它既可能通过更高并发提高生成效率,也会增加训练侧的计算和显存开销。学习曲线无法单独回答训练会快多少,生成吞吐也无法单独回答模型还需要多少样本。

两种效率,一个分析框架

对大模型训练来说,最终目标不是把 Batch 开到最大,也不是让某个局部阶段跑到最快,而是让模型尽早达到要求的能力水平。论文用Time-to-target衡量这个目标:从训练开始,到模型首次达到预设验证目标,真实经过了多少时间。

达标速度由两种效率共同决定:

  • 样本效率(sample efficiency):每条训练回答带来多少学习进展。Batch Size 及其配套超参数,会改变固定样本预算下的学习效果。
  • 系统效率(system efficiency):整条训练流水线每秒生成并处理多少训练回答,包括生成、模型更新以及等待和同步的成本。

设 J 表示验证表现,N 表示累计训练回答数,t 表示真实时间。沿着一条平滑近似的学习轨迹,有:







这个关系提供了两个视角:



Takeaway:

  • Batch Size 同时影响每条回答带来的学习进展,以及系统处理这些回答的端到端吞吐。
  • 只有当吞吐收益超过达标样本数的增幅时,更大 Batch 才会缩短训练时间。
  • 一条更简单的实践路径是:先建立近似 Batch Size Invariance,再在这个范围内优化吞吐。

第一步:先保住每条样本的学习效果

Batch Size Invariance 有一个很直接的含义:如果 Batch 扩大一倍,模型达到相同效果所需的优化器更新次数应大致减半,因而总样本需求基本不变。

换句话说,在为不同 Batch 分别调好学习率等配套超参数后,一个合理且符合 Scaling 直觉的公平比较应满足:更多样本带来更好的性能,而累计消耗相同数量的样本时,不同 Batch 应达到近似相同的性能。

但这不会自动发生:更大 Batch 用更多回答平均梯度,却也让模型在固定样本预算内失去了一部分更新机会。要保持每样本学习效果,必须重新调节每次更新能走多远。

对 Adam 优化器,团队用平方根规则作为学习率调整的起点:



这个规则只是调参起点,需要用实验验证。论文只改变学习率,保持其他优化器超参数不变;联合调整更多超参数,可能进一步提高不变性,但这留待后续研究。

为让这一比较尽可能干净,论文在自研训练系统上评估 GRPO 和 PPO。两类实验都对每个 rollout batch 只做一次全局优化器更新,不拆 minibatch,也不重复使用 rollout,从而避免引入 minibatch size 和优化 epoch 等额外调参维度。

发现一:GRPO 在 16 倍 prompt batch 范围内近似不变



图 3|在固定 group size 下,调整学习率后,GRPO 在一段有界范围内呈现近似对齐的学习曲线。最大的几组 Batch 开始偏离,actor 梯度范数的下降也逐渐趋缓。灰色的 ±1 个百分点区间只是视觉参考,不是置信区间。图源:论文 Figure 2。





发现二:PPO 中 actor 和 critic 的尺度不同



图 4|PPO 的 Batch Scaling。左图为验证表现与累计训练回答数的关系;右图为 actor 和 critic 梯度范数随 Batch 的变化。样本轴排除了起始 30 步只训练 critic 的 warm-up,并从 actor 开始训练时计数。图源:论文 Figure 5。



右图则显示了 actor 和 critic 的差异。随着 Batch 增大,actor 梯度范数持续下降,在最大 Batch 处趋于平缓;critic 梯度范数则相对平坦,波动也更大。由于两者的训练目标不同,它们可能拥有不同的有效 Batch 尺度,未来可以考虑分别分析和调优。

发现三:GRPO 的 Batch 更应看总回答数

GRPO 中,扩大 Batch 有两个方向:增加 prompt 数,或者增加每个 prompt 的回答数。更大的回答 Batch 可以通过平均更多样本降低梯度估计的方差,但这两条路并不完全等价:同一 group 内的回答共享 prompt,并通过组内相对奖励构造 advantage。



图 5|GRPO 的 group-size 对照。左图是验证表现与累计训练回答数的关系;右图是同一训练窗口内的 actor 梯度范数。实线对应每次更新 1024 条回答,虚线对应 2048 条;蓝色和橙色分别表示 group size 为 8 和 16。图源:论文 Figure 4。

论文比较了两组总 Batch 相同的配置:(P,G)=(128,8) 与 (64,16) 每次更新都使用 1024 条回答;(256,8) 与 (128,16) 则都使用 2048 条。图中以 n 表示 group size,对应本文正文里的 G。



发现四:保持学习率不变,会破坏近似不变性

实践中,增加 GPU 往往会同时扩大数据并行度和全局 Batch。如果学习率等超参数仍沿用小 Batch 的配置,训练未必会发散,甚至可能因为梯度噪声更小而显得更加平稳。但在消耗相同数量的回答时,大 Batch 完成的参数更新次数更少,模型未必能达到相同性能。

换言之,训练稳定不代表 Batch Size Invariance 仍然成立;为了追上小 Batch,它可能需要消耗更多回答。



图 6|GRPO 的学习率对照。左图展示参考 Batch、平方根学习率调整后的翻倍 Batch,以及保持学习率不变的翻倍 Batch;右图展示达到目标所需的更新次数,并按参考配置归一化。端点区间反映的是评估 checkpoint 的粒度,不是置信区间。图源:论文 Figure 3。



右图进一步量化了更新次数。如果精确满足 Batch Size Invariance,Batch 翻倍后的达标更新数应是参考配置的 0.50 倍。学习率调整后的配置位于0.50–0.67 倍,与这一理想值基本一致;固定学习率配置则需要0.75–0.83 倍的更新。由于每次大 Batch 更新消耗两倍回答,后一区间实际对应参考配置1.50–1.67 倍的样本消耗。

Takeaway:

  • 学习率重新调整后,GRPO 和 PPO 都只在一定 Batch 范围内呈现近似 Batch Size Invariance;Batch 继续增大,样本级学习曲线便开始偏离。
  • GRPO 的 group-size 对照说明,在已测配置中,总回答 Batch 比 prompt 数或 group size 单独更能刻画学习行为。
  • PPO 中 actor 与 critic 的梯度尺度并不相同。
  • 固定学习率的对照进一步表明,训练稳定不等于不变性成立。

第二步:在固定硬件上提高吞吐

在每样本学习效果近似保持之后,下一个问题是如何更快处理这些样本。常见做法是增加 GPU,并扩大数据并行;但如果硬件数量不变,更大 Batch 是否也能加速?LLM 强化学习中的机会,来自生成与训练的计算不对称。

  • 生成阶段:自回归解码每次只为一条序列生成一个新 token。并发较低时,GPU 需要反复读取模型权重,却只处理少量 token 向量。增加活跃序列数,可以让更多 token 分摊权重读取开销,因而回答数可能比生成耗时增长得更快。
  • 训练阶段:回答已经生成后,前向和反向传播能同时处理大量 token 位置,已经暴露出较高并行度。在这种情况下,增大 Batch 主要是增加工作量。在论文测量的 GRPO 配置中,prompt batch 从 128 翻倍到 256 后,actor 更新时间从 101.3 秒增长到 208.6 秒,基本与 Batch 成比例增长。

一个简化的局部模型可以描述这种差异:





论文还通过 Roofline 视角进一步解释了这个直觉:Batching 会改变算术强度,也会改变执行处于内存带宽瓶颈还是计算瓶颈。上面的简化模型,概括的就是这种生成与训练的成本差异。

发现五:固定硬件上,生成耗时呈次线性增长



图 7|在固定硬件上,更多回答不一定需要按比例增加收集时间。Batch 增长 4 倍时,PPO 的生成阶段吞吐提高到 2.29 倍,GRPO 提高到 1.36 倍。这些是生成阶段的测量,不是端到端训练加速。图源:论文 Figure 6。

图 7 同时展示了回答数和收集时间相对最小 Batch 的倍数;蓝色回答数增长得比橙色耗时更快,两者的比值就是生成阶段的吞吐收益。在 PPO 中,训练 Batch 从 256 增加到 1024,回答数增长为 4 倍,收集时间却只从 39 秒增加到 68 秒,因此回答收集吞吐提高为 4/(68/39)=2.29×。

在 GRPO 中,P 从 128 增加到 256 时,生成阶段吞吐提高 1.31 倍;增加到 512 时,提高 1.36 倍。从 256 到 512 的额外收益已很小,说明在已测范围内,可利用的生成吞吐收益正在趋于饱和。

阶段结论:

  • LLM 强化学习中的生成与训练存在计算不对称:生成更容易受权重读取和内存带宽限制,而训练已经暴露出较高并行度,耗时更接近随 Batch 线性增长。
  • 更大 Batch 可以让更多正在解码的序列分摊权重读取成本,因而即使在固定硬件上也可能提高生成吞吐。

第三步:结合两个 Critical Batch,找到最短 Time-to-target

上面的结果揭示了 LLM 强化学习 Batch Scaling 中两条不同的边界:

  • Critical generation batch 关乎系统效率:对固定模型、解码引擎、回答长度分布和硬件分配,它标记生成吞吐接近平台的位置。在此之前,更大 Batch 能提高硬件利用率;在此之后,继续扩大只能带来很少的生成吞吐收益。
  • Critical training batch 关乎样本效率:它是当前调参方案下,近似 Batch Size Invariance 的上界。在此之前,更大 Batch 达到同一目标大致需要相同数量的回答;超过这个范围后,更多回答的平均收益不再足以完全补偿更新次数减少,达标样本需求开始增加。



图 8|两种 critical batch。左图:生成吞吐随 Batch 增大逐渐接近平台,显存容量构成独立的可行性约束。右图:经过学习率调整后,每条回答的学习效果在一段范围内近似保持,然后在更大 Batch 下下降。两条横轴相互独立,两个边界不必重合;曲线均为示意。

两个边界之所以要分开,是因为它们回答的是两个不同问题:生成侧还有多少硬件吞吐可以挖掘,以及训练侧还能否保持每条回答的学习效果。显存容量还可能在到达吞吐平台之前限制可行 Batch。但任何一个边界都不能单独给出最快配置:如果生成 Batch 和训练 Batch 沿同一个尺度 B 一起增大,它们的相对顺序会通过「样本代价 —— 端到端吞吐」之间的平衡,塑造不同的达标时间曲线。



图 9|生成 Batch 和训练 Batch 联动扩展时,time-to-target 的两种可能情形。左图:生成吞吐先饱和,在样本效率开始下降之前出现一段近似最优的平台。右图:学习效率先下降,但吞吐收益暂时仍能补偿额外样本,因而示意最优点位于不变区间之外。曲线展示可能情形,不是对实验数据的拟合。

图 9 可以分成三个运行区间:

  • 学习效果保持,吞吐仍在提高:模型达标需要的回答数基本不变,系统却能更快处理它们,因此训练时间下降。
  • 学习效果保持,吞吐已经饱和:继续扩大 Batch 已经很难带来额外速度收益,因而一段 Batch 区间可能拥有相似的训练时间。
  • 额外样本代价占了上风:一旦更大 Batch 需要更多回答才能达标,有限的吞吐提升就无法补偿,训练时间再次上升。

当然,两个边界的顺序也可以反过来。如果学习效率先恶化,但生成吞吐还在快速提高,那么只要吞吐收益大于额外样本代价,更大 Batch 仍可能更快。因此,最终目标是最小化 time-to-target,而不是机械地选择某一个 critical batch。

实测结果:最好配置缩短 29%,最差对照反而慢 42%



图 10|固定硬件上的 GRPO 归一化达标时间。每个 prompt 生成 8 条回答,蓝色点使用平方根学习率 Scaling,橙色对照保持学习率不变;所有时间均以 P=128 为参考归一化,星号标出已测配置中的最优点。图源:论文 Figure 8。

学习率重新调整后,将 P 从 128 增加到 512 和 1024,归一化 time-to-target 分别降至0.74 倍和 0.71 倍。在 P=1024 时,模型与参考配置一样,用 122.88K 条保留回答达到目标,端到端吞吐提高 41%,训练时间从 11.90 小时下降到 8.42 小时,即不增加 GPU,达标时间缩短 29%。

但更大 Batch 并不总是更好。在 P=2048 和 P=4096 时,达标所需回答数增加约 60%,超过了 30% 和 36% 的吞吐收益,最终训练时间升至1.23 倍和 1.18 倍。即使在 P=256 这样的中等 Batch,如果保持学习率不变,吞吐只提高 17%,达标回答数却增加67%,训练时间变为参考配置的1.42 倍。真正决定结果的,始终是吞吐收益能否补偿额外样本代价。

将前面的判断落到实践,可以压缩为两步:





算法 1|论文中的 Batch 调优框架:先调整学习率并估计达标样本代价,再寻找生成并发带来的端到端吞吐收益,最后按达标时间选择配置。

这项工作的意义和边界

这项工作的价值,不在于提出一种新的强化学习算法,而在于为已有的 GRPO 和 PPO 训练提供了一套简单、可扩展且 hardware-aware 的思考方式。具体来说,它带来四点启发:

  • 理论认识:Batch 为什么能变大,又为什么不能一直变大?

这项研究把两个过去容易混在一起的问题拆开了:在使用同样多训练样本时,模型还能不能学得一样好;这些样本在给定硬件上能不能处理得更快。学习率 Scaling 可以在一定范围内维持近似 Batch Size Invariance,但这一规律最终会失效。若未来能提前预测这个有效范围,就有机会减少每换一个模型或任务都要重新摸索的成本。

  • 训练实践:先确认学得好,再想办法跑得快。

改变 GRPO 或 PPO 的训练 Batch 时,应先配套调整学习率,检查相同累计回答数下能否达到相近效果;再提高生成并发,测量真正的端到端吞吐。换模型、换任务或换硬件后,可以复用这套调优顺序,但不能直接照搬上一次得到的 Batch 数值。

  • 系统设计:分清生成和训练的成本,再决定怎样扩大 Batch。

生成阶段通常受权重读取和内存带宽限制,更高并发可以分摊这部分成本;训练阶段的算术强度更高,更大的优化器 Batch 未必带来同等收益。因此,生成 Batch 与训练 Batch 不一定要同步扩大。将两者解耦、合理安排 GPU 分工,可能进一步释放吞吐,但也要避免等待过久造成数据过时、进而破坏学习行为。

  • 评估方式:不同 Batch 必须放在同一起跑线上比较。

各组先分别调好学习率等 Batch-dependent 配置,再看两个问题:用了同样多的样本,谁学得更好;达到同一个能力目标,谁花的时间更少。只比较相同更新步数后的分数,可能把「看过更多样本」误当成「学得更好」;只比较吞吐,也可能把「处理得更快」误当成「训练完成得更早」。

这些结论也有清晰边界。当模型、奖励、任务分布、训练阶段、推理引擎或执行策略发生变化时,样本效率与系统吞吐都可能改变,已经测得的有效 Batch 范围不能直接照搬。后续一个自然方向,是超越「只调学习率」的当前设定,寻找其他 Batch-dependent 超参数的迁移规则;PPO 实验还提示,actor 和 critic 可能需要不同的 Batch 尺度。

文章标签AI资讯
资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

继续浏览更多资讯

返回资讯目录

相关资讯

更多