华为昇腾+深圳大数据研究院:ASP调度让RL训练提效222%
在 LLM RL 训练里,生成正在变成最耗时的环节。当模型输出越来越长,训练阶段面对的是算力约束,增加训练卡数可以有效缓解算力压力,但推理部分是受限于显存带宽,往单个推理实例上继续堆卡,很快就会撞上扩展性的天花板。在训推混合的框架上,继续堆算力只会造成更多的算力资源浪费。深圳市大数据研究院团队与华为联合研发的 ASP(
LLM 的 RL 训练里,生成环节的耗时占比正越来越高。模型输出越拉越长,训练阶段就会撞上算力约束;加卡能缓解算力压力,可推理那边卡的是显存带宽,单个推理实例上继续堆卡,扩展性很快就到顶了。训推混合的框架下,一味加算力,只会白白多浪费资源。
深圳市大数据研究院团队和华为联合做出了 ASP(Adaptive Scheduling Pipeline),一套面向多实例异步 RL 训练的自适应调度流水线。它先做的是把生成和训练拆开,但真正要紧的是第二步:靠队列感知的调度策略,把多实例 rollout 里的三类气泡一次清掉——padding 气泡、skewness 气泡和 sorting 气泡,从而减少算力浪费、把 RL 训练性能提上去。
ASP 从搭建到验证全部跑在国产昇腾算力上,用的是昇腾 910B3 NPU 和 MindSpeed-RL 生态。公开信息检索显示,这是首个被 NeurIPS 接收的、基于国产昇腾算力的大模型 RL 训练加速系统工作,也是昇腾框架层第一个登上 A 类顶会的成果。作为国产 AI 芯片的龙头,昇腾生态借此说明自己有能力做出国际前沿的研究,也能拿到 AI 领域学者的认可。眼下大模型训练基础设施高度依赖海外算力,还面临国际制裁,这层意义不小。NeurIPS 的接收,意味着这项工作过了国际顶级学者严格的双盲同行评议,原创性、严谨性和实验可复现性都经历了一轮轮检验。曾立博士在 cncc 2026 论坛上也报告分享了这篇论文的成果,学界和业界都很关注。
效果方面,ASP 的生成吞吐最高提升 222%,单轮迭代时间最多降低 76%。扩展性上,卡数增加后迭代时间的变化接近线性;策略滞后约 3.3 个训练步时,收敛也没有明显退化。
这套系统已经在电信领域的真实 RL 训练任务中投入使用。百卡昇腾集群上,整体训练周期从 3 个月以上压到约 2 个月,产出的领域增强模型能直接拿去跑业务。目前它只基于 MindSpeed-RL,后续会迁到 verl 框架并安排开源。
ASP 的整体思路是:一次离线预处理,同时对付三类 rollout 气泡——先预测长度,再构造长度同质的 minibatch,最后把长短批混合编排成负载均衡的调度组。
论文地址:https://github.com/EntongL/ASP/blob/main/AdaptiveSchedulingPipelineforMultiInstanceAsynchronousReinforcementLearning.pdf
背景介绍
生成为什么成了瓶颈
RL 训练如今是大模型能力提升的核心环节。它用模型自己生成的回答加上奖励信号来训练,换来更好的对齐和推理能力。
可每更新一次策略,都得走完整套流程:rollout 生成、奖励打分、log-prob 计算、反向传播。输出越长,rollout 生成就越占主导,训练总时间里很大一块都耗在这上面。
现在最主流的做法是混合式循环:每一轮先推理,再拿生成出来的样本跑一次训练。结构简单,样本也贴近当前策略,缺点同样明显。
训练器更新参数的时候,没有新样本在生成,卡就闲在那里。推理和训练来回切换模式,同一批机器还得重新分片。更麻烦的是两个阶段的系统特性完全相反:反向传播是计算受限的,偏爱大规模同步并行;推理生成则受限于显存带宽,往单个推理实例加资源,收益很快见顶。
解耦只解决了一半
异步和训推分离的流水线,让 rollout 生成与训练能同时跑,上面一部分问题算是解决了。但把生成和训练分开,并不会自动让多实例 rollout 生成变得高效、稳定。
多个 actor 并行解码长度不一的回答时,系统要同时顾两个互相耦合的目标:一是让每个推理 minibatch 内部保持高利用率,二是让全局的生产者—消费者关系(也就是 rollout 生成和训练)与 Training Queue 保持稳定。所以真正的问题不只是怎么把生成和训练分开,而是怎么调度 rollout,让异步生成既快又可控。
为了把调度做高效,我们分析了当前场景下 rollout 和训练过程中存在的气泡,识别出的气泡分成下面三类:
1. Padding 气泡。同一个 minibatch 里的 prompt,生成的回答长度参差不齐。短的先结束,actor 却还被最长的那个占着,实际有用的 token 生成量,远小于按最长回答算出来的 padded 计算量。
2. Skewness 气泡。LLM 的输出长度呈长尾分布,少数几个超长生成,会在解码后期把有效 batch 大小直接压塌。
3. Sorting 气泡。按预测长度给 prompt 排序,能缓解前两个问题,却又带出第三个。短的 minibatch 先派发、长的后派发,生成速率就会随时间变化,Training Queue 先被快速填满,随后又慢慢抽空。我们管这叫队列层面的不稳定。
问题就出在这:按长度排序对单个 minibatch 是好事,对整条流水线的时间稳定性却可能有害。为了消掉这三种气泡,我们提出了 ASP,用离线预处理的方式预测并调整样本的排序组合,减少气泡造成的资源浪费,把整体训练性能提上去。
方法概览
三步离线调度,同时消除三类气泡
ASP 的思路,是把调度从「负载均衡的算法细节」变成异步 RL 里一个可插拔的组件。它先用输出长度预测给 prompt 排序,再用动态规划构造长度同质的推理 minibatch,然后用均衡的 batch-group 排序把长短 minibatch 混在一起,让相邻调度组的预测处理时间彼此接近。
整套调度在训练前一次性离线完成,只用到预测长度,rollout 期间不增加任何在线调度开销,具体步骤如下:
第一步是预测输出长度。先拿目标模型跑少量 prompt,把 prompt 和对应长度收集起来,再用一个与目标模型同系列、参数更少的小模型做长度预测,这里用的是 Qwen2.5-1.5B,最后按预测值排序。预测器不必算准具体长度,能给出有用的相对排序就行,调度器真正依赖的是排序,不是绝对值。
第二步,构造长度同质的 minibatch。批大小固定的话,在排序列表里碰上大间隔照样会浪费。ASP 让批大小在基准值附近小幅浮动,靠动态规划找出平均利用率最高的划分方式,把 padding 气泡压到最低。
第三步,均衡 batch-group 排序。把 minibatch 重新排成组,让每组的总预测负载大致相等。这样一来就不再是「先发所有短批、后发所有长批」,而是长短交错,连续调度组的预测耗时接近,sorting 气泡也就消失了。
调度接进有滞后版本控制的异步系统
调度只解决一半问题。ASP 把整个系统拆成三部分:Training Unit(TU)管奖励计算、log-prob 评估和策略更新;一个或多个 Generation Unit(GU)各自承载多个生成 actor;还有一个同址部署的 Control Unit(CU),负责派发调度好的 minibatch,并通过受控的 Training Queue 把完成的样本转给 TU。
Training Queue 承担的是稳住整套流程的角色。生成耗时出现短时起伏,由它来消化;队列里堆了多少样本,它也会让 CU 看到,CU 据此决定发样本的快慢:样本来得比 TU 消耗得更快,派发节奏就被压住;队列快空了,CU 就接着给生成 actor 补料,让它多产样本。
异步 rollout 还有另一层麻烦:拿到的样本,其背后的模型权重可能比当前训练权重旧一些。ASP 的对策是给可滞后的权重版本数设上限。每完成一个训练步,TU 就定期把权重快照导出来,转成推理能用的格式,actor 再去异步加载;碰上某个 actor 正在解码,它会先把当前 minibatch 解完再加载,这样不必让所有生成 worker 一起停下来。
解耦的核心好处保住了,生成不中断,策略滞后也被控制在可观测、有明确界限的范围内。
ASP 系统架构。蓝色实线为数据 / 样本流:CU 将调度好的 minibatch 派发到各 GU,actor 生成后回传完成样本,经 CU 传入 Training Queue,再由 TU 消费;绿色虚线为权重刷新路径(Latest Weights,各 GU 异步加载);橙色点线为队列占用反馈(控制派发节奏)。
实验结果
ASP 基于 MindSpeed-RL 实现,采用 GRPO,在昇腾 910B3 上进行 RL 训练,一共使用了 8 个节点,每个节点有 8 张 NPU,共 64 个 NPU。评测模型是 MoE 的 Qwen3-30B-A3B 和稠密的 Qwen3-32B,对比对象是同一生态下的混合式基线 MindSpeed-RL,以及异步解耦基线 verl。
端到端性能
看 Qwen3-30B-A3B:ASP 的迭代时间是 216s,MindSpeed-RL 为 927s,降了 76.7%;verl 为 536.7s,降了 59.9%。
看 Qwen3-32B:ASP 的迭代时间是 230.7s,对比 MindSpeed-RL 的 928s 降低 75.1%;对比 verl 的 615.1s 降低 62.5%。
吞吐提升同样明显。Qwen3-30B-A3B 上 ASP 达到 58 tokens/s/NPU,混合式基线是 18,verl 是 44,对应约 3.22 倍和 1.31 倍的提升。
两类模型上收益一致,说明改进来自系统设计本身,也就是「解耦的多实例 rollout 加队列感知调度」,不是某个模型特有的偶然结果。
表 1 端到端迭代时间(论文原表 3)。括号内为节点配置,T 表示训练节点,G 表示生成节点。
调度消融
单看调度策略这一项,ASP 平均把迭代时间压低了 11%。padding 上省下的那部分其实不是重点。把相邻 batch-group 的预测负载调匀之后,ASP 还让各 minibatch 的完成时刻变得更平缓,队列振荡随之减少。异步场景里这一点很关键:同步式的完成突发会把 CU/TU 通路压垮,队列行为跟着失稳;到达过程平缓一些,流水线就更容易贴近自身的平衡工作点。
调度消融(Qwen3-30B-A3B)。开启调度后,队列相关指标的波动明显收敛,平均迭代时间下降 11%。
可扩展性
NPU 越多,解耦框架越占优,原因是 rollout 会随资源增加而提速。如下图所示,无论哪个测试规模,ASP 的迭代时间都更低,而且生成资源越充足,差距拉得越开。GU 节点从 1 个扩到 3 个、4 个,迭代时间由 776s 降至 288s、216s,分别对应 2.69 倍和 3.59 倍加速,接近理想线性。多实例 rollout 的价值正在这里。单实例推理很快就会撞上扩展平台期;多实例配合队列感知调度,加卡重新换来了线性收益。
可扩展性(Qwen3-30B-A3B)。左图是迭代时间随总 NPU 数的变化,右图是随生成 NPU 数的变化。每个规模上 ASP 的耗时都更低,直到瓶颈转到训练侧。
有滞后版本限制下的收敛
异步执行会不会伤到学习,这是所有异步方案都要回答的问题。在 1 个 TU 节点加 3 个 GU 节点的配置下,实测的有效 off-policy 距离约为 3.3 个训练步。跑 30 轮 GRPO,ASP 与混合式基线到达相近的 maze integrity 平台,ASP 因为纯生成预热有短暂的初期延迟;maze correctness 也是同样的结论。
在受限滞后条件下实测时,收敛没有出现可观察到的退化。靠队列感知调度、有界队列加上延迟权重刷新,异步流水线被稳在一个小滞后区间内运行,吞吐上的收益也一并拿到了。
收敛性方面(MAZE-REASONING-GRPO-V0.1),滞后约 3.3 个训练步时,ASP 和混合式基线都到了相近的平台,看不到明显退化。
产业落地
论文实验之外,ASP 已在百卡乃至千卡昇腾集群的电信场景中真实落地,用的是 Qwen3-235B-A30B。这次部署把整体训练周期由 3 个多月压到约 2 个月,训练所得的领域增强模型已经投入知识问答、工具调用等电信业务。流程、数据和部署细节都保密,论文只将其当作实用性的定性佐证,未列入受控实验做对比。
这套能力的价值不止于把 RL 训练效率提上去。电信属于重资产、强专业度的场景,模型得持续吃进海量工单、运维知识和客服话术之类的专业数据,可传统训练周期按月计,模型常常追不上业务迭代的速度。训练周期被 ASP 大幅压缩后,「更快用上更懂业务的模型」有了落地可能。类似思路还能搬到政务、电力、金融、制造等高专业度行业,让国产算力上的大模型后训练从「训得动」转为「训得快、用得起」,给运营商等行业的规模化落地留下一套可复用的基础设施。
总结与展望
ASP 要回答的问题很具体:训练与推理解耦之后,多实例异步 RL 怎样才能跑得更好。生成既要在每个 actor 内部保持高效,又要在 Training Queue 上稳住。这一层由一次离线的队列感知调度补上,做法是预测长度、构造同质 minibatch、均衡分组排序。它给出的是一条更实用的路线,异步多实例 RL 训练既能快起来,也在可控范围内。放到国产算力的大模型训练上看,同样的卡可以跑出更多有效迭代。
现有原型跑在昇腾 910B3 的 MindSpeed-RL 生态中,资源有限,规模上限为 128 张 NPU。接下来会在更大集群、更强策略漂移和课程学习场景中继续验证这套调度机制。
参考文献
[1] Adaptive Scheduling Pipeline for Multi-Instance Asynchronous Reinforcement Learning. Advances in Neural Information Processing Systems (NeurIPS), 2026.
作者介绍
Luis Henrique Zuin Ruiz:华为在职实习生,巴黎综合理工学院数学专业在读研究生,主攻数学建模与 AI 应用。
Salah Chikhi:巴黎综合理工学院数学专业在读研究生,主要研究数学理论与深度学习的结合。
黎恩彤:深圳市大数据研究院工程师,研究方向为 AI infra 加速优化和训练加速优化。
曾立:深圳市大数据研究院主任研究科学家,研究覆盖大模型训推加速、向量计算与知识搜索、图计算等方向。