Nereus按代价在线改后训练并行,步延迟实测降27.7%

Nereus: Adaptive Parallelism for LLM Post-Training

Songlin Jiang, Tuo Shi, Sitong Zhang, Zeke Wang, Mario Di Francesco, Bo Zhao

cs.DC, cs.AI

2026-09-28

Nereus按切换代价在线调整强化学习后训练的并行方案,真实轨迹平均步延迟下降27.7%,8B PPO吞吐为OpenRLHF的2.14–7.27倍、Verl的1.10–1.47倍。

这篇在解决什么

强化学习后训练要把 actor、critic、reward、reference 同时铺在 generation、inference、training 三段。一次作业可以吃掉 10 万 GPU 小时。跑着跑着会一起漂:spot 被回收、调度器抽节点;Llama-3.1-8B 生成长度在 1000 步内从约 500 token 涨到 8000 token,16 倍;网络争用还会拖慢同一套并行。供给、负载、硬件效率这三类变化叫 drift。

Verl、OpenRLHF、AReaL 启动时选定 DP/TP/PP 就冻住。弹性训练多半只管一个模型。DynaRL 在固定 GPU 池里重分配,靠逐组件迁移。何时改才付得起切换成本,哪些状态能原地复用,没空闲卡时谁先放谁后扩且不能丢逻辑状态,这三件事还没合在一起做。按最终长度预留浪费,按初始长度预留后面 OOM。

方法

Nereus 是带代价意识的运行时,架在 OpenRLHF、Verl、Laminar 上,对接 vLLM、DeepSpeed、Megatron-LM。

监控读序列长度、GPU 池、峰值显存和软硬件效率。GPU 池变化或预测爆显存立刻重规划;序列长度相对上次规划偏超 30% 也触发。切换只落在安全边界:同步 step 结束,或异步权重同步点。进行中的 rollout 由框架按策略版本收尾。

规划器给每个 model-stage(一个模型绑在一个阶段)选 DP/TP/PP 和 GPU 集合,最小化预测稳态步延迟。代价模型用峰值算力与带宽估算,再用线上 kernel、collective 时间校准,可行性留 10% 显存余量。离线预测器在 8 卡会选出不可行方案,64–256 卡可比实测最优慢到 1.56 倍。

当前方案不可行就走紧急路径,必要时缩小 batch、打开重计算,再不行 checkpoint/restart。否则要求预测每步节省能在信号下次大变前的 γ 倍间隔内收回切换代价,默认 γ=0.5。这叫 payback admission。

EMU 是一份 model-stage 的数据并行副本:TP/PP 封在内部,DP 等于副本数,参数不跨 DP 切。Split 拆 TP/PP,Merge 融回去,Extend 加副本,Destroy 删副本。本地顺序 Split、Destroy、Extend、Merge;抢卡时加先放后取的边,组成全局 DAG,NCCL 直传。

把 TP/PP 封进单元、把 DP 留在外面,因为两类耦合强度不一样。TP/PP 必须一起做 collective,DP 只周期性同步。同一份 8B actor/critic 从 16 卡扩到 32 卡,UCP checkpoint 836.74 秒,Tenplex shard 级 66.43 秒,EMU 6.52 秒。

结果

三个集群:#1 最多 1024 张 MI250X,#2 最多 256 张 A100,#3 最多 64 张 H200。默认 Llama-3.1-8B PPO,另测 Qwen3-14B/32B、Llama-3.3-70B,以及 ReMax、GRPO 和异步 RL。基线在每个 GPU 预算取启动时最快配置,之后不改。

对照设置Nereus
OpenRLHF8B PPO 吞吐2.14–7.27×(中位 3.99×),64 卡达 7.27×
Verl同上,NVIDIA1.10–1.47×(中位 1.21×)
固定 TP/PP + DP 缩放真实轨迹步延迟861.9 s 对 1191.6 s,降 27.7%
DynaRL 式准入三条 hold-out 轨迹858.7 对 928.3 s/step
经验最优(18 组、480 方案)步延迟差距全部 ≤5%,61.1% 命中

在二号集群固定卡数下,相对 OpenRLHF 步延迟最多降 86.3%,相对 Verl 最多降 31.9%。生成、推理、训练三段相对 Verl 最多各降 11.5%、41.6%、29.6%。从 32 卡扩到 1024 卡,步延迟降 15 倍,OpenRLHF 只降 10 倍,1024 卡上吞吐仍是 3.20 倍。一次 1000 步作业扩到 1024 卡,六次并行切换共 49.5 秒,占总时间 62353 秒的 0.079%;最大一次从 512 卡扩到 1024 卡,耗时 31.55 秒,UCP 要 1629 秒。

代价模型对训练阶段延迟的平均绝对百分比误差 4.96%,最大误差 14.61%。选方案在 1024 卡只需 338 ms,同样问题 SCIP 求解器要 511 秒。把置信裕度放到 1,会切 14 次,延迟升到 939.5 秒,切换本身把省下的时间吃回去。换成 ReMax、GRPO,相对 Verl 步延迟最多降 13.3% 和 15.8%;全异步相对 Laminar 最多降 37.3%。前 50 步奖励曲线贴着 Verl,两边都在第 32 步到 0.90,第 50 步 0.9199 对 0.9160。扩容比 Oobleck、Tenplex 快 3.8–16.2 倍。跨模型抢卡的 100 次试验全部成功,逐组件迁移只有 34–62%。

为什么重要

这是系统层的活,不改 PPO 或 GRPO 的更新公式。已经在跑 Verl 或 OpenRLHF、又会被序列变长和共享集群抢卡折磨的团队,对得上痛点。

相对 Verl 的 1.10–1.47 倍更接近强基线上还能抠多少。相对 OpenRLHF 的 7.27 倍里,有一部分来自基线本身偏慢。千卡千步里切换开销几乎可以忽略。第一条轨迹上,每 3 步无脑切一次已经很快,Nereus 只再快 2.5%,但比「有预测收益就切」稳 8.3%。

还不能当现成产品用。要接 vLLM、DeepSpeed、Megatron,EMU 停在 ZeRO-0,计划空间是 2 的幂次。对已经把手调并行推到接近 Verl 最优的队伍,这是渐进改进;对仍用固定布局硬扛序列变长的队伍,27.7% 的步延迟差是实数。

局限与存疑

没有单独的局限节。结论里写的后续方向等于承认现状:还没覆盖上下文并行和专家并行,没做外部工具服务的自动扩缩,没接更多框架。

训练行为只对了 50 步,奖励和 KL 接近不能外推到完整后训练。四个模型始终同尺寸,真实 PPO 里奖励模型经常更小。参数不跨数据并行切分,大模型高 DP 时优化器状态按副本数复制,和 ZeRO-3 不是一类账。计划距最优 5% 以内是在控制器自己的计划空间里枚举 480 个方案得到的,不是任意并行策略的全局最优。Verl 没在 MI250X 上跑,一号集群的千卡数字只对 OpenRLHF。代价模型最大误差 14.61%,紧急路径仍可能落到 checkpoint,那条路径的频率没有报。

术语

原文与代码

相关论文

全部论文解读