RollPacker: Mitigating Long-Tail Rollouts for Fast, Synchronous RL Post-Training

发表时间: 2025-09 · arXiv:2509.21009 (HKUST & Alibaba)

RollPacker:通过缓解长尾 Rollout 实现快速、同步的强化学习后训练

作者/机构: Wei Gao†, Yuheng Zhao†, Dakai An†, Tianyuan Wu†, Lunxi Cao†, Shaopan Xiong‡, Ju Huang‡, Weixun Wang§, Siran Yang‡, Wenbo Su§, Jiamang Wang‡, Lin Qu‡, Bo Zheng‡, Wei Wang†
(†香港科技大学, ‡阿里巴巴集团, §淘宝天猫集团)

A1 主要贡献

本文旨在解决同步强化学习(RL)后训练中因响应长度不均衡(长尾分布)导致的严重GPU资源利用率不足(称为“气泡”)问题。现有方法通常通过放宽同步来缓解此问题,但这可能损害训练精度。

研究目标:在不牺牲训练精度和在策略(on-policy)训练语义的前提下,系统性地解决同步RL后训练中由长尾rollout引起的GPU空闲问题,从而显著加速训练过程。

核心创新点
1. 提出尾部批处理(Tail Batching)策略:这是一种新颖的rollout调度策略。其核心思想是将导致长尾响应的提示(prompt)系统性地整合到少数专用的rollout步骤(称为“长轮次”)中,同时确保大多数步骤(“短轮次”)只包含长度均衡的短rollout。通过将长响应从短轮次中排除并重新调度到少数长轮次中,该策略有效减少了rollout期间的GPU空闲时间。由于仅改变了训练样本的顺序,该方法保持了训练的准确性。
2. 设计并实现RollPacker系统:该系统通过对RL三个阶段的整体优化,充分发挥了尾部批处理的优势。
* 弹性并行规划器(Parallelism Planner):针对rollout阶段,该规划器能自适应地配置并行策略。它根据短轮次和长轮次不同的内存压力,动态选择最优的张量并行(TP)配置,以适应工作负载的变化。
* 动态资源分配与调度的奖励调度器(Reward Scheduler):针对奖励(reward)阶段,该调度器将奖励计算与rollout流水线化,并根据工作负载特性(如代码执行超时、评判模型共享GPU)动态调整计算预算,以隐藏奖励计算的开销。
* 基于流的训练器(Stream Trainer):针对训练(training)阶段,该训练器实现了更细粒度的阶段重叠。它机会性地将rollout阶段空闲的GPU重新分配给训练任务,并异步地将已完成的rollout数据流式传输到训练阶段进行梯度计算,同时通过损失缩放和延迟梯度更新来保持在策略训练的语义。

通过这些优化,RollPacker在Qwen2.5系列大语言模型上,相较于veRL实现了2.03倍至2.56倍的端到端训练时间缩短,相较于RLHFuse最高实现了2.24倍的加速。

A3 背景知识与动机

2.1 用于大语言模型后训练的强化学习

图1:同步和异步RL后训练的执行工作流程。
图1:同步和异步RL后训练的执行工作流程。

2.2 RL后训练的特性分析

Table 1: RL后训练的时间分解。我们在三个任务中使用veRL [45]和GRPO [43]以及真实世界数据集[20, 54]训练14B模型,最大长度为16k。

图2:Rollout阶段的特性:(a) 三个任务的响应呈现长尾分布;(b) 长尾rollout在rollout阶段造成了持久的GPU气泡。
图2:Rollout阶段的特性:(a) 三个任务的响应呈现长尾分布;(b) 长尾rollout在rollout阶段造成了持久的GPU气泡。

2.3 现有解决方案及其局限性

A2 方法细节

3 尾部批处理 (Tail Batching)

4 RollPacker 系统设计

本节介绍RollPacker,一个为充分发挥尾部批处理优势而通过整体设计构建的高效在策略RL系统。

4.1 系统概览

4.2 并行规划器

4.3 奖励调度器

4.4 流式训练器

算法1 流式训练器

A4 实验环境

A4 实验结果

6.1 端到端评估

我们比较了RollPacker与两种SOTA同步RL后训练系统veRL【索引45,verl: Volcano engine reinforcement learning for llm, 2024】和RLHFuse【索引63,Rlhfuse: Efficient rlhf training for large language models with interand intra-stage fusion, 2024】的端到端性能。

6.2 性能分解

6.3 尾部批处理的敏感性分析

图11展示了不同尾部批处理配置下的rollout时间,通过改变推测因子$\eta$来调整每个提示的响应数(R)或提示数(P)。
* R的影响:固定P,增加R的$\eta$可以丢弃长尾响应,但只有当$\eta$增加到1.5时,rollout时间才有显著减少。
* P的影响:固定R,增加P的$\eta$会增加长轮次的频率,从而抵消短轮次带来的时间缩减。
* 结论:实验表明,对P和R都设置$\eta=1.25$是最佳选择,平均rollout速度提升高达3.9倍,优于仅固定P或R的设置。
图11:[尾部批处理] 不同配置的rollout时间。我们分别固定P和R为P0和R0,同时改变另一个参数的η。每个条形代表一个完整周期的连续短轮次和长轮次的平均迭代时间,归一化到没有尾部批处理的基线,并标注了实际时间。

6.4 并行规划器

6.5 奖励调度器

异步奖励计算本身相比同步计算在三个模型上分别带来1.48倍、1.35倍和1.18倍的加速。
* GPU共享(LLM-as-a-Judge):图13a显示,在共置评判LLM和actor LLM时,使用MPS(多进程服务)可减少干扰,带来高达1.25倍的步骤时间加速。
* 流水线化评判LLM执行:图13b显示,对于评判LLM,采用分层流水线卸载权重,相比非流水线执行,在32k token长序列下可获得1.4倍的奖励计算加速。
* 自适应超时(代码):图13c显示,自适应超时机制通过提前终止可能失败的代码执行,显著减少了短轮次中的奖励计算开销,平均加速1.6倍。
图13:[奖励调度器] LLM-as-a-Judge:(a) 有无MPS时每个步骤的归一化时间。第五步是长轮次。(b) 有无流水线执行时不同序列长度的奖励计算归一化时间。代码沙箱:(c) 有无自适应超时时,rollout和异步奖励计算的组合时间。

6.6 流式训练器性能分析

6.7 性能可扩展性

图14展示了Qwen2.5-14B/16k模型的可扩展性分析。当资源扩展到128个GPU时,RollPacker保持了强大的性能,吞吐量(样本数/秒)始终比veRL高出2.2倍。当资源翻倍时,RollPacker的吞吐量提升约1.5倍。
图14:大规模训练Qwen2.5-14B模型的端到端吞吐量(样本/秒)。

A7 补充细节

7 讨论

8 相关工作

A5 结论

本文介绍了RollPacker,一个旨在加速同步RL训练的新型RL后训练系统。我们提出了尾部批处理(tail batching)来缓解长尾rollout问题并提升资源利用率。结合尾部批处理,我们设计了分别优化rollout、奖励和训练阶段的并行规划器奖励调度器流式训练器。广泛的实验证明了RollPacker在训练效率上相比基线方法的有效性。