Part II: ROLL Flash – Accelerating RLVR and Agentic Training with Asynchrony

发表时间: 2025-10 · arXiv:2510.11345 (Alibaba)

作者/机构: Han Lu, Zichen Liu, Shaopan Xiong, Yancheng He, Wei Gao, Yanan Wu, Weixun Wang, Jiashun Liu, Yang Li, Haizhou Zhao, Ju Huang, Siran Yang, Xiaoyang Li, Yijia Luo, Zihe Liu, Ling Pan, Junchi Yan, Wei Wang, Wenbo Su, Jiamang Wang, Lin Qu, Bo Zheng (阿里巴巴集团, 上海交通大学, 香港科技大学)

A1 主要贡献

本文介绍了 ROLL Flash 系统,该系统通过原生支持异步强化学习(RL)后期训练,扩展了 ROLL 的功能。同步 RL 后期训练是增强大型语言模型(LLM)能力的关键步骤,但现有系统普遍存在资源利用率低和可扩展性有限的问题。ROLL Flash 旨在解决这些痛点。

核心问题与研究目标:
现有 RL 后期训练系统在 rollout 阶段存在严重的资源浪费。该阶段占总训练时间的 70% 以上,但响应长度的长尾分布导致 GPU 大量闲置。此外,由于解码成本主要受内存带宽限制,且 rollout 与训练阶段之间存在同步障碍,增加 GPU 数量并不能显著减少端到端训练时间,导致资源可扩展性差。研究目标是设计一个能够提升资源利用率和可扩展性的异步 RL 后期训练系统。

主要创新点:
1. ROLL Flash 系统架构: 提出了一种基于两大核心设计原则的系统:
* 细粒度并行(Fine-grained Parallelism): 在 rollout 阶段提供样本级的生命周期控制,实现了 LLM 生成、环境交互和奖励计算之间的重叠,减少了 GPU 闲置。
* Rollout-训练解耦(Rollout–train Decoupling): 将 rollout 和训练阶段置于独立的资源上并行执行,消除了同步瓶颈,提升了资源可扩展性。

  1. 高效异步机制: 实现了多种高效的 rollout 机制,包括队列调度、提示复制、环境级异步执行和冗余环境 rollout,以应对 RLVR 和 Agentic 任务中的不同挑战。
  2. 异步与同步的理论与实证分析:

    • 理论上证明了异步训练本质上比同步训练更高效,因为它遵循生产者-消费者模型,能有效缓解长尾 rollout 造成的资源浪费。
    • 通过全面的实证分析,验证了 ROLL Flash 在资源可扩展性、利用率、异步率权衡和训练稳定性方面的优势。
  3. 显著的性能加速: 实验表明,在相同的 GPU 预算下,ROLL Flash 在 RLVR 任务上实现了高达 2.24 倍的加速,在 Agentic 任务上实现了高达 2.72 倍的加速。同时,通过集成流行的离策略算法,证明了异步训练能在不牺牲模型性能的前提下达到与同步训练相当的效果。


图 1: (a) 我们展示了传统的同步训练以及 ROLL Flash 引入的几项优化:队列调度(第 5.1.1 节)、提示复制(第 5.1.2 节)和异步架构(第 4 节)。(b) 我们展示了 (a) 中所示的训练架构的吞吐量如何随着 Qwen3-8B-Base 和 Think 模型上 GPU 数量的增加而扩展。在图 1b 的上图中,异步方法实现了更高的效率,并随着 GPU 数量的增加表现出强大的可扩展性,在 128 个 GPU 上实现了比同步结构高 2.12 倍的吞吐量。在图 1b 的下图中,所有方法在平均序列长度较低时扩展性都很差。然而,异步方法减轻了长尾 rollout 的影响,并且比同步方法效率显著更高(快 1.53 倍至 2.24 倍)。更详细的实验和分析见第 3 节。


图 2: 使用 ROLL Flash 加速训练的图示。

A3 背景知识与设计原则

同步与异步 RL 后期训练

同步 RL 后期训练流程: RL 后期训练包括 rollout、奖励和训练三个阶段。以一个 agentic 任务为例,在 rollout 阶段,智能体 LLM 与环境进行多轮交互,生成由状态和动作组成的轨迹。然后,奖励工作节点为每个轨迹打分。最后,LLM 在训练阶段根据这些轨迹和奖励更新其权重。同步训练要求在每个训练步骤中严格同步模型权重,这在 rollout 和训练阶段之间造成了障碍,导致大量的资源泡沫和利用率不足。为了最大化学习效率,采用了多种算法,其中 PPO 和 GRPO 是两个代表性例子。

近端策略优化 (PPO): PPO【24, Proximal policy optimization algorithms, 2017, arXiv preprint arXiv:1707.06347】是一种广泛使用的基于 actor-critic 框架的策略梯度算法。它通过优化一个裁剪的替代目标函数来增强稳定性,该目标函数限制了更新后的策略 $π_θ$ 在每个更新步骤中与旧策略 $π_{θ_{old}}$ 的偏离程度。目标函数定义为:

其中,$π_θ$ 和 $π_{θ_{old}}$ 分别代表当前和之前的策略。这里 $q$ 表示一个采样的问题,$o$ 是生成的序列,$o_t$ 是 $o$ 中的第 $t$ 个 token,优势 $A_t$ 通常通过广义优势估计 (GAE)【23, High-dimensional continuous control using generalized advantage estimation, 2015, arXiv preprint arXiv:1506.02438】计算;$ϵ$ 是控制裁剪范围的超参数。minclip 的结合确保了无论优势是正还是负,策略更新都保持在受控范围内,从而在最大化正向奖励的同时抑制可能导致负面结果的过度调整,最终维持学习过程的稳定性和有效性。

组相对策略优化 (GRPO): 尽管 PPO 在各种任务中表现出鲁棒性,但它对 critic 的依赖在语言生成中暴露出局限性:对于长序列,在稀疏奖励下优势估计变得不稳定,且不可靠的价值估计可能加剧策略在次优领域中的收敛,同时带来不可忽略的额外计算开销。为解决此问题,组相对策略优化 (GRPO)【25, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv preprint arXiv:2402.03300】提出了一种无 critic 的替代方案,通过为每个 prompt 采样多个响应并对其奖励进行归一化来构建优势信号。具体来说,给定一个 prompt $q$ 和 $G$ 个带有奖励 ${r_i}{i=1}^G$ 的输出序列,GRPO 将第 $i$ 个序列的第 $t$ 个 token 的归一化优势定义为:

GRPO 通过组统计(均值和标准差)来标准化奖励,通过相对排序实现了有意义的学习信号——即使在稀疏或相似的奖励下也是如此。理论上,它作为一种奖励塑造(reward shaping)方法,强调组内差异以保持梯度的可辨别性【12, Learning to utilize shaping rewards: A new approach of reward shaping, 2020, Advances in Neural Information Processing Systems】。GRPO 在损失函数中明确加入了 KL 散度作为正则化项。其目标函数为:

其中 $r
$ 表示当前策略与参考策略之间的 KL 散度。}(θ) = \frac{π_θ(o_{i,t}|q, o_{i,<t})}{π_{θ_{ref}}(o_{i,t}|q, o_{i,<t})}$,β 是正则化权重,$D_{KL

异步 LLM 后期训练: 如先前 RL 后期训练系统【7, Rollpacker: Mitigating longtail rollouts for fast, synchronous rl post-training, 2025, URL https://arxiv.org/abs/2509.21009】 【9, History rhymes: Accelerating llm reinforcement learning with rhymerl, 2025, URL https://arxiv.org/abs/2508.18588】所观察到的 ,rollout 阶段通常占总训练时间的 70% 以上,长尾 rollout 会导致大量资源闲置和利用率不足。此外,扩展 GPU 数量并不能缓解这些长尾 rollout,只能带来边际计算增益。异步训练【18, Asynchronous methods for deep reinforcement learning, 2016, International conference on machine learning】【31, Llamarl: A distributed asynchronous reinforcement learning framework for efficient large-scale llm trainin, 2025, arXiv preprint arXiv:2505.24034】【6, Areal: A large-scale asynchronous reinforcement learning system for language reasoning, 2025, arXiv preprint arXiv:2505.24298】作为一种有前途的技术出现,可以缓解此问题并提高资源利用率和可扩展性。异步训练将 rollout 和训练阶段解耦,并在独立的资源上并行运行,消除了严格的同步障碍。换言之,训练阶段可以消耗使用过时模型权重生成的响应,而 rollout 阶段则并发地产生新响应,无需等待模型更新。

异步训练的挑战与对策: 尽管异步训练可以提高计算效率,但它引入的策略陈旧性(policy staleness)可能会降低模型准确性【6, Areal: A large-scale asynchronous reinforcement learning system for language reasoning, 2025, arXiv preprint arXiv:2505.24298】,这凸显了对专门的离策略算法支持的需求。具体而言,响应是从旧的分布 $π_{old}$ 中采样的,这通常与当前策略 $π_θ$ 不同。当我们在这种异步设置中应用同步训练算法(如 PPO)时,新旧策略之间的差异可能导致策略崩溃【3, The sufficiency of off-policyness and soft clipping: Ppo is still insufficient according to an off-policy measure, 2023, Proceedings of the AAAI Conference on Artificial Intelligence】和梯度偏差,从而导致训练不稳定和严重的性能下降。为了恢复准确性,我们采用离策略训练算法来稳定训练动态。主流的离策略 RL 后期训练算法通常分为两类:(1) 梯度截断,对重要性采样(IS)比率超出信任区域的 token 截断梯度,例如 Decoupled PPO【10, Batch size-invariance for policy optimization, 2022, Advances in Neural Information Processing Systems】。(2) 重要性采样优化,保留所有样本的梯度,但裁剪重要性采样权重以稳定训练,例如 Truncated IS【19, Safe and efficient off-policy reinforcement learning, 2016, Advances in neural information processing systems】【4, Impala: Scalable distributed deep-rl with importance weighted actor-learner architectures, 2018, International conference on machine learning】、CISPO【Chen et al., 2025】和 TOPR【22, Tapered off-policy reinforce: Stable and efficient reinforcement learning for llms, 2025, arXiv preprint arXiv:2503.14286】。

离策略算法的损失目标:

在上述公式中,$R(τ)$ 表示与轨迹 $τ$ 相关的学习信号,在实践中也可以是优势估计 $A(τ)$。$sg(·)$ 表示停止梯度算子,$1{·}$ 是指示函数,$(x)a^b$ 表示将 $x$ 裁剪到 $[a, b]$ 区间。Decoupled PPO 引入了一个近端策略 $π$ 控制。值得注意的是,TOPR 将轨迹分为两组:$T^+$(高回报/正确)和 $T^-$(低回报/不正确),仅对 $T^-$ 应用截断,以保留来自好轨迹的学习信号,同时抑制来自差轨迹的噪声。ROLL Flash 集成了上述离策略算法,以促进异步训练的性能。}$ 来更好地调节策略更新。TIS 和 TOPR 都使用一个截断阈值 $c$ 来限制重要性采样比率的上限,以减轻方差和不稳定性。相比之下,PPO 和 CISPO 将比率限制在围绕 1 的对称或非对称区间内,由 $ϵ_{IS_{low}}$ 和 $ϵ_{IS_{high}

理论分析

命题 1:生成时间界限: 假设有 $K$ 个工作节点以队列调度方式执行(一个工作节点完成后立即分配新任务)。需要生成 $Q$ 个样本,每个样本的生成时间在 $[0, L_{gen}]$ 之间,均值为 $µ_{gen}$。那么总完成时间满足:

因此,每个样本的平均完成时间有界:

* 在同步(Sync)设置中($Q = N$),每个样本的平均完成时间满足:

* 在异步(Async)设置中($Q = (α + 1)N$,其中 $α$ 是异步率),每个样本的平均完成时间为:

当 $α → ∞$ 时,每个样本的完成时间收敛到 $µ_{gen}/K$。当 $K = N$ 时,异步设置相对于同步设置可实现的最大理论加速比最多为 $(L_{gen} + µ_{gen}) / µ_{gen}$。

命题 2:带有资源分区的端到端效率: 考虑一个有 $K$ 个工作节点的系统。资源分配策略如下:
* 同步 (Sync): 所有 $K$ 个工作节点生成 $N$ 个样本,然后依次进行训练。
* 异步 (Async): 工作节点被划分为两个不相交的池,由参数 $β ∈ (0, 1)$ 控制:$(1 − β)K$ 个工作节点用于连续样本生成, $βK$ 个工作节点用于并行训练。
令 $µ_{gen}$ 为平均样本生成时间(最大为 $L_{gen}$),$µ_{train}$ 为每个样本的平均训练时间。定义 $E$ 为每个生成样本在训练期间被重用的次数。
1. 同步(顺序流水线)的端到端完成时间为:

2. 异步(并行、资源隔离的流水线)的端到端完成时间为:

最小化 $T_{async}$ 上界的最优工作节点分配比例 $β^$ 是:

在这个最优的 $β^
$ 下,两个部分达到平衡,得到的上界变为:

异步设置产生了一个更紧的理论界限,并且当 $α > 0$ 时严格优于同步设置。当 $α → ∞$ 时,异步相对于同步的最大理论加速比收敛到 $1 + \frac{KL_{gen}}{N(µ_{gen} + Eµ_{train})}$。

设计原则

Rollout-训练解耦: 为了实现异步训练,需要管理样本的陈旧性以防止显著的准确度损失,并合理分配 rollout 和训练之间的资源以最大化效率。为了提供灵活的控制,我们采用了一种 rollout-训练解耦的架构:两个阶段的执行工作节点被放置在用户指定的资源上,并作为流水线运行。其核心是,用户可以配置 rollout 模型的更新策略,从阻塞式的同步更新过渡到非阻塞的异步更新。一旦更新变为非阻塞,rollout 和训练阶段将并行进行,从而最大化资源利用率和端到端吞吐量。用户还可以调整异步的频率(例如,异步率)来减轻准确度损失。

细粒度并行: 我们实现了细粒度的并行性,以便在 rollout 阶段内执行 LLM 生成、环境交互和奖励计算。细粒度并行在样本级别上操作,而不是将这些阶段作为一个完整的批次来处理。这允许用户控制每个样本的生命周期,决定何时何地为给定样本执行每个阶段。这实现了一个 rollout 流水线,其中一个样本的 LLM 生成可以与另一个样本的环境交互以及第三个样本的奖励计算重叠。此外,细粒度并行通过提示复制将 LLM 生成工作负载均匀地分布在 GPU 上,防止长尾 rollout 集中在少数设备上并放大其不利影响。

A2 方法细节

异步执行工作流

图 5 展示了 ROLL Flash 用于 RLVR 和 agentic 后期训练的异步执行工作流。异步工作流以 rollout 阶段为中心。在该阶段内,细粒度并行最大化了 LLM 生成、环境和奖励之间的重叠。在阶段之间,rollout-训练解耦架构并行化了 rollout 和训练的执行。为清晰起见,我们使用 agentic RL 训练工作流来描述该系统。


图 5: ROLL Flash 用于 RLVR 和 Agentic 后期训练的异步执行工作流。它由 LLMProxy、EnvManagers、SampleBuffer 和 AsyncController 组成,共同协调一个具有细粒度并行性的异步训练工作流。

LLMProxy: 为了协调 LLM 推理,ROLL Flash 引入了 LLMProxy,它作为一个由多个 EnvManager 共享的内部后端工作节点集群的协调器。每个工作节点围绕一个命令驱动的事件循环,管理一个推理引擎(例如 vLLM)。该循环旨在最大化 GPU 利用率并实现完全异步。它持续非阻塞地运行,提供三个核心服务:(1) 分步推理:在每次迭代中,它通过对一批请求执行单个解码或预填充步骤来推进引擎,从而饱和 GPU 资源。(2) 后处理:每当引擎完成一个请求,它会立即触发一个注册的回调函数,该函数对输出进行后处理并将结果返回给原始客户端(例如 EnvManager)。(3) 处理命令:循环持续处理从代理分派的命令,ADD 用于将新请求入队,ABORT 用于中断正在运行的请求并将其回收至 SampleBuffer 以供后续重新计算和生成。

EnvManager: 它是基本的执行工作节点,支持细粒度的并行 rollout。每个 EnvManager 通过 reset 重置其环境来启动一个循环,然后进入一个独立的事件循环,该循环在其 BaseEnv 和共享的 LLMProxy 之间进行协调。在这个循环中,EnvManager 从 LLMProxy 接收响应作为动作,通过 step 将其应用于 BaseEnv,处理产生的观察结果,并重复此过程直到满足终止条件。通过这种细粒度的 rollout,ROLL Flash 将 LLM 解码与数千个环境的执行重叠。轨迹完成后,EnvManager 立即触发奖励计算,该计算与正在进行的 rollout 并行进行。通过解耦样本级和环境级的执行,该设计实现了跨组件的样本级执行,从而达到了高度的并行性并最大化了吞吐量。

AsyncController: ROLL Flash 通过一个 AsyncController 和一个共享的 SampleBuffer 运行异步训练流水线。一个 EnvManager 进程池作为独立的生产者:它们生成轨迹并将其加入 SampleBuffer。在每个训练步骤中,AsyncController 在 rollout 和训练阶段之间分三步执行权重同步:它发出 suspend 命令暂停轨迹收集,通过获取并广播最新的权重到所有 LLM 服务工作节点来执行模型更新,然后发送 resume 命令让 EnvManagers 使用更新后的模型继续收集轨迹。实际上,模型更新的开销只占总训练时间的一小部分,并不会阻碍 rollout 的进程。在每次训练迭代中,AsyncController 向 SampleBuffer 发出一个阻塞的 get_batch 命令以获取一个小批次的轨迹,然后对检索到的数据执行 train_step。在异步模式下,训练阶段与 rollout 阶段重叠,EnvManagers 和 LLM 服务工作节点并行地继续收集下一批数据。ROLL Flash 也可以轻松切换到同步模式:在 get_batch 后立即调用 suspend 会暂停轨迹收集,确保所有后续轨迹都使用最新的模型权重生成。通过这种异步设计,用户无需实现复杂的并发控制或定制的通信方案。可以在 LLMProxy、EnvManager 和 AsyncController 中放置可选的屏障,以支持不同的训练模式(例如,异步训练、批量 rollout)。在没有这些屏障的情况下,流水线保持完全异步,允许训练过程持续饱和可用资源。基于这些组件,我们可以配置一个异步率来控制异步的程度,从而在性能和训练效率之间实现权衡。

异步率

定义与作用: 在我们的 rollout-训练解耦架构中(图 1a 和图 5),响应生成可能会被中断并在新的策略 LLM 下恢复。因此,响应样本是由多个策略 LLM 版本生成的。由陈旧策略产生的样本可能会引入高方差,破坏训练稳定性。AReaL【6, A large-scale asynchronous reinforcement learning system for language reasoning, 2025, arXiv preprint arXiv:2505.24298】通过控制批次内样本的平均新鲜度来缓解此问题。相比之下,ROLL Flash 引入了异步率 $α$ 来调节每个样本的新鲜度。具体来说,异步率 $α$ 是针对每个样本定义的,表示当前策略与启动该样本生成的策略版本之间允许的最大策略版本号差距。如果策略网络已更新到版本 $n$,则 SampleBuffer 中的任何样本必须由不早于版本 $(n - α)$ 的策略启动。因此,SampleBuffer 的大小上限为 $(1 + α) \times \text{batchsize}$ 个样本,并且没有样本被浪费,因为我们从不生成违反新鲜度约束的样本。$α$ 可以是一个非负整数或实数。

RLVR 流水线中的详细设计

队列调度

问题与解决方案: 在传统的 RL 后期训练流水线中,rollout 是严格同步和批处理的:一组 prompt 作为一个批次处理,LLM 必须在所有 prompt 的生成完成后才能开始任何奖励计算或过滤。这造成了一个“掉队者”瓶颈,因为最长的序列会拖慢整个批次,导致严重的 GPU 利用率不足、高 rollout 延迟和巨大的开销。ROLL Flash 专注于细粒度并行,并采用队列调度来解决这些限制。每个 prompt 被视为一个独立的 rollout 任务,并进入队列进行动态调度。一旦生成一个响应,它会立即被分派给一个奖励工作节点进行评估,而无需等待批次中的其余部分。奖励计算与正在进行的生成重叠,从而消除了流水线气泡并减少了 GPU 空闲时间。该设计带来了两个关键好处:(1) 它通过使计算资源在处理不同长度的响应时持续保持忙碌,从而显著提高了 GPU 利用率;(2) 在具有冗余 prompt 的动态过滤场景中,它加速了高质量样本的收集,从而提高了整体训练吞吐量。图 6 清晰地展示了队列调度 rollout 带来的优势。


图 6: 批量 Rollout 与队列调度 Rollout 的比较。批量 Rollout 引入了大量的 GPU 空闲时间,并在应用过滤时导致生成浪费。相比之下,队列调度通过在整个过程中保持高 GPU 利用率、及时计算奖励以及在获得所需数量的合格样本后立即终止生成来缓解这些问题。

实验评估: 我们在动态过滤条件下对队列调度的有效性进行了实证评估。在同步基线中,奖励计算被推迟到整个批次完成生成之后。在我们的设置中,我们为每个 prompt 生成 $k=8$ 个响应,允许多达 16 个额外的并发 prompt,并过滤掉组内方差为零的样本。我们比较了队列调度(有和没有冗余生成)与不同批次大小下的基线。如图 7 所示,队列调度减少了平均每步的生成时间。例如,在有 16 个冗余 prompt 和 8×8 配置(8 个 prompt,每个 prompt 8 个响应)下,平均每步生成时间从 125 秒降至 37 秒(3.4 倍加速)。在更大的批次大小下也观察到类似的增益,并且随着冗余度和过滤强度的增加,效益也随之增长。这些结果证实,队列调度能有效提高 rollout 流水线的效率,尤其是在动态过滤场景中。


图 7: 不同批次大小×8 配置下生成时间的效率比较。蓝色条代表传统的同步批量 Rollout,紫色条显示队列调度 Rollout,最大额外运行 prompt 分别设置为 16 和 0。红色双头箭头表示使用队列调度 Rollout(额外 prompt=16)的加速比。

提示复制

机制描述: ROLL Flash 实现了提示复制(prompt replication)以进一步提高 rollout 效率。该机制缓解了多候选解码中固有的同步瓶颈。先前的工作【26, Hybridflow: A flexible and efficient rlhf framework, 2024, arXiv preprint arXiv: 2409.19256】通常设置 num_return_sequences > 1 来为单个 prompt 生成多个响应【25, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv preprint arXiv:2402.03300】,这迫使单个工作节点同步解码所有 n 个响应。ROLL Flash 则通过 is_num_return_sequences_expand 标志将每个 prompt 扩展为 n 个独立的 rollout 任务,每个任务产生一个响应。这种解耦允许来自同一 prompt 的候选响应在不同的 GPU 上运行并独立调度,减少了由异构响应长度引起的流水线气泡。如图 1a 所示,复制 prompt C 并将其候选响应(C1 和 C2)调度到不同的 GPU 上,有效地减少了这些气泡。


图 8: 在不同 rollout 配置下使用提示复制的效率。左图:改变批次大小,num_return_sequences=16。右图:改变 num_return_sequences,批次大小=16。在这两种情况下,提示复制通过缓解掉队者效应显著减少了生成时间,在大批量或每个 prompt 大量响应的配置下实现了高达 1.84 倍的加速。

实验评估: 我们在不同的批次大小和 num_return_sequences 配置下量化了提示复制的影响。首先,我们固定 num_return_sequences 为 16,并将批次大小从 4 扩展到 64。如图 8 所示,提示复制在小批次大小时增益有限,但在中等规模以上通过缓解长尾掉队者和减少平均步长时间带来了显著的改进。例如,在 32×16 配置下,延迟从 116 秒降至 89 秒(1.30 倍加速);在 64×16 配置下,延迟从 149 秒降至 81 秒(1.84 倍加速)。其次,我们固定批次大小为 16,并将 num_return_sequences 从 4 增加到 64。随着候选数量的增加,提示复制持续提高效率。在 16×32 配置下,步长时间从 162 秒降至 83 秒(1.95 倍加速),在 16×64 配置下,仍实现了 1.84 倍的加速。总的来说,这些结果证实,提示复制实现了细粒度的 rollout 内并行,有效地带来了显著的效率增益。

Agentic 流水线

挑战与设计: 在 agentic 流水线中,单个轨迹涉及与复杂外部环境(如 SWE【14, Swe-bench: Can language models resolve real-world github issues?, 2023, arXiv preprint arXiv:2310.06770】、ALFWorld【28, Alfworld: Aligning text and embodied environments for interactive learning, 2020, arXiv preprint arXiv:2010.03768】和 ShopSimulator【29, Shopsimulator: Evaluating and exploring rl-driven llm agents for multi-turn personalized recommendation in e-commerce, 2025a, arXiv preprint arXiv:2510.05879】)的多轮交互,其中执行延迟差异很大且失败很常见。尽管大多数 rollout 在几秒内完成,但有些由于环境初始化和网络延迟会延长到几分钟。这种显著的长尾延迟严重降低了训练效率,并催生了两个关键设计:环境级异步 rollout 和冗余环境 rollout。

环境级异步 Rollout

机制描述: 为了减少环境交互期间的 GPU 空闲时间,我们设计了一种环境级异步 rollout。我们将每个轨迹分解为一系列细粒度的、环境级的交互单元。一旦一个轨迹开始与环境交互以接收反馈,SampleBuffer 中待处理的轨迹会立即被分派到可用的 LLM 服务工作节点,以继续生成响应(即动作)。

实验评估: 我们首先进行了受控模拟,其中环境延迟从均值为 $µ$、标准差为 $σ$ 的高斯分布中采样。如图 9 所示,一个明显的趋势是:更大的方差带来更大的加速。当延迟几乎一致时,例如 (10, 1),增益不大,在批次大小为 512 时仅为 1.16 倍。随着方差的增加,增益变得显著。在 (10, 10) 的情况下,批次大小为 512 时的平均步长时间从 892 秒降至 362 秒,提升了 2.46 倍。对于 (10, 7) 的情况也类似,加速比达到 2.12 倍,对于 (50, 5) 的情况为 1.20 倍。这些结果表明,异步调度缩短了总步长时间并维持了高吞吐量,其好处随着环境延迟方差的增加而增长。


图 9: 在不同环境延迟分布下环境级异步 rollout 的模拟结果。左图:在固定均值(µ=10s)下,加速比随环境延迟标准差的增加而增加。右图:在保持标准差固定(σ=5s)的情况下,随着平均步长时间的增加,加速比减小,因为掉队者的影响减弱了。

真实环境验证: 我们进一步在真实环境中验证了这一机制。如图 11 所示,即使在同步训练中,环境级异步 rollout 也能将 SWE 上的端到端训练时间从 10.22 小时减少到 8.32 小时(1.23 倍),在 ALFWorld 上从 13.37 小时减少到 8.44 小时(1.58 倍)。这些结果证实,环境级异步 rollout 在模拟之外也持续有效,并在实践中带来了令人满意的增益。详细的实验配置在附录 A 中提供。

冗余环境 Rollout

机制描述: 我们引入了冗余环境 rollout,以减轻环境不稳定性对 agentic RL 训练效率的负面影响。该机制提供两个可调控制:(1) 增加 num_env_groups 以生成更多并发的环境组,以及 (2) 增加 group_size 以在每个组内生成更多候选轨迹。由于 ROLL Flash 在收集到预定数量的轨迹后即终止 rollout,增加 num_env_groupsgroup_size 有助于防止“慢失败”和“停止失败”的环境成为系统瓶颈。根据经验,我们观察到增加 num_env_groups 比增加 group_size 能为慢失败和停止失败行为提供更强的弹性。


图 10: 在不同组大小和环境组数量下的加速比热力图。


图 11: 环境级异步和冗余环境 rollout 的真实环境评估。

实验评估: 我们通过固定总 rollout 批次大小为 256,并改变 num_env_groupsgroup_size 来模拟不同配置,其中环境延迟由均值 $µ=10$ 和标准差 $σ=5$ 的高斯分布建模。图 10 中的结果显示,增加组的数量始终比扩大组的大小更有效。例如,从 32×8(基线)扩展到 36×12,步长时间从 243 秒减少到 45 秒,加速 5.45 倍。在 36×11(5.24 倍)和 36×9(3.10 倍)的配置下也观察到类似的改进。热力图可视化突出显示,更高的组数导致更稳定的步长时间和更好的对延迟方差的鲁棒性。

真实环境验证: 我们还在真实环境中验证了这一设计。如图 11 所示,冗余环境 rollout 在同步和异步 rollout 的基础上都带来了额外的增益。在 SWE 上,同步 rollout 下的训练时间从 8.32 小时减少到 7.66 小时(-7.9%),异步 rollout 下从 6.09 小时减少到 5.65 小时(-7.2%)。在 ALFWorld 上,相应的减少量为从 8.44 小时到 7.85 小时(-7.0%)和从 5.87 小时到 4.91 小时(-16.4%)。这些结果表明,冗余环境 rollout 补充了环境级异步 rollout,在真实的 agentic 环境中提供了额外的 7%-16% 的吞吐量提升。这两种技术共同构成了一个有效的设计,以在随机和易于失败的条件下维持训练效率。

A4 实验环境

  • 数据集:

    • RLVR 训练: DAPO-MATH-18K【34, Dapo: An open-source llm reinforcement learning system at scale, 2025, arXiv preprint arXiv:2503.14476】。
    • RLVR 评估: MATH-500, OLYMPIADBENCH, MINERVAMATH, AMC 2023, AIME 2024, AIME 2025。
    • Agentic 训练: R2E-Gym-Lite【13, R2e-gym: Procedural environments and hybrid verifiers for scaling open-weights swe agents, 2025, URL https://arxiv.org/abs/2504.07164 】 (用于 SWE), ALFWorld-Train【28, Alfworld: Aligning text and embodied environments for interactive learning, 2020, arXiv preprint arXiv:2010.03768】, ShopSimulator-SingleTurn【29, Shopsimulator: Evaluating and exploring rl-driven llm agents for multi-turn personalized recommendation in e-commerce, 2025a, arXiv preprint arXiv:2510.05879】。
    • Agentic 评估: SWE-Bench-Verified【14, Swe-bench: Can language models resolve real-world github issues?, 2023, arXiv preprint arXiv:2310.06770】, ALFWorld, ShopSimulator-SingleTurn。
  • 模型架构:

    • 基础模型: Qwen3-8B-Base, Qwen3-8B-Think【33, Qwen3 technical report, 2025, arXiv preprint arXiv:2505.09388】。对于 SWE 任务使用 Qwen3-14B。
    • 关键参数: 序列长度 32k,rollout 批大小 32-512,每个 minibatch 的 group size 32。具体配置见附录A。
  • 硬件配置:

    • GPU: 实验中使用的 GPU 数量从 16 到 128 不等。GPU 型号未明确说明。GPU 资源在训练和推理之间按不同比例分配(例如 1:1, 16:24, 32:8)。
  • 软件配置:

    • 代码实现: 基于 ROLL【30, Reinforcement learning optimization for large-scale learning: An efficient and user-friendly scaling library, 2025b, URL https://arxiv.org/abs/2506.06122 】 框架扩展的 ROLL Flash。
    • 依赖库: 使用 SGLANG v0.4.6【35, Sglang: Efficient execution of structured language model programs, 2024, Advances in neural information processing systems】 和 vLLM v0.8.4【15, Efficient memory management for large language model serving with pagedattention, 2023, Proceedings of the 29th symposium on operating systems principles】 作为生成后端,使用 Megatron【27, Megatron-lm: Training multi-billion parameter language models using model parallelism, 2019, arXiv preprint arXiv:1909.08053】 进行分布式训练。
    • 算法: 支持 PPO, GRPO 以及多种离策略算法 (Decoupled PPO, TOPR, TIS, CISPO)。

A4 实验结果

本文通过对资源可扩展性、资源利用率、异步率和训练稳定性四个关键维度的实证分析,验证了 ROLL Flash 的有效性。

  1. 优越的吞吐量可扩展性 (Takeaway 1): 如图 1b 所示,随着 GPU 资源的增加,异步架构展现出卓越的可扩展性。在使用 Qwen3-8B-Think 模型时,异步方法实现了近乎线性的吞吐量扩展,8倍 GPU 资源带来了 7.6 倍的加速,吞吐量比传统同步方法高 2.13 倍。在平均生成长度较短的 Qwen3-8B-Base 模型上,尽管所有架构的资源利用率都下降,但异步架构仍然能有效扩展,在 128 个 GPU 上比同步方法高出 2.24 倍的吞吐量。这表明异步架构能有效缓解长尾效应对大规模训练的负面影响。

  2. 普遍的训练加速效果 (Takeaway 2): 异步架构通过消除长尾生成延迟导致的资源等待,几乎在所有情况下都能加速训练。图 3a 显示,通过优化训练和推理的资源分配(例如,16 个 GPU 用于训练,24 个用于推理),异步配置可以实现近 2 倍的加速。图 3b 表明,随着 rollout 批次的增大,异步训练的步长时间扩展性优于同步训练,证实了其在实际训练场景中的加速潜力。

  3. 异步率的最优选择 (Takeaway 3): 实验发现,较小的异步率(Async Ratio)通常足以实现接近最大的加速效果。如表 1 所示,在大多数实际场景中,将异步率设置为 2 即可达到最高吞吐量,有效平衡了学习效率和离策略学习的程度。最优异步率对模型大小不敏感,随序列长度单调增加,随 rollout 批次大小单调减少。这意味着可以在不引入显著离策略惩罚的情况下,从异步框架中获得可观的加速。

  4. 稳定且无损的训练性能 (Takeaway 4): 异步训练可以实现稳定且几乎无性能损失的训练。如图 4 所示,在异步率 2 和 8 的设置下,多种离策略算法以及标准的 GRPO 算法在多个数学基准测试上均取得了与同步训练相当甚至略优的 Pass@1 准确率。这表明异步训练能够可靠地实现有竞争力的性能,而无需复杂的算法技巧或工程调整,实现了高吞吐量和高训练保真度的共存。

  5. RLVR 流水线优化效果:

    • 队列调度: 如图 7 所示,在动态过滤场景下,队列调度显著减少了生成时间。例如,在 8x8 配置和 16 个冗余 prompt 的情况下,实现了 3.4 倍的加速。
    • 提示复制: 如图 8 所示,提示复制通过缓解掉队者效应,在大批量或多候选响应的配置下,可实现高达 1.84 倍的加速。
  6. Agentic 流水线优化效果:

    • 环境级异步 Rollout: 模拟实验(图 9)表明,环境延迟方差越大,加速效果越明显(最高 2.46 倍)。在真实环境(图 11)中,该机制在 SWE 和 ALFWorld 上分别带来了 1.23 倍和 1.58 倍的加速。
    • 冗余环境 Rollout: 模拟(图 10)和真实环境实验(图 11)均证实,通过增加并发环境组,可以有效对抗环境的慢失败和停止失败。在真实环境中,该机制在环境级异步 rollout 的基础上,额外带来了 7%-16% 的吞吐量提升。

A5 结论

本文从理论和实证角度证明了异步训练的优势,并基于此设计了 ROLL Flash 系统。ROLL Flash 扩展了 ROLL 框架,为其提供了原生的异步支持。该系统基于两大核心设计原则:细粒度并行rollout-训练解耦。遵循这些原则,ROLL Flash 实现了队列调度、提示复制和异步训练架构。特别地,为了加速 agentic RL 流水线,ROLL Flash 引入了环境级异步 rollout 和冗余环境 rollout。全面的实验证明了 ROLL Flash 的高效性,在 RLVR 任务中实现了高达 2.24 倍的加速,在 agentic 任务中实现了高达 2.72 倍的加速,同时保持了与同步训练相当的模型性能。

A6 附录

A.1 RLVR 流水线

数据集: 我们使用 DAPO-MATH-18K【34, Dapo: An open-source llm reinforcement learning system at scale, 2025, arXiv preprint arXiv:2503.14476】作为训练数据集。评估时,我们使用 MATH-500、OLYMPIADBENCH、MINERVAMATH、AMC 2023、AIME 2024 和 AIME 2025。

实现细节: async_generation_ratio 控制异步性:0 表示同步(Sync)模式,任何正整数或分数值指定异步率。在异步模式下,用于生成和训练的 GPU 分配分别通过 actor_inferactor_train 设置。优势估计使用组归一化奖励计算,并应用于由 pg_variant 选择的离策略算法。我们使用 SGLANG v0.4.6【35, Sglang: Efficient execution of structured language model programs, 2024, Advances in neural information processing systems】 和 VLLM v0.8.4【15, Efficient memory management for large language model serving with pagedattention, 2023, Proceedings of the 29th symposium on operating systems principles】 作为生成后端,并使用 Megatron【27, Megatron-lm: Training multi-billion parameter language models using model parallelism, 2019, arXiv preprint arXiv:1909.08053】 进行分布式训练。

seed: 42
pg_variant: ppo # 可以是 decoupled_ppo, topr, tis, cispo
gamma: 1.0 # 折扣因子
lambd: 1.0 # GAE lambda
pretrain: Qwen/Qwen3-8B-Base
rollout_batch_size: 256 # prompt 数量
num_return_sequences_in_group: 16 # 每个 prompt 的组大小
ppo_epochs: 1 # 每个样本的使用次数
prompt_length: 2048
response_length: 30720
generate_opt_level: 0 # 是否使用队列调度
is_num_return_sequences_expand: false # 是否使用提示复制
async_generation_ratio: 0 # 0 代表同步, > 0 代表异步
# 使用 GRPO
adv_estimator: "reinforce"
reward_norm: group
actor_train:
  data_args:
    template: qwen2_5
    file_name:
      - data/train_data_math_dapo_18k.jsonl # 使用 DAPO 数据集
  training_args:
    learning_rate: 1.0e-6
    weight_decay: 0
    per_device_train_batch_size: 1
    gradient_accumulation_steps: 256 # 控制 on-policy 或 4 个 minibatch 更新
    warmup_steps: 20 # 使用训练加速
    use_remove_padding: true
    use_dynamic_batching_in_train: true
  device_mapping: list(range(0,16))
actor_infer:
  generating_args:
    max_new_tokens: ${response_length}
    top_p: 1
    top_k: 1000000
    num_beams: 1
    temperature: 1
    num_return_sequences: ${num_return_sequences_in_group}
  device_mapping: list(range(0,16)) # 在异步设置中可以与训练不同

采样与稳定性: 在实践中,我们强制设置 temperature = 1top-p = 1 以获得原始、未经修改的 logits,这遵循了与 AReaL【6, A large-scale asynchronous reinforcement learning system for language reasoning, 2025, arXiv preprint arXiv:2505.24298】相同的做法。这是必要的,因为我们的推理引擎必须产生原始的 token 概率;任何对采样参数的修改都会改变输出分布,并阻止我们恢复真实的 logits。虽然这确保了保真度,但也限制了采样超参数的灵活性。这个限制可以通过未来的架构接口支持来解决。

离策略修正: 此外,由于推理引擎(如 vLLM 或 SGLang)和训练引擎(如 Megatron)之间固有的差异,我们采用截断重要性采样(IS)来稳定训练。具体来说,我们将重要性权重上限设置为一个阈值 C(例如,C=5):

这个问题在同步(Sync)架构中也会出现,我们使用与 VeRL (Yao et al., 2025) 中相同的离策略修正来解决它。

A.2 Agentic 流水线

数据集: 我们使用 R2E-Gym-Lite【13, R2e-gym: Procedural environments