作者/机构: Yinmin Zhong1, Zili Zhang1, Xiaoniu Song2, Hanpeng Hu2, Chao Jin1, Bingyang Wu1, Nuo Chen2, Yukun Chen2, Yu Zhou2, Changyi Wan2, Hongyu Zhou2, Yimin Jiang3, Yibo Zhu2, Daxin Jiang2
(1 School of Computer Science, Peking University; 2 StepFun; 3 Unaffiliated)

A1 主要贡献

本文探讨了大型语言模型(LLM)的强化学习(RL)训练架构。RL训练通常包括在线生成样本(generation)和使用这些样本进行训练(training)两个阶段。

核心问题:
主流的“同地部署(colocated)”架构(即生成和训练阶段在同一组GPU资源上分时复用)虽然解决了资源闲置问题,但在大规模训练中暴露了“资源耦合”的根本缺陷。生成阶段是内存带宽密集型,而训练阶段是计算密集型,两种负载特性迥异。同地部署强制它们使用相同数量和类型的硬件,导致资源利用率低下,无法为各阶段选择最具成本效益的硬件。此外,这种架构难以扩展到跨数据中心的异构资源池,因为训练阶段的全连接通信(full-mesh communication)会产生巨大的跨数据中心通信开销。

研究目标:
本文重新审视并优化了“分离式(disaggregated)”架构,即为生成和训练阶段分配独立的专用资源。分离式架构天然具有资源分配灵活、支持异构硬件、可扩展至跨数据中心的优势。然而,现有分离式框架存在两大性能瓶颈:
1. 流水线气泡(Pipeline bubbles): 因阶段间的串行依赖导致一个阶段工作时另一阶段资源空闲。
2. 倾斜气泡(Skewness bubbles): LLM生成样本的输出长度呈长尾分布,导致在生成后期只有少数长尾样本在处理,GPU利用率严重不足。

创新点 (StreamRL):
为了解决上述问题,本文提出了一个基于分离式架构设计的RL训练框架——StreamRL。其核心创新点如下:
1. 提出流式生成(Stream Generation): 将生成和训练阶段抽象为流式生成服务(SGS)和训练器(Trainer)。SGS一旦生成一个样本,就以流的方式立即返回给Trainer,从而打破了传统的阶段边界。这使得:
* 在同步RL算法中,可以实现“动态批次流水线(dynamic-batch pipelining)”,有效减少流水线气泡。
* 在异步RL算法中,可以实现“完全异步流水线(fully asynchronous pipelining)”,几乎完全重叠两个阶段的执行,最大化资源利用率。
2. 解决长尾倾斜问题: 提出了一套倾斜感知调度机制。
* 输出长度排序器模型(Output-length ranker model): 训练一个轻量级模型来预测并排序输入提示(prompts)的生成长度,以识别长尾样本。
* 倾斜感知分发与调度(Skewness-aware dispatching and scheduling): 根据排序结果,将长尾样本和常规样本分派到不同的生成实例上,并为长尾样本分配更小的批次大小以加速其处理,从而减少整体生成延迟。
3. 实现弹性与异构部署:
* 自动资源分配与动态调整: 提供了基于性能分析的资源分配算法,用于在训练前平衡两个阶段的执行时间。同时,设计了动态资源调整机制,在训练过程中根据负载变化(如生成长度增加)自动扩展SGS的资源,维持阶段平衡。
* 支持异构和跨数据中心部署: StreamRL的设计充分利用了分离式架构的优势,实验证明在异构、跨数据中心的环境下,能将生成阶段部署在成本效益更高的推理GPU上,将训练阶段部署在高性能计算GPU上,从而将成本效益提升高达1.33倍。

实验结果表明,与现有最先进的系统相比,StreamRL的吞吐量提升高达2.66倍。


图 1. 两种代表性的RL框架架构。(a) 分离式架构,为生成和训练阶段分配专用资源,但存在资源闲置问题。(b) 同地部署架构,两阶段分时复用同一组资源,解决了闲置问题但引入了资源耦合。

A3 背景知识与关键动机

2.1 背景知识

  • LLM的强化学习: LLM作为智能体(agent),通过与环境交互学习。提示(prompt)是初始状态,模型生成的每个token是动作(action),形成新的状态。一个完整的生成样本被称为轨迹(trajectory)或 rollout。每个RL迭代包含两个主要阶段:

    1. 生成阶段: 模型首先对所有提示token进行一次前向传播(prefill phase)生成第一个输出token,并建立键值缓存(key-value cache)【12, Transformer-XL: Attentive language models beyond a fixed-length context, 2019; 33, fairseq: A fast, extensible toolkit for sequence modeling, 2019, arXiv】。然后进入解码阶段(decoding phase),自回归地生成后续token。
    2. 训练阶段: 生成的样本通过奖励模型(Reward Model)【9, Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback, 2022, arXiv】或基于规则的函数【13, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, 2025, arXiv】计算奖励。为稳定训练,通常使用一个参考模型(Reference Model)提供KL散度(Kullback-Leibler divergence)正则化,防止智能体模型在训练中偏离太远。PPO【36, Proximal policy optimization algorithms, 2017, arXiv】等算法还引入了评论家模型(Critic Model)提供token级别的奖励,而GRPO【37, Deepseekmath: Pushing the limits of mathematical reasoning in open language models, 2024, arXiv】等算法则使用近似策略避免使用评论家模型。
  • LLM并行化: 为了扩展LLM训练,开发了多种并行技术:

    • 数据并行(Data Parallelism, DP): 在多个设备上复制模型,并将数据集切分。
    • 张量并行(Tensor Parallelism, TP): 将单个操作(如矩阵乘法)切分到多个GPU上,通常限制在具有高速互联(如NVLINK)的节点内。
    • 流水线并行(Pipeline Parallelism, PP): 将模型层切分成不同阶段,分配给不同设备。
      现代训练系统【22, {MegaScale}: Scaling large language model training to more than 10,000 {GPUs}, 2024, USENIX NSDI; 40, Megatron-lm: Training multibillion parameter language models using model parallelism, 2019, arXiv】通常结合这三种方法。

2.2 同地部署架构的问题

  • 资源耦合的根本限制: 尽管同地部署架构因其资源效率高而看似更优,但随着模型和训练规模的增长,其“资源耦合”问题凸显。生成阶段和训练阶段是两种根本不同的工作负载。解码阶段是内存带宽密集型,而训练阶段是计算密集型。同地部署强制这两个阶段共享相同的资源数量和硬件类型,这与它们迥异的计算特性产生冲突。

  • 对资源数量的扩展敏感性不同: 生成阶段和训练阶段对资源数量的扩展敏感性差异显著。如左图2所示,在训练一个7B LLM时,随着资源增加,生成时间的缩短很快达到瓶颈。这是因为生成时间主要由总内存带宽决定,而增加资源主要是增加DP实例数量,对减少生成时间效果有限。相反,计算密集型的训练阶段能从资源扩展中获得更好的加速效果。这种差异导致在扩大资源规模时,生成阶段的资源利用率低下。

  • 对硬件类型的选择受限: 资源耦合的另一表现是硬件选择。如表1所示,不同的NVIDIA GPU在计算能力、内存带宽和成本之间存在权衡。例如,专为推理等内存带宽密集型工作负载设计的H20 GPU,其HBM带宽和容量甚至高于旗舰级的H800,而成本仅为其35%左右。同地部署架构无法为每个阶段选择最具成本效益的硬件。


图 2. 生成和训练阶段在不同资源数量(左)和序列长度(右)下的性能敏感性差异。

Table 1. NVIDIA GPU规格.

2.3 分离式架构的动机

  • 灵活性: 分离式架构立即消除了资源耦合问题,允许为两个阶段量身定制资源分配,并能灵活利用异构硬件以提高训练成本效益。

  • 可扩展性: 许多组织运营多个中型数据中心而非单个巨型数据中心。传统LLM训练涉及大量的全连接通信,难以进行跨数据中心部署。相比之下,分离式RL架构的阶段间通信量相对较小(主要是点对点传输样本和模型权重),非常适合数据中心间的专用链路,使得跨数据中心RL训练在实践中可行。此外,生成实例完全独立,可以分布在多个数据中心,充分利用整个资源池进行扩展。

2.4 分离式架构的挑战

  • 流水线气泡: 这是现有分离式框架效率低下的主要原因。如图3所示,由于阶段间的串行执行,一个阶段的资源在另一阶段工作时处于空闲状态。此外,RL训练中样本在线生成,具有动态性。例如,DeepSeek-R1技术报告【13, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, 2025, arXiv】中提到,LLM的生成长度会随时间自发增加。然而,生成和训练时间对这种工作负载变化的响应不同(如图2右侧所示),导致阶段间不平衡,引入新的气泡。

  • 倾斜气泡: 另一类气泡源于RL工作负载本身。生成阶段的输出长度呈倾斜分布【58, Rlhfuse: Efficient rlhf training for large language models with inter-and intra-stage fusion, 2025, USENIX NSDI】,只有一小部分样本比大多数样本长得多。随着生成过程的推进,系统中只剩下少数长尾样本,而解码阶段需要大批量才能保持高吞吐,这导致GPU利用率低下。工程上的变通方法【43, Kimi k1. 5: Scaling reinforcement learning with llms, 2025, arXiv】是将部分生成的长尾样本存入回放缓冲区,但这可能影响模型质量。RLHFuse【58, Rlhfuse: Efficient rlhf training for large language models with inter-and intra-stage fusion, 2025, USENIX NSDI】提出的解决方案基于同地部署架构,不适用于物理分离的分离式架构。


图 3. 分离式架构中的资源浪费。

A2 方法细节

3 StreamRL 概览

  • 系统架构: 为了解决上述挑战,本文提出了StreamRL,一个基于分离式架构原则设计的高效RL框架。如图4所示,StreamRL将生成和训练阶段分别抽象为流式生成服务(Stream Generation Service, SGS)和训练器(Trainer)。SGS和Trainer部署在物理上分离的资源上,甚至可以在由点对点链路连接的不同数据中心。这种设计充分释放了分离式架构的优势,实现了(1)灵活的资源分配,(2)异构硬件选择,以及(3)跨数据中心训练。

  • 工作流程:

    1. 静态配置: 在给定集群、模型和算法配置后,StreamRL首先决定如何在SGS和Trainer之间分配资源,以及各自采用何种并行策略。
    2. 训练过程: Trainer通过update(weights)generate(prompts)两个API与SGS交互。Trainer根据具体的RL算法调整权重更新时机并处理早期流式返回的样本,以解决流水线气泡。
    3. 倾斜处理: SGS利用一个输出长度排序器来识别长尾样本,并根据预测结果将提示分派到特定的生成实例,并决定调度顺序,有效缓解长尾样本造成的瓶颈。
    4. 动态调整: 静态配置确保了训练开始时生成和训练时间的平衡。但由于RL工作负载的动态性,StreamRL提供了弹性资源调整机制。SGS会持续监控Trainer的执行时间。当工作负载演变导致生成时间超过训练时间某个阈值时,SGS会自动增加其数据并行(DP)规模来扩容,以维持动态平衡。


图 4. StreamRL系统架构。

4 解决流水线气泡

4.1 重叠设计

  • 核心思想: 解决流水线气泡的关键在于确保在生成进行时,训练阶段也能保持活跃。针对同步和异步两类主流RL算法,StreamRL通过流式技术增强了现有的重叠方案。

  • 同步RL的解决方案:

    • 现有方案:小批量流水线(Mini-batch pipelining)【27, DeepCoder: A Fully Open-Source 14B Coder at O3-mini Level, 2025, Notion Blog】。如图5(a)所示,将样本划分为多个小批量,每生成一个小批量的样本就传递给训练阶段处理。这种方法需要手动设置小批量大小,设置不当会影响重叠效果或训练效率,并且由于长尾效应,最后几个小批量的训练经常溢出,产生明显的流水线气泡。
    • StreamRL方案:动态批次流水线(Dynamic-batch pipelining)。如图5(b)所示,StreamRL用流式生成替代批次生成,样本一完成就立即发送到训练阶段。这使得样本级别的操作(如参考模型推理、KL损失计算)能尽早开始。训练阶段一旦收到足够填满GPU的样本就可以开始处理,实现了基于生成速度的动态批处理,从而消除了训练阶段的空闲时间,并有效减少了最后小批量引起的气泡。
  • 异步RL的解决方案:

    • 现有方案:单步异步流水线(One-step asynchronous pipelining)【27, DeepCoder: A Fully Open-Source 14B Coder at O3-mini Level, 2025, Notion Blog】。异步RL允许训练使用的样本不是由最新的模型权重生成的。如图5(c)所示,可以在训练阶段处理前一迭代的样本时,提前生成一个额外的批次,从而实现跨迭代的重叠。但这种批次级流水线的缺点是每次迭代结束时仍有一次全局同步来传输权重,导致两个阶段都空闲。
    • StreamRL方案:完全异步流水线(Fully asynchronous pipelining)。如图5(d)所示,流式技术可以解决上述问题。首先,权重传输可以与下一迭代的训练重叠,因为前一迭代的样本已经以流的方式缓冲好。同时,当前迭代的生成不依赖最新权重,也可以并行进行。这使得权重传输完全脱离了关键路径。即使各迭代的生成和训练时间有波动,只要平均速度匹配,就不会产生新的气泡。此方案没有引入超过一步的异步样本,因此训练语义与朴素方案相同。


图 5. 流式技术如何增强现有方案以更好地缓解流水线气泡。

4.2 阶段平衡

  • 并行配置: 为了更好地重叠SGS和Trainer,需要平衡两者的执行时间。首先解决一个子问题:在给定的工作负载和GPU预算下,确定SGS或Trainer的最优执行时间。这实质上是优化并行策略的问题,对于LLM训练【54, DistTrain: Addressing Model and Data Heterogeneity with Disaggregated Training for Multimodal Large Language Models, 2024, arXiv; 55, Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning, 2022, USENIX OSDI】和生成【57, {DistServe}: Disaggregating prefill and decoding for goodput-optimized large language model serving, 2024, USENIX OSDI】都是一个已有深入研究的问题。StreamRL采用基于性能分析器的方法,通过少量分析来精确建模训练时间和生成时间。

  • 资源分配: 基于上述策略,StreamRL可以决定各阶段的资源分配。如算法1所示,支持两种部署方案:

    1. 单数据中心部署: SGS和Trainer位于同一数据中心的同构硬件上。算法通过枚举SGS和Trainer的GPU分配数量 $(N_g, N_t)$,在总预算 $N$ 内($N_g + N_t \le N$),利用性能模型估算每种分配下的延迟,并选择最小化整体迭代时间的 $(N_g, N_t)$ 组合。
    2. 跨数据中心部署: SGS和Trainer位于不同数据中心,拥有独立的GPU预算 $(C_g, C_t)$。朴素选择是 $(N_g, N_t) = (C_g, C_t)$,但这可能导致资源浪费。算法首先在完全分配下确定哪个阶段更快,然后逐步减少较快阶段的GPU使用量,直到两个阶段的执行时间相似,从而将多余资源释放给其他任务。
  • 动态调整: 上述技术仅确保训练开始时阶段平衡。由于LLM在RL训练中生成长度会逐渐增加,而生成和训练时间对负载变化的敏感度不同(如图2),会导致阶段失衡。StreamRL提出了一种动态调整机制:监控生成和训练之间的时间差 $\Delta$。当 $\Delta$ 超过一个阈值时(该阈值由增加一个DP单元到SGS所能减少的生成时间 $\Delta'$ 决定),系统会自动为SGS增加一个DP单元。由于SGS中的生成实例是解耦的,这种调整不会中断训练,开销极小。

Algorithm 1 资源分配算法

5 解决倾斜气泡

本节介绍SGS用于处理倾斜气泡的技术,其目标是在给定资源下最小化生成时间。

5.1 问题与机遇

  • 问题1:长尾样本与常规样本未区分处理: 现有系统通常随机分派提示以实现负载均衡。如图6(a)所示,如果每个生成实例都接收到长尾样本,那么在批处理推理中,长尾样本会受到常规样本的干扰。如图6右侧所示,每个token的解码延迟随批次大小增加而增长。为提高吞tuningput,现有系统倾向于积累大批次,但这会减慢长尾样本的解码速度,并在后期导致极低的GPU利用率。

  • 机遇1:优化生成延迟模型: 样本的生成延迟可以建模为:

    公式1
    公式1

    其中,每个token的延迟 $T_{ptl}$ 是批次大小 $BS$ 的函数。对于输出长度 $L$ 较长的样本,我们希望减小其 $T_{ptl}$,即减小其批次大小 $BS$。由此得到的启发是:我们可以分离出长尾样本,将它们分配到少数专用实例上,用较小的批次大小运行,以最快速度解码;同时,将常规样本分组成大批次以充分利用GPU。

  • 问题2:输出长度未知: 上述方法依赖于一个关键假设:在生成开始前就能识别出长尾样本。

  • 机遇2:可排序性优于可预测性: 虽然难以精确预测每个样本的生成长度,但用另一个模型来估计输出长度的相对排名是可行的【14, Efficient LLM Scheduling by Lea rning to Rank, 2024】。这本质上是一个分类问题,即根据提示的难度进行分类,而难度是提示的内在属性,可以在不同LLM间泛化,因此排名模型准确率较高。


图 6. 左:倾斜感知分发相对于随机分发的优势。右:7B LLM在NVIDIA H800上使用vLLM分析的每token解码延迟随批次大小增加的趋势。

5.2 输出长度排序器

  • 方法: 收集一系列输入提示及其在目标LLM上的对应输出长度,形成(prompt, length)对的数据集。使用这个数据集,对一个小型LLM进行监督微调(SFT),使其成为排序器模型。微调后,该模型能输入一批提示并估算它们的绝对输出长度,然后根据估算长度对提示进行排序。随着RL训练的进行,目标LLM参数会变化,排序器模型会使用近期的生成结果进行在线微调以适应变化。

  • 开销: 排序器模型的开销很小。训练只需几分钟即可收敛。训练后,对用于RL的数据集进行一次性离线预处理,估算每个提示的输出长度。这个预处理完全离线进行,因此排序器模型对RL训练过程没有在线开销。

5.3 倾斜感知调度

  • 分发(Dispatching): SGS收到一批带有估算输出长度的提示后,首先按长度从长到短排序,将最长的k%标记为长尾样本(实践中k=20效果良好)。然后,从总共N个生成实例中选择 $N_{lt}$ 个处理长尾样本,剩下的 $N_{reg}$ 个处理常规样本。为了均衡负载,使用LLM的输出长度分布D(可从近期样本或预生成样本中获得)的P50和P90分位数来分别估计常规和长尾样本的平均输出长度。单实例的生成延迟可估计为:

    公式2
    公式2

    其中 $L_{avg}$ 是分配给该实例的样本的平均输出长度,$n$ 是分配的提示数量。算法2展示了倾斜感知分发算法的伪代码,它会遍历所有 $(N_{lt}, N_{reg})$ 配置,找到最小化生成时间的方案。

  • 调度顺序(Scheduling Order): 每个实例分配的样本数 $n$ 可能超过生成时使用的批次大小 $BS_{inf}$,因此需要多轮生成。这引入了样本调度顺序问题,这是一个 $P || C_{max}$(makespan最小化)问题的变种。StreamRL采用了一种著名的贪心算法——最长处理时间优先(Longest-Processing-Time-First, LPT)调度【15, Bounds on multiprocessing timing anomalies, 1969, SIAM journal on Applied Mathematics】。具体来说,样本按其估算输出长度降序分配到批次中。一个样本完成后,就将剩余输出长度最长的样本加入批次,直到所有样本处理完毕。LPT调度已被证明是4/3近似算法。

Algorithm 2 倾斜感知分发算法

6 实现

  • RL训练框架: SGS采用C++实现的内部推理引擎,支持连续批处理【52, Orca: A Distributed Serving System for {Transformer-Based} Generative Models, 2022, USENIX OSDI】和前缀共享【56, SGLang: Efficient Execution of Structured Language Model Programs, 2024】。Trainer实现了与先前工作【22, {MegaScale}: Scaling large language model training to more than 10,000 {GPUs}, 2024, USENIX NSDI; 28, ReaLHF: Optimized RLHF Training for Large Language Models through Parameter Reallocation, 2024, arXiv; 41, Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism, 2020】类似的3D并行。为了解决GPU内存限制,开发了动态CPU卸载技术。

  • 张量原生RPC库: 开发了RL-RPC,一个为SGS和Trainer之间高效数据传输优化的通信框架。该系统采用GPU-Direct RDMA进行零拷贝张量传输,绕过CPU并消除序列化开销。同时提供TCP回退机制,以兼容非RDMA网络环境。

  • 权重传输: Trainer端权重分片后,StreamRL采用一个网络感知的传输引擎将权重高效广播到SGS。在单数据中心设置中,它创建多个广播树以实现负载均衡。对于跨数据中心部署,只有根节点(DP rank 0)将权重发送到远程数据中心的指定SGS实例,然后进行本地广播,以最小化跨数据中心流量。

A4 实验

实验环境

  • 数据集:
    • 名称:内部CodeMath提示数据集。
    • 规模与用途:使用DeepSeek-R1【13, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, 2025, arXiv】生成的响应作为基准。数据集的提示和输出长度分布如图7所示,最大输出长度为20K,呈长尾分布。为模拟RL训练的不同阶段,将输出长度按比例缩小,创建了5K、10K和20K三个版本的数据集。

      图 7. 评估数据集的提示和输出长度分布。
  • 模型架构:
    • 模型:Qwen2.5模型族【5, Qwen2.5: A Party of Foundation Models!, 2024】,涵盖7B到72B参数量。详细架构见表2。
    • 参数:Actor、Critic和Reference模型使用相同大小。不使用显式奖励模型,而是采用基于规则的验证器提供奖励。全局批次大小设为1024。

      表 2. LLM规格。
  • 硬件配置:
    • 主集群(H800):16个节点,共128个NVIDIA H800-80GB GPU。节点间通过8 * 200 Gbps RoCEv2网络连接。
    • 异构集群(H20):一个基于云的H20集群,4个节点,共32个NVIDIA H20-96GB GPU。节点间通过100Gbps TCP网络连接。
    • 跨数据中心连接:H800和H20集群之间由80Gbps专用链路连接。
  • 软件配置:
    • 算法:PPO【36, Proximal policy optimization algorithms, 2017, arXiv】。
    • 基线框架:verl【38, Hybridflow: A flexible and efficient rlhf framework, 2024, arXiv】(最先进的开源同地部署框架),ColocationRL(与StreamRL共享后端实现的内部同地部署框架)。
    • StreamRL变体:StreamRL-Sync(同步)和StreamRL-Async(一步异步)。

实验结果

  • 端到端性能对比:

    • 实验内容: 在不同序列长度和模型大小下,比较了StreamRL与基线框架的端到端吞吐量(每秒处理的样本数)。
    • 实验结果: 如图8所示,与verl相比,StreamRL-Sync实现了1.12×–2.12×的加速。与内部实现的ColocationRL相比,StreamRL-Sync通过分离式流生成和倾斜感知调度实现了1.06×–1.41×的加速。StreamRL-Async通过一步异步训练进一步消除了流水线气泡,实现了1.30×–2.66×的吞吐量提升。
    • 分析结论: 分离式架构结合流式处理和异步执行,能显著提升RL训练的吞吐量,优于当前主流的同地部署架构。

      图 8. 不同序列长度和模型大小下RL训练系统的端到端吞吐量。
  • 消融研究:

    • 实验内容:
      1. 技术分解: 分析了各项技术对72B模型在20K数据集上的性能提升贡献(表3)。
      2. 排序器性能: 评估了输出长度排序器模型的召回率(表4),并与随机分发和理想情况(oracle)下的生成时间进行比较(图9)。
      3. 资源分配: 比较了朴素的均分资源方案与StreamRL资源分配算法选择的方案下的迭代时间(图10)。
      4. 动态调整: 验证了动态调整算法在工作负载变化时的有效性(图11)。
    • 实验结果:
      1. 技术贡献: 倾斜感知调度提升8%吞吐量,分离式流处理再提升15%,异步训练额外带来25%增益(表3)。
      2. 排序器准确性: 对于最长的20%样本,排序器召回率高达87%(表4),其性能接近拥有完美信息的oracle(图9)。
      3. 资源分配效果: StreamRL的算法能有效平衡阶段延迟,带来高达1.25倍的加速(图10)。
      4. 动态调整有效性: 当输出长度线性增加时,StreamRL能自动检测到不平衡并增加SGS资源以恢复平衡(图11)。
    • 分析结论: StreamRL提出的每个组件(排序器、流式处理、异步、资源分配)都对整体性能有显著贡献,且协同工作效果更佳。
      Table 3. 在20K数据集上训练72B模型时的吞吐量提升分解。

      Table 4. 不同尾部比例和基础模型下的召回率。

      图 9. 在20K数据集上,不同调度算法在各种模型上的生成时间。

      图 10. 在20K数据集上训练32B和72B模型时,平均资源分配与我们的资源分配算法的迭代时间分解对比。

      图 11. 最初在32个GPU和10K数据集上训练7B模型,然后输出长度线性增加到20K数据集时,两个阶段之间的时间差。
  • 跨数据中心与异构性:

    • 实验内容: 将StreamRL的SGS部署在云端H20集群,Trainer部署在本地H800集群,比较其与单数据中心部署的成本标准化吞吐量。
    • 实验结果: 异构部署下,StreamRL的成本效益提升了1.23×–1.31×。跨数据中心通信开销很小,对于72B模型,权重更新的传输开销不到总迭代时间的2%(图12)。
    • 分析结论: 分离式架构非常适合异构和跨数据中心部署,能显著提高成本效益。

      图 12. 跨数据中心部署与单数据中心部署之间按硬件成本标准化的吞吐量对比。
  • 异步RL的算法行为:

    • 实验内容: 在一个内部数据集上,使用Qwen2.5-32B模型进行PPO训练,比较一步异步版本与同步版本的奖励曲线。
    • 实验结果: 如图13所示,一步异步版本的奖励曲线与同步版本高度吻合。
    • 分析结论: 一步异步RL可以在不牺牲模型性能和收敛性的前提下,通过算法-系统协同设计来最大化训练效率。

      图 13. 训练32B LLM时,同步PPO与一步异步PPO的奖励曲线对比。

A5 结论

本文重新审视了用于RL训练的分离式架构,并强调了其相对于广泛采用的同地部署架构的显著优势:灵活的资源分配、对异构硬件的支持以及跨数据中心的可扩展性。为了充分发挥分离式架构的潜力,我们提出了StreamRL框架,它通过流式生成和倾斜感知调度有效解决了现有分离式RL框架中存在的流水线气泡和由数据倾斜导致的效率低下问题。实验表明,与当前最先进的RL框架相比,StreamRL实现了高达2.66倍的加速。我们希望这项工作能鼓励社区重新审视分离式架构,并对其有效性有更深入的理解。