发表时间: 2025-10 · arXiv:2510.12633 (EuroSys 2026)
Laminar:一个可扩展的异步强化学习后训练框架
作者/机构: Guangming Sheng¹, Yuxuan Tong²*, Borui Wan¹, Wang Zhang², Chaobo Jia², Xibin Wu², Yuqi Wu², Xiang Li², Chi Zhang², Yanghua Peng², Haibin Lin², Xin Liu², Chuan Wu¹
¹香港大学 ²字节跳动 Seed
本文针对大规模语言模型(LLM)的强化学习(RL)后训练在扩展到大型集群并长时间运行时面临的效率瓶颈问题,提出了一种名为 Laminar 的可扩展且鲁棒的异步 RL 后训练框架。
核心问题与研究目标:
现有的 RL 后训练工作流(如图1(a)所示)在生成阶段(Generation)消耗了大量时间(高达83.1%,如图1(b)),其主要瓶颈在于轨迹生成(trajectory generation)的极端长尾偏斜(long-tail skewness),即输出长度和环境交互延迟的分布高度不均(如图2),导致严重的 GPU 资源闲置和利用率不足。尽管现有的同步和异步 RL 框架尝试解决此问题,但它们依赖于 actor 和所有 rollout 之间的全局权重同步,创建了僵化的模型更新计划,无法适应 RL 训练中轨迹生成延迟的高度偏斜和动态变化的分布,从而严重影响训练效率。例如,简单的单步延迟流水线无法有效隐藏长尾延迟,而增加延迟边界又可能损害模型收敛。此外,这些系统的全局同步点和对 NCCL 的依赖使得它们在面对大规模长时间运行任务时缺乏鲁棒性和快速故障恢复能力。
本文的核心目标是解决上述可扩展性和效率瓶颈,设计一个能够在生产规模上消除长尾轨迹生成瓶颈,同时确保 RL 训练稳定性和鲁棒性的系统。
图1. RL后训练工作流以及单轮(数学)[2]和多轮(代码)任务[6]的时间分解。
创新点与主要贡献:
为实现此目标,本文的核心思想是实现轨迹级别的异步性(trajectory-level asynchrony),允许每条轨迹独立生成和消费,以适应输出长度和环境延迟的巨大差异。
RL在LLM后训练中的应用。强化学习(RL)最初用于通过人类反馈强化学习(RLHF)【【32, Training language models to follow instructions with human feedback, 2022, Advances in Neural Information Processing Systems】, 【33, Training a helpful and harmless assistant with reinforcement learning from human feedback, 2022, arXiv preprint arXiv:2204.05862】, 【34, Safe RLHF: Safe Reinforcement Learning from Human Feedback, 2024, The Twelfth International Conference on Learning Representations】, 【35, Improving generalization of alignment with human preferences through group invariant learning, 2023, arXiv preprint arXiv:2310.11971】, 【36, Rlaif: Scaling reinforcement learning from human feedback with ai feedback, 2023, arXiv preprint arXiv:2309.00267】】来使模型与人类偏好对齐。最近,RL已被扩展到增强数学【【2, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, 2025, arXiv:2503.14476】, 【37, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv preprint arXiv:2402.03300】】等领域的复杂推理能力,并发展多轮智能体能力【【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】, 【31, Introducing deep research, 2025, https://openai.com/index/ introducing-deep-research/】, 【38, ReTool: Reinforcement Learning for Strategic Tool Use in LLMs, 2025, arXiv preprint arXiv: 2504.11536】】。如图1(a)所示,RL后训练工作流主要分为两个阶段:生成和训练。
生成阶段。rollout模型通过自回归生成对提示做出响应或与环境交互来产生轨迹。对于单轮推理任务,如解决数学问题【39, Mathematical Association of America. 2024. AIME 2024.】,简单问题的轨迹可能是简短的思维链,而难题可能需要探索广阔的推理树。对于多轮智能体任务,如SWE-Bench【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】,轨迹包括与代码沙箱的交互;修复简单bug只需几次交互,而诊断复杂问题可能导致更多调试步骤。
训练阶段。Actor训练始于评估每条轨迹并为其分配奖励分数。该分数可以来自独立的奖励模型【【32, Training language models to follow instructions with human feedback, 2022, Advances in Neural Information Processing Systems】, 【33, Training a helpful and harmless assistant with reinforcement learning from human feedback, 2022, arXiv preprint arXiv:2204.05862】】、定义明确标准的基于规则的函数【【1, Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025, arXiv preprint arXiv:2501.12948】, 【2, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, 2025, arXiv:2503.14476】】或从环境中获得的信号【【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】, 【30, FullStack Bench: Evaluating LLMs as Full Stack Coders, 2025, arXiv:2412.00535】】。每条带分数的轨迹与其他指标(如从参考模型和评论家模型派生的优势估计)结合,形成训练经验。这些经验随后被添加到缓冲区,从中采样批次以通过反向传播更新actor模型的参数。虽然像PPO【40, Proximal policy optimization algorithms, 2017, arXiv preprint arXiv:1707.06347】这样的基础RL方法依赖于评论家模型,但许多近期算法(如GRPO【37, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv preprint arXiv:2402.03300】、RLOO【41, Back to Basics: Revisiting REINFORCE Style Optimization for Learning from Human Feedback in LLMs, 2024, arXiv:2402.14740】和DAPO【2, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, 2025, arXiv:2503.14476】)通过为同一提示生成多条轨迹来近似优势计算,从而简化了此过程,完全移除了对评论家模型的需求。
图2. AIME数据集上的轨迹长度分布和代码沙箱的执行延迟分布[38, 39]。
数据偏斜加剧。由于模型向推理和智能体任务的转变,现代RL后训练中的数据偏斜问题日益严重。偏斜的主要来源是轨迹长度。如图2所示,轨迹长度非常不均匀,在某些任务中,第99百分位的长度是中位数的十倍【【2, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, 2025, arXiv:2503.14476】, 【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】】。当一个批次中较短的轨迹生成完毕后,只剩下少数长轨迹的生成任务仍在运行,导致严重的GPU资源闲置。这个问题尤其严重,因为LLM解码的内存密集型特性需要大批量大小来维持高吞吐量。因此,生成阶段现在主导了后训练工作流,在推理任务中占总执行时间的83.1%,如图1(b)所示。
长尾问题延伸至多轮智能体任务。该长尾问题还延伸到多轮智能体任务,这些任务涉及高度不可预测的环境执行时间。在这里,LLM与代码沙箱【【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】, 【38, ReTool: Reinforcement Learning for Strategic Tool Use in LLMs, 2025, arXiv preprint arXiv: 2504.11536】】、计算机环境【【42, GAIA: a benchmark for General AI Assistants, 2023, arXiv:2311.12983】, 【43, OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments, 2024, arXiv:2404.07972】】和游戏平台【【24, Dota 2 with large scale deep einfor nt learning, 2019, arXiv preprint arXiv:1912.06680】, 【44, Grandmaster level in StarCraft II using multi-agent reinforcement learning, 2019, nature】】等环境进行交互。这些环境通常作为外部程序或共享服务运行。如图2所示,由于请求排队和计算负载的变化,这些交互的延迟可能差异很大。这种环境的不可预测性,加上轨迹长度的内在差异,引入了当前系统无法解决的主要效率瓶颈。
现有同步RL框架的局限性。现有的同步RL后训练框架【【11, DeepSpeed-Chat: Easy, Fast and Affordable RLHF Training of ChatGPT-like Models at All Scales, 2023, arXiv:2308.01320】, 【12, HybridFlow: A Flexible and Efficient RLHF Framework, 2025, EuroSys ’25】, 【13, PUZZLE: Efficiently Aligning Large Language Models through Light-Weight Context Switch, 2024, USENIX ATC 24】, 【14, ReaL: Efficient RLHF Training of Large Language Models with Parameter Reallocation, 2024, arXiv preprint arXiv: 2406.14088】, 【16, OpenRLHF: An Easy-to-use, Scalable and Highperformance RLHF Framework, 2024, arXiv:2405.11143】, 【45, NeMo-Aligner: Scalable Toolkit for Efficient Model Alignment, 2024, arXiv:2405.01481】】通常独立优化生成阶段和训练阶段。它们采用阶段性的顺序和同步执行,因为它们通常是为on-policy RL算法构建的。虽然一些系统采用混合执行并行性(例如,HybridEngine【【11, DeepSpeed-Chat: Easy, Fast and Affordable RLHF Training of ChatGPT-like Models at All Scales, 2023, arXiv:2308.01320】, 【12, HybridFlow: A Flexible and Efficient RLHF Framework, 2025, EuroSys ’25】】和Context Switching【【13, PUZZLE: Efficiently Aligning Large Language Models through Light-Weight Context Switch, 2024, USENIX ATC 24】, 【14, ReaL: Efficient RLHF Training of Large Language Models with Parameter Reallocation, 2024, arXiv preprint arXiv: 2406.14088】】)来提高吞吐量,但它们难以缓解由偏斜的轨迹生成引起的长时间GPU空闲,如图3(a)所示。其他系统【【15, Rlhfuse: Efficient rlhf training for large language models with inter-and intra-stage fusion, 2024, arXiv preprint arXiv:2409.13221】, 【46, An Adaptive Placement and Parallelism Framework for Accelerating RLHF Training, 2023, arXiv preprint arXiv: 2312.11819】】引入了阶段间融合策略,以重叠生成阶段和训练阶段的经验准备。然而,由于经验准备计算仅占总RL迭代时间的7.3%,其收益仍然有限。
图3. RL系统比较。(a)-(d)采用GPU-direct通信执行全局权重同步,而(c)需要将前一个权重版本复制到专用内存缓冲区以供后续同步。(e)通过CPU上的RDMA执行异步权重同步。Wn是第n次迭代时的actor权重版本。
异步RL的应用。最近RL后训练的进展越来越多地探索异步(即off-policy)RL算法,以实现生成和训练阶段的并行执行。它们将actor和rollout模型放置在不同的设备上,允许用于训练的轨迹由以前的模型版本生成。异步RL算法在游戏【【24, Dota 2 with large scale deep einfor nt learning, 2019, arXiv preprint arXiv:1912.06680】, 【44, Grandmaster level in StarCraft II using multi-agent reinforcement learning, 2019, nature】】和机器人【【47, Deep reinforcement learning for robotic manipulation with asynchronous off-policy updates, 2017, 2017 IEEE international conference on robotics and automation (ICRA)】,【48, Composable action-conditioned predictors: Flexible off-policy learning for robot navigation, 2018, Conference on robot learning】】等领域取得了显著成功。虽然它们提高了资源效率,但在最近的LLM后训练异步RL系统中,其优势被严重削弱。根本的限制在于其面向批处理的设计,未能有效掩盖长尾轨迹的生成延迟。
全局权重同步导致的可扩展性有限。近期的LLM异步RL训练系统【【17, StreamRL: Scalable, Heterogeneous, and Elastic RL for LLMs with Disaggregated Stream Generation, 2025, arXiv:2504.15930】, 【18, AReaL: A Large-Scale Asynchronous Reinforcement Learning System for Language Reasoning, 2025, arXiv:2505.24298】, 【19, LlamaRL: A Distributed Asynchronous Reinforcement Learning Framework for Efficient Large-scale LLM Training, 2025, arXiv:2505.24034】, 【20, rLLM: A Framework for Post-Training Language Agents, 2025, Notion Blog】, 【21, INTELLECT-2: A Reasoning Model Trained Through Globally Decentralized Reinforcement Learning, 2025, arXiv:2505.07291】, 【22, AsyncFlow: An Asynchronous Streaming RL Framework for Efficient LLM Post-Training, 2025, arXiv:2507.01663】】在不同训练迭代之间流水线化生成和训练,确保k步延迟界限。在一次RL迭代中,actor通过将完整批次划分为更小的微批次并对每个微批次进行模型更新来处理整个轨迹批次【【37, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv preprint arXiv:2402.03300】, 【40, Proximal policy optimization algorithms, 2017, arXiv preprint arXiv:1707.06347】】。该迭代的actor最终模型权重只有在处理完最后一个微批次后才准备好。在一个广泛使用的单步延迟流水线【【17, StreamRL: Scalable, Heterogeneous, and Elastic RL for LLMs with Disaggregated Stream Generation, 2025, arXiv:2504.15930】, 【20, rLLM: A Framework for Post-Training Language Agents, 2025, Notion Blog】】中(如图3(b)所示),rollout使用上一次迭代的模型权重生成一个完整的轨迹批次,而actor则同时在另一个已完全生成的旧批次上进行训练。一些并发研究【【17, StreamRL: Scalable, Heterogeneous, and Elastic RL for LLMs with Disaggregated Stream Generation, 2025, arXiv:2504.15930】, 【22, AsyncFlow: An Asynchronous Streaming RL Framework for Efficient LLM Post-Training, 2025, arXiv:2507.01663】】引入了流式生成方法。如图3(c)所示,actor首先在早期的微批次中使用短轨迹进行训练,然后在后期的微批次中消费长轨迹。这两种系统都创建了强大的数据依赖:训练器的进度与完整批次的完成绑定,迫使其等待最慢的轨迹,并耦合了所有rollout的执行。
全局同步的瓶颈。这些系统还受到僵化的模型权重依赖性的影响,因为所有rollout都依赖一个全局同步点来在k次训练迭代后接收新权重。在生成时间高度偏斜的任务中(例如,数学竞赛【39, Mathematical Association of America. 2024. AIME 2024.】),这个全局同步成为一个主要瓶颈,无法有效隐藏少数尾部轨迹的长生成时间,并产生大量的流水线气泡。这限制了可扩展性,因为增加更多GPU来增加rollout数量无法缓解等待长尾生成的问题,而为每个rollout分配额外的GPU也只能带来边际的延迟降低,如图4所示。
部分rollout方法及其问题。其他异步RL系统【【7, Seed1. 5-thinking: Advancing superb reasoning models with reinforcement learning, 2025, arXiv preprint arXiv:2504.13914】, 【8, Kimi k1. 5: Scaling reinforcement learning with llms, 2025, arXiv preprint arXiv:2501.12599】, 【18, AReaL: A Large-Scale Asynchronous Reinforcement Learning System for Language Reasoning, 2025, arXiv:2505.24298】, 【19, LlamaRL: A Distributed Asynchronous Reinforcement Learning Framework for Efficient Large-scale LLM Training, 2025, arXiv:2505.24034】】通过部分rollout改进了全局同步设计。它中断所有正在进行的轨迹生成,以在rollout中应用最新的actor模型,然后使用最新的模型权重继续轨迹生成(图3(d))。这样,一条长轨迹由多个片段组成,每个片段由不同的策略版本生成。虽然这减少了长尾气泡,但引入了两个主要问题:(1)暂停-同步周期通过强制rollout为每个被中断的轨迹重建KV-Cache(即重新预填充)而产生巨大开销,在每个RL迭代中重复此操作,浪费了GPU资源而没有推进生成。(2)用不一致的策略版本生成单个响应会损害模型收敛,导致收敛速度变慢,我们将在§8.2中通过实验证明。更详细的讨论和相关工作在§9中提供。
系统吞吐量与训练稳定性的不良耦合。现有异步RL系统的一个核心挑战是选择合适的延迟界限k。较大的k可以更好地隐藏生成延迟并提高系统吞吞吐量。然而,它也增加了数据生成策略与正在训练的策略之间的差异,这可能损害模型收敛。相反,较小的k减少了这种差异,但在掩盖生成延迟方面效果较差,导致吞吐量不佳。找到一个合适的k是一个困难的、特定于任务的调优问题。
动态RL训练带来的复杂性。这个问题因RL训练的动态性而变得更加复杂。随着LLM的学习,轨迹长度通常会发生显著变化【【1, Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025, arXiv preprint arXiv:2501.12948】, 【2, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, 2025, arXiv:2503.14476】, 【8, Kimi k1. 5: Scaling reinforcement learning with llms, 2025, arXiv preprint arXiv:2501.12599】】。在训练早期最优的延迟界限k可能随着时间的推移变得低效或不稳定。现有系统将k视为一个静态超参数,创建了一个僵化的参数依赖关系,无法适应不断变化的训练动态。
机遇:采用轨迹级异步来扩展RL。现有的异步RL框架从根本上受到一个全局同步点的限制,该同步点用于更新所有rollout。关键机遇在于将单个轨迹的生成从这种全局锁定中解耦,实现轨迹级的异步性。这允许每个轨迹生成以其自己的节奏在一致的rollout模型版本上完成,并存储在经验缓冲区中。Rollout独立操作,不会相互拖延执行(图3(e))。这有效地掩盖了较长轨迹的生成延迟,并使较短的轨迹能迅速用于采样。完全解耦的训练器从经验缓冲区中采样一个批次,而不会中断正在进行的rollout生成。重要的是,每条轨迹的延迟(由于其生成所用的模型版本)是其生成延迟的自然结果,而不是由于静态的延迟界限(§6)。延迟会根据不断变化的轨迹长度和整个训练过程中不同的环境延迟而变化。
挑战。我们确定了在实现这种轨迹级异步和扩展RL方面存在以下挑战。
挑战1:支持actor和rollout之间的异步权重同步。实现轨迹级异步需要异步和细粒度的权重同步,即rollout在完成一批次生成后立即获取最新的actor权重。由于每个rollout独立操作并以自己的节奏完成生成,rollout的更新可能在actor训练的任何时刻发生。现有的异步RL系统利用高GPU-GPU带宽在全局同步点进行参数传输【【17, StreamRL: Scalable, Heterogeneous, and Elastic RL for LLMs with Disaggregated Stream Generation, 2025, arXiv:2504.15930】, 【18, AReaL: A Large-Scale Asynchronous Reinforcement Learning System for Language Reasoning, 2025, arXiv:2505.24298】, 【19, LlamaRL: A Distributed Asynchronous Reinforcement Learning Framework for Efficient Large-scale LLM Training, 2025, arXiv:2505.24034】】。这种方法对于异步rollout更新变得不可行。首先,用于异步rollout更新的直接GPU传输会引入资源争用。它需要专用的内存缓冲区,而GPU内存在RL训练中是稀缺且关键的资源【【12, HybridFlow: A Flexible and Efficient RLHF Framework, 2025, EuroSys ’25】, 【14, ReaL: Efficient RLHF Training of Large Language Models with Parameter Reallocation, 2024, arXiv preprint arXiv: 2406.14088】, 【15, Rlhfuse: Efficient rlhf training for large language models with inter-and intra-stage fusion, 2024, arXiv preprint arXiv:2409.13221】】。为了最大化吞吐量,actor和rollout都在接近峰值内存容量下运行;actor使用大的训练批次,而rollout则扩展其KV-Cache以支持更大的解码批次【49, Mooncake: Trading more storage for less computation—a {KVCache-centric} architecture for serving {LLM} chatbot, 2025, 23rd USENIX Conference on File and Storage Technologies (FAST 25)】。然而,异步传输需要缓冲。如§2.3所述,一次RL迭代的最终模型权重直到最后一个微批次训练完成才可用。因此,为了支持rollout在训练迭代期间的按需拉取,actor必须将前一次迭代的权重保存在缓冲区中。同样,为了处理来自actor的主动推送,rollout必须缓冲传入的权重,直到其批次生成完成。对于大型模型,缓冲区可能超过可用的GPU内存。即使能容纳,这也会减少训练批次大小或KV-Cache容量,从而降低系统吞吐量。此外,通信内核(如NCCL)可能与训练和解码内核争夺GPU的流式多处理器,从而导致actor和rollout的计算停滞。其次,如果没有这些缓冲区,actor必须停滞,直到rollout获取新权重后才能继续下一个微批次的训练。这重新引入了一个阻塞的同步点,违背了轨迹级异步的目的,尤其是在rollout数量增加时。我们的目标是在异步权重同步期间,最小化GPU空闲时间,同时在actor和rollout上实现零额外GPU内存消耗,通过引入一层中继工作节点(§4)。
图4. Qwen2.5-7B/32B在H800 GPU上的一次解码延迟,在各种张量并行(TP)大小下,解码批次大小最高达到KV-Cache限制。
挑战2:解决每个rollout的长尾生成问题。虽然中继工作节点的设计允许rollout独立操作,但单个rollout仍可能陷入长尾生成(图3(e))。一些rollout最终可能只运行少数轨迹的生成,导致其GPU利用率低下。更关键的是,这些rollout无法从actor获取最新的策略(模型权重),迫使它们继续使用越来越陈旧的权重生成轨迹。最大化生成接近on-policy轨迹的rollout数量对于训练稳定性和模型性能至关重要。我们利用LLM解码是内存密集型操作【【50, Efficient memory management for large language model serving with pagedattention, 2023, Proceedings of the 29th Symposium on Operating Systems Principles】, 【51, {NanoFlow}: Towards Optimal Large Language Model Serving Throughput, 2025, 19th USENIX Symposium on Operating Systems Design and Implementation (OSDI 25)】, 【52, Efficiently Programming Large Language Models using SGLang, 2023, arXiv preprint arXiv: 2312.07104】】这一特性。卡在长尾生成上的rollout副本只剩下非常小的未完成轨迹解码批次(例如,<8)。对于内存密集型操作,解码这样小的批次的延迟几乎与大得多的批次(例如,64)相同【【53, Taming {Throughput-Latency} tradeoff in {LLM} inference with {Sarathi-Serve}, 2024, 18th USENIX Symposium on Operating Systems Design and Implementation (OSDI 24)】, 【54, Llumnix: Dynamic scheduling for large language model serving, 2024, 18th USENIX symposium on operating systems design and implementation (OSDI 24)】, 【55, MegaScale-Infer: Serving Mixture-of-Experts at Scale with Disaggregated Expert Parallelism, 2025, arXiv preprint arXiv:2504.02263】】,如图4所示。这促使我们将使用相同权重版本的多个rollout的未完成轨迹合并到少数目标rollout上,形成一个更大的解码批次,而对延迟的影响可以忽略不计。被释放的副本随后可以用最新的actor权重进行更新,以产生新的on-policy轨迹。然而,RL训练的动态性使这种合并变得复杂。核心挑战是确定何时触发合并以及涉及哪些rollout副本,因为识别真正未被充分利用的rollout并非易事。先前的研究依赖于特定于任务和模型的指标,需要大量的离线分析来定义静态阈值以识别未充分利用的情况【15, Rlhfuse: Efficient rlhf training for large language models with inter-and intra-stage fusion, 2024, arXiv preprint arXiv:2409.13221】,这对于动态RL工作负载是不切实际的,因为重复分析的开销过高。我们设计了一种高效的解决方案,使用基于KV-Cache利用率的轻量级指标来动态做出合并决策(§5)。
挑战3:确保大规模RL训练的鲁棒性。生产级别的RL后训练作业正在扩展到数千个GPU,并可能运行数周或数月【【5, Grok 4, 2025, https://x.ai/news/grok-4 】, 【56, Kimi K2: Open Agentic Intelligence, 2025, arXiv preprint arXiv:2507.20534】】。在这种规模下,硬件故障是不可避免的。由于rollout生成阶段通常主导RL迭代时间,rollout的弹性对整体训练进度至关重要。虽然训练器可以利用检查点进行恢复,但现有的RL系统没有为rollout阶段提供容错能力。此外,通常使用NCCL【57, NVIDIA Collective Communications Library (NCCL), 2023, https: //http://developer.nvidia.com/nccl, HybridFlow: A Flexible and Efficient RLHF Framework, 2025, EuroSys ’25】, 【16, OpenRLHF: An Easy-to-use, Scalable and Highperformance RLHF Framework, 2024, arXiv:2405.11143】, 【17, StreamRL: Scalable, Heterogeneous, and Elastic RL for LLMs with Disaggregated Stream Generation, 2025, arXiv:2504.15930】, 【18, AReaL: A Large-Scale Asynchronous Reinforcement Learning System for Language Reasoning, 2025, arXiv:2505.24298】】,而NCCL缺乏对容错和弹性的原生支持【58, Demystifying NCCL: An In-depth Analysis of GPU Communication Protocols and Algorithms, 2025, arXiv:2507.04786】。因此,单个rollout故障可能迫使整个作业从检查点重新启动,妨碍了长时运行工作负载所需的快速恢复。在现有系统中,每个rollout独立管理其正在生成的活动轨迹。机器故障会导致该节点上所有进行中的工作完全丢失。对于复杂任务【【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】, 【31, Introducing deep research, 2025, https://openai.com/index/ introducing-deep-research/】】,这种损失尤其昂贵,因为单个轨迹可能需要数小时才能生成。在故障恢复期间重新生成轨迹会浪费宝贵的GPU周期。我们的完全解耦架构通过隔离每个系统组件,实现了鲁棒的长时运行RL训练,确保快速和独立的恢复(§3.3, §4.3)。
Laminar的设计目标。我们引入Laminar,一个可扩展且鲁棒的异步RL后训练框架,旨在扩展RL训练作业并确保训练的鲁棒性。Laminar实现了actor与所有rollout副本之间,以及rollout副本之间的完全解耦,包括数据依赖(即,将训练器的消费与轨迹批次生成解耦)和参数依赖(即,无锁步权重同步)。这种解耦使得轨迹生成、actor模型训练以及actor与rollout之间的权重同步能够独立进行。它消除了限制可扩展性的任何全局同步瓶颈,并有效隔离故障以确保快速、无中断的恢复和长时间训练。通过实现轨迹级异步性,我们的框架允许每条轨迹的生成以其自身的最优速度完成,同时通过多样化的轨迹和最小的延迟来维持训练稳定性。
Laminar的架构。图5展示了Laminar的架构,它由四个核心模块组成:
Rollout模块:由一个rollout管理器和众多rollout组成。管理器运行在CPU机器上,与任何GPU机器的故障隔离。它通过监控rollout的工作负载并相应地应用轨迹重打包来协调rollout。它还通过监控rollout健康状况、管理权重更新拓扑和处理故障恢复来确保系统稳定性。每个rollout执行自回归生成以独立产生轨迹,并可能在生成过程中与外部环境交互。在生成完从提示池采样的批次后,每个rollout从其同地部署的中继工作节点获取最新的actor模型权重。
数据模块:通过三个独立的存储组件管理轨迹的生命周期,每个组件作为单独的进程运行并将数据存储在CPU机器上:一个提供生成初始状态(如数学或编码问题)的提示池;一个集中存储进行中轨迹以确保容错的部分响应池;以及一个保存完全生成轨迹的经验缓冲区。与此缓冲区的交互由一个写入器和一个采样器管理。为写入器和采样器提供了灵活的API,允许用户自定义训练的采样策略和当缓冲区容量不足时移除旧经验的驱逐策略。
中继工作节点(Relay Workers):作为一个分层的参数服务。Rollout管理器指定一个中继为主节点(master),它从actor接收更新的权重并将其广播给其他中继。每个中继是运行在每个rollout GPU机器上的独立CPU进程,将最新的actor模型权重托管在本地CPU内存中。这允许任何rollout副本按需拉取新版本,而不会阻塞训练器和其他rollout上的GPU计算。
训练器(Trainer):从经验缓冲区中采样经验批次,根据选定的RL算法执行模型更新,可能涉及多个模型,如actor、critic和参考模型【【37, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv preprint arXiv:2402.03300】, 【40, Proximal policy optimization algorithms, 2017, arXiv preprint arXiv:1707.06347】】。这些模型同地部署在同一组GPU上,并以分时方式顺序执行【【11, DeepSpeed-Chat: Easy, Fast and Affordable RLHF Training of ChatGPT-like Models at All Scales, 2023, arXiv:2308.01320】, 【12, HybridFlow: A Flexible and Efficient RLHF Framework, 2025, EuroSys ’25】】。
Laminar的连续异步工作流。Laminar的连续、异步训练工作流旨在在扩展时保持高训练吞吐量。它从rollout从提示池拉取提示以在其GPU上生成轨迹开始(步骤①)。为实现容错,进行中的轨迹被流式传输到部分响应池(步骤②)。生成完成后,它们被移动到经验缓冲区(步骤③)。与rollout生成并行,训练器从经验缓冲区采样已完成的轨迹以进行模型训练(步骤④)。这种数据生产与消费的根本解耦是系统可扩展性的关键。
权重同步与负载均衡。模型更新后,训练器将新的actor权重推送到主中继,并立即恢复其下一次训练迭代,无需等待权重完全分发给其他中继或rollout(步骤⑤)。主中继随后使用RDMA将新权重直接广播给所有其他中继,这在CPU内存中后台进行,不影响同一机器上正在进行的基于GPU的生成(步骤⑥)。rollout可以随时从其同地部署的中继通过高速PCIe以最小延迟获取最新权重(步骤⑦)。这解耦了系统中actor与所有rollout之间的参数依赖。同时,Laminar主动管理rollout上的工作负载不平衡,以保持高生成吞吐量。Rollout管理器监控卡在长尾轨迹生成上的rollout,并触发重打包机制(步骤⑧)。重打包将来自未充分利用的rollout的轨迹合并到少数rollout上,释放前者,使其可以拉取最新的模型权重,并减少全系统的延迟。

图5. Laminar架构与训练工作流。
Laminar的弹性与恢复机制。Laminar中的解耦架构允许动态移除和添加rollout,而无需停止训练和丢失数据,从而实现弹性。rollout、中继和训练器中的单个故障被隔离,实现了快速恢复而无需昂贵的全局重启。这种弹性对于大规模训练至关重要,并在训练工作流的关键阶段进行处理。
Rollout故障处理。当rollout生成期间发生故障时,我们基于心跳的故障转移机制会迅速检测到故障rollout并通知rollout管理器。我们首先尝试在相同的GPU上重新初始化故障副本来进行恢复。如果重新初始化后故障仍然存在,我们则驱逐整个受影响的机器。在此期间,进行中的轨迹状态安全地保存在部分响应池中。rollout管理器将中断的轨迹重定向到具有相同权重版本的健康rollout,或者在没有可用机器时等待替换机器。恢复是迅速的,因为新机器通过与主中继同步以获取最新权重或从actor检查点文件加载特定权重版本来初始化rollout和相应的中继。
Relay和Trainer故障处理。权重同步期间的中继故障由我们的容错中继广播机制管理(§4.3)。故障的中继工作节点被即时检测到,无需超时,通信调度器使用健康节点重建广播链。这种恢复可以在几秒钟内完成,而不会中断正在进行的rollout生成。训练器故障由标准检查点恢复方法处理【【59, Tenplex: Dynamic parallelism for deep learning using parallelizable tensor collections, 2024, Proceedings of the ACM SIGOPS 30th Symposium on Operating Systems Principles】, 【60, ByteCheckpoint: A Unified Checkpointing System for Large Foundation Model Development, 2025, 22nd USENIX Symposium on Networked Systems Design and Implementation (NSDI 25)】, 【61, PhoenixOS: Concurrent OS-level GPU Checkpoint and Restore with Validated Speculation, 2025, Proceedings of the ACM SIGOPS 31th Symposium on Operating Systems Principles】】,actor模型权重会定期进行检查点。当训练器工作节点失败时,它被驱逐【【62, SageMaker, 2023, https://docs.aws.amazon.com/sagemaker/index. html】, 【63, Characterization of large language model development in the datacenter, 2024, 21st USENIX Symposium on Networked Systems Design and Implementation (NSDI 24)】】然后从最新的检查点恢复。在此期间,rollout继续使用最新的可用权重进行生成。一旦恢复,actor就从经验缓冲区恢复采样并继续训练。
图6. 异步权重同步工作流。
使用存储系统的低效性。传统的RL系统通常涉及一个存储系统来进行actor和rollout模型之间的权重同步。SRL【64, SRL: Scaling Distributed Reinforcement Learning to Over Ten Thousand Cores, 2023, International Conference on Learning Representations】依赖于文件系统(NFS【65, Ca-nfs: A congestion-aware network file system, 2009, ACM Transactions on Storage (TOS)】),而OpenAI-Five【66, Dota 2 with Large Scale Deep Reinforcement Learning, 2019, arXiv preprint arXiv: 1912.06680】则利用键值存储(Redis【67, “Redis In-memory Data Structure Server”, 2009, https: //http://redis.io/ LLM的分析显示,序列化一个4GB的模型分片大约需要8秒。通过标准TCP网络向/从存储系统传输如此大量的数据,会给每个rollout的关键路径增加10到20秒的延迟。其次,当大量rollout同时拉取最新权重时,存储系统会成为一个争用瓶颈,导致权重更新的延迟长且不可预测。因此,我们利用本地主机内存和像RDMA这样的高带宽网络进行高效的权重同步,避免了序列化和单点争用。
在本地主机内存中托管中继工作节点。直接的GPU到GPU传输用于异步权重同步会产生过高的内存开销和计算停顿(§2.4)。分配专门的GPU作为中继在计算上是浪费的且成本高昂。我们引入了一层在rollout机器的CPU内存中运行的中继工作节点,利用了主机内存大部分未被充分利用的特点。这些基于CPU的中介将actor模型权重与异步的rollout需求解耦,并利用RDMA在机器之间进行高效且鲁棒的权重同步。
中继层次结构的设计目标。我们的中继工作节点层次结构旨在实现两个目标:1)最小化actor在发布权重期间的停滞时间,以及2)确保任何请求新版本的rollout都能低延迟访问。为了实现第一个目标,我们指定一个单一的主中继:actor将其更新的权重传输到这个主中继,并能立即恢复训练,从而有效地隐藏了广播延迟(图6中的步骤①)。在接收到最新权重后,主中继根据rollout的分片策略(例如,rollout运行的GPU之间的张量并行【【11, DeepSpeed-Chat: Easy, Fast and Affordable RLHF Training of ChatGPT-like Models at All Scales, 2023, arXiv:2308.01320】, 【12, HybridFlow: A Flexible and Efficient RLHF Framework, 2025, EuroSys ’25】, 【13, PUZZLE: Efficiently Aligning Large Language Models through Light-Weight Context Switch, 2024, USENIX ATC 24】, 【14, ReaL: Efficient RLHF Training of Large Language Models with Parameter Reallocation, 2024, arXiv preprint arXiv: 2406.14088】】)重新分片。单个主中继在服务来自多个rollout的权重请求时可能成为瓶颈。我们进一步为每个rollout机器配备一个中继工作节点以分散工作负载,并使rollout能够随时低延迟地访问更新的权重。
权重传播与获取。更新的权重必须从主中继高效地传播到所有其他中继。我们通过使用RDMA的基于链的流水线广播来实现这一点(步骤②)。该广播沿着中继链流水线化模型块的传输,重叠了不同跳之间的通信。这使得广播时间几乎与链的长度规模无关【68, Parallele Algorithmen, 2009, Technical Report. Karlsruher Institut für Technologie (KIT)】,我们在附录D中进行了形式化分析。对于一个72B模型,从主中继到127个其他中继的广播时间不到1.6秒(附录D中的图18)。与长达数百到数千秒的轨迹生成时间相比,这个广播时间可以忽略不计【【2, DAPO: An Open-Source LLM Reinforcement Learning System at Scale, 2025, arXiv:2503.14476】, 【6, SWE-bench: Can Language Models Resolve Real-World GitHub Issues?, 2023, arXiv preprint arXiv: 2310.06770】, 【38, ReTool: Reinforcement Learning for Strategic Tool Use in LLMs, 2025, arXiv preprint arXiv: 2504.11536】】。Rollout可以随时通过PCIe链路从其同地部署的中继获取最新权重,而无需等待重新分片和广播完成(步骤③)。
容错广播机制。随着RL训练扩展到数千个GPU,硬件和软件故障变得不可避免。我们设计了一种容错的中继广播方案。rollout管理器中的通信调度器建立连接rollout机器上中继工作节点的广播流水线。主中继从actor接收权重,将其分块,并以流水线方式沿链向下广播。如果一台rollout机器发生故障,调度器通过心跳监控检测到故障。故障机器被驱逐,调度器立即在剩余的rollout机器之间重建广播链,如图7所示。这种修复是一个常数时间(O(1))操作,可以在不到一秒内完成。如果主中继发生故障,rollout管理器会从可用的中继中选择一个新的主中继并重建广播链。然后通知训练器新的主中继的IP地址,以恢复权重分发。在这种快速修复期间,RL训练无缝继续,健康rollout机器上的rollout生成不受影响,因为rollout生成和中继通信在每台机器的不同进程中是隔离的(§7)。
图7. 中继广播期间的快速恢复。
重打包机制概述。每个rollout在完成一批轨迹生成后会获取最新的模型权重。在任何时候,不同的rollout可能使用不同版本的模型权重进行轨迹生成,而一组组的rollout则使用相同的权重版本进行生成。为了消除生成长尾轨迹的rollout上的GPU空闲时间,我们引入了一种重打包机制,将这些掉队rollout上正在进行的轨迹生成合并到同一权重版本组内的少数指定rollout上。我们的设计涉及三个关键方面:建立重打包的工作流,监控陷入长尾生成的rollout,以及确定合适的目标rollout。
触发与工作流程。我们的重打包机制主要由一个周期性检查(例如,5秒)触发,该检查检测是否有任何rollout副本陷入了长尾轨迹生成从而被低效利用。此外,在训练器完成全局批次的权重更新后,也会立即启动一次重打包,旨在更快地释放rollout以使用最新的模型版本生成on-policy轨迹。重打包工作流如图8所示,首先由rollout管理器收集所有rollout的进度指标,并按模型权重版本将它们分组(步骤①)。在每个组内,rollout管理器使用一个空闲度指标(§5.2)识别正在进行长尾生成的rollout。然后执行一个打包算法来决定重打包计划,该计划将进行中轨迹从多个rollout合并到少数目标rollout上(步骤②)。rollout管理器随后相应地将长尾生成rollout的未完成轨迹转移到目标rollout(步骤③)。
图8. 重打包机制的工作流。虚线时间轴显示了训练器中的权重版本。
动态分区。每次触发时,打包算法会动态地将一组rollout划分为源(进行长尾生成,将被释放)和目标(用于合并长尾轨迹生成)。
空闲度指标。我们设计了空闲度指标来识别GPU利用率不足的rollout。先前的方法依赖于预定义的剩余生成请求阈值来检测长尾效应【15, Rlhfuse: Efficient rlhf training for large language models with inter-and intra-stage fusion, 2024, arXiv preprint arXiv:2409.13221】。确定一个最优阈值需要大量的、针对每个作业的离线分析,这对于工作负载可能显著变化的RL部署来说是不切实际的。相反,我们利用KV-Cache利用率作为内存密集型LLM生成中资源压力的更直接指标。我们的观察是,KV-Cache容量是扩展内存密集型rollout生成中并行解码批次大小的主要障碍【【50, Efficient memory management for large language model serving with pagedattention, 2023, Proceedings of the 29th Symposium on Operating Systems Principles】, 【51, {NanoFlow}: Towards Optimal Large Language Model Serving Throughput, 2025, 19th USENIX Symposium on Operating Systems Design and Implementation (OSDI 25)】, 【52, Efficiently Programming Large Language Models using SGLang, 2023, arXiv preprint arXiv: 2312.07104】】。我们观察到,即使批次大小增加