Finish RL Training Faster: Bitwise-Consistent, High-Performance, Agent-Driven

发表时间: 2026-10 · Blog post by Yan Bai (NVIDIA DevTech), Ao Shen (Inferact) (vllm.ai)

原文: https://vllm.ai/blog/2026-10-14-train-inference-consistency

Yan Bai (NVIDIA DevTech), Ao Shen (Inferact)

Fig 1 双端采用相同算子:不匹配度为 0 且训练保持稳定
Fig 1 双端采用相同算子:不匹配度为 0 且训练保持稳定
速读

一句话结论 该研究通过让训练前向传播直接复用并改造推理引擎(vLLM)的高性能算子,实现了强化学习在采样生成与训练更新两端每个 token 对数概率严格按位一致($\text{diff} = 0$ 的真同策略训练),并结合智能体技能降低跨架构工程适配成本,在吞吐保持高性能基线 87.5%–91.3% 的同时彻底消除了低精度与算子优化引起的数值漂移与训练崩塌。

要解决什么问题 在基于大模型的强化学习(RL)训练中,采样生成(rollout)耗时占比最高。为了追求吞吐,推理系统广泛采用低精度计算(FP8/NVFP4)、低精度 KV 缓存与动态算子优化。然而,浮点加法不满足结合律,推理引擎按批次大小切换不同算子分支、动态切分累加顺序(split-K)、生成(decode)与预填充(prefill)路径分化、以及跨 GPU 通信归约依赖调度等机制,改变了底层数值计算逻辑。这导致采样生成的响应在送入训练引擎重算概率时,相同权重却产出不同对数概率,使同策略(on-policy)训练退化为异策略(off-policy)训练。随着迭代步数累积,两端数值差异急剧放大,引发路由翻转、策略熵暴增与奖励崩塌。现有的截断重要性采样(TIS)或掩码重要性采样(MIS)等算法修正方案,仅能缓解方差且会引入偏差或丢弃样本,无法根除底层数值漂移,导致训练频繁崩溃与回滚重跑,拖慢端到端收敛。

怎么做的 核心思路是将推理引擎的高性能算子作为数值基准,训练前向直接调用修改后的 vLLM 算子,训练端仅补充定制反向传播(在自定义 autograd.Function 中用直通估计器 STE 对 BF16 权重求导)。为在保留高性能的同时达成严格一致,系统拆解出成立条件:

$$\text{train-inference consistency} \Leftarrow \text{kernel determinism} + \text{batch independence} + \text{phase consistency} + \text{cross-GPU consistency} + \text{same numerical contract}$$


系统由五大部件构成:一是密集矩阵乘法(Dense GEMM)移除依批次切分的动态分支,统一采用 DeepGEMM 批次无关模式锁定累加顺序,门控网络统一输出 FP32;二是 FP8 KV 缓存强制阶段一致性,取消 decode 端直读 FP8 且依赖 batch 的专有核,统一复用 prefill 的反量化与 BF16 稀疏注意力读取路径;三是稀疏注意力(DSA)的 Top-K 将分数与请求内局部位置拼接为 64 位唯一键打破并列,选出索引按位置降序排列以锁定注意力累加顺序,同时对齐路由 GEMM 消除专家选择翻转;四是将跨 GPU 归约移出对比路径,两端张量并行设为 1($\text{TP}=1$),All-to-all 通信仅负责搬运数据,专家输出在所属 GPU 上按槽位顺序以 FP32 局部累加,确保两端在不同并行布局(DP8/EP8 与 EP32/CP4)下依然行级按位一致;五是设计包含 C0–C10 门禁的智能体技能(agent skill),由双智能体分别推进基线调优与一致性对齐,先在 4–6 层微缩模型上定位首个发散算子并写出最小复现,校验梯度后再推广至全模型。

效果如何 实验在 Blackwell(GB200)集群(8 节点共 32 卡)上进行,对比基线为开启 R3 路由回放的高性能实现(均单步更新且未做算法修正)。在 DeepSeek-V4-Flash-Base(block-FP8、MLA+DSA 稀疏注意力、43 层 MoE)数学推理任务中,基线的训练-推理 KL 散度从 $2\times 10^{-3}$ 恶化至 29.9 且奖励崩塌;一致性方案在 100 步中全流程达成 $\text{diff} = 0$ 且 KL 为 0,奖励持续平稳,平均 rollout 吞吐为 24.22 token/ms,达高性能基线的 91.3%(前 89 步为 88.6%)。在 Nemotron-3.5-Lightning-30B-A3B(Mamba-2 混合架构、NVFP4 权重)的代码任务中,基线得分从 0.56 崩塌至 0.22 且熵暴增至 2.6;一致性方案在保持 KL 为 0 的同时,评分由 0.56 稳步升至 0.59,rollout 吞吐达基线的 87.5%。代价与局限包括:训练端为存留激活增加了显存压力,必须采用全量重计算(前向跑两次)并重算量化权重;rollout 端因固定通信形状无法重叠计算产生约 9%–13% 吞吐损耗;该方案依赖单步单次更新(多更新步会引发路由漂移),且暂不支持 TP>1 与 decode 上下文并行。

主要贡献

核心问题

在大规模强化学习(RL)训练系统中,采样阶段(Rollout)占据了绝大部分端到端训练时间。为了最大化推理吞吐量,系统广泛引入了低精度计算(如 FP8/NVFP4)、低精度键值缓存(KV Cache)、通信拓扑优化以及高度定制的高性能算子。然而,这些推理侧加速技术从根本上改变了数值计算路径。在标准的强化学习训练流程中,推理引擎首先基于当前模型生成响应序列,随后训练引擎重新计算该序列的 Token 概率并执行梯度更新。由于双端算子实现与执行环境的分歧,即使两端加载完全相同的权重参数,它们对同一个 Token 计算出的对数概率(logprob)也会产生数值漂移。这导致训练引擎实际上在优化一个与采样策略不同的异构策略,将原本严格的同策略(On-Policy)强化学习异化为非预期的异策略(Off-Policy)学习。随着梯度步数的累积,这种概率漂移不断发散,极易引发策略崩溃。例如在 DeepSeek-V4-Flash-Base 的实验中(未采用 TIS 等算法校正),高吞吐 baseline 的训练-推理 KL 散度从初始的 $2 \times 10^{-3}$ 恶化至 29.9,伴随奖励值(Reward)的全面崩塌。频繁的训练发散迫使工程团队执行崩溃恢复、权重回滚与重复运行,极大降低了有效训练时间占比。

研究目标

本研究的目标是加速完成有效强化学习训练(Finish effective RL training faster)。核心思路是通过彻底消除训练与推理之间的数值不一致性,将崩溃率和重跑开销降至零,从而在长周期真实训练中缩短达到目标表现所需的端到端真实耗时(Wall-clock time)。具体的技术目标设定为:在保持高性能数值路径的前提下,确保每次参数更新前,针对相同权重与前缀下的每一个有效采样 Token,训练端与推理端输出的 logprob 达到比特级完全一致(Bitwise-Consistent, diff = 0),从而实现纯正的同策略强化学习。

核心创新点

  1. 基于推理算子为基准的数值对齐体系:打破传统通过训练端重新实现或强制推理端退回通用低效算子的方案,将 vLLM 的高性能推理算子确立为数值基准,训练前向传播直接调用推理算子以复用其数值输出,训练侧仅负责构建自定义反向自动求导图(autograd.Function)并应用直通估计器(Straight-Through Estimator, STE)与 BF16 主权重求导。
  2. 算子级动态路径解耦与确定性改造:在保持极致推理性能的前提下,修改 vLLM 核心算子,彻底消除结果对 Batch 组成、Prefill/Decode 阶段以及并行拓扑切分的依赖。在 DeepSeek-V4-Flash 上实现了 0 diff,且 Rollout 吞吐量保持在高吞吐 baseline 的 91.3%(远高于 70% 的可行性底线)。
  3. 可复用的 Agent 驱动落地工作流(Agent Skill):针对算子级对齐工程门槛极高、跨模型/精度难以泛化的痛点,提炼出一套包含 11 个显式准入卡点(C0–C10)的自动化 Agent Skill,使智能体能够自主定位两端发散的首个算子、抽取出最小复现用例、实施算子修复并执行回归验证,极大降低了新模型的适配成本。
  4. 跨复杂架构与极致低精度量化的泛化验证:成功将该方法体系零妥协迁移至 Nemotron-3.5-Lightning-30B-A3B(Mamba-2 + Attention + MoE 混合架构,采用 NVFP4 权重与 FP8 激活)。在 SWE-bench Pro 的远程沙箱代码生成任务上,一致性版本的得分持续稳定在 0.59 左右,而基线版本则因数值失真崩溃至 0.22。

背景知识、关键观察与一致性设计要求

现有解决思路及其三元权衡(Trade-off)

实现快速且有效的 RL 训练,系统必须同时满足三个核心维度:

  • A,高性能(High performance):具备极高的 Rollout 与训练吞吐量,能够全面兼容低精度计算、低精度 KV Cache 及深度重叠的通信优化;
  • B,高一致性(High consistency):在相同权重下,训练端与推理端计算出严格相同的策略分布;
  • C,低开发成本与通用性(Low cost and generality):在面对新模型架构、新量化精度或新型硬件时,能在可接受的人工周期内交付 A 与 B。

在以往的研究与工程实践中,这三者难以兼得:放弃 B 虽然能获得极致的优化自由度,但会带来灾难性的训练不稳定;放弃 A 采用严格确定性的通用算子,推理吞吐量会出现断崖式下跌;而同时维持 A 与 B 则往往陷入逐个模型、逐个算子人工排查适配的深坑,导致维度 C 失效。

下表详细对比了各类典型应对策略在 A、B、C 之间的权衡取舍:

方案类别 保留的维度 付出的代价或放弃的维度
算法校正方案:TIS, MIS, FlashREINFORCE, Score Centering A 与 C:无需改动推理引擎,模型无关,工程落地极快 B:底层数值差异依旧存在,仅限制其对梯度更新的破坏。代价是引入梯度偏差、丢弃有效样本;当低精度导致差异扩大时,算法校正彻底失效
R3 路由重放(Rollout Routing Replay) A,以及 MoE 路由决策层面的 B 仅消除了专家路由翻转(Routing Flips),其他所有算子的底层数值差异依然未解决
量化感知训练(QAT)(前向模拟部署量化) A:Rollout 可安全采用低精度;缩小了量化带来的部分差异(部分改善 B) 训练前向需额外模拟量化计算,反向需依赖 STE;若仅模拟权重,激活值、KV Cache、算子实现及规约顺序的漂移仍未消除
严格数值对齐方案(Thinking Machines, slime, IsoExec, 本工作) B 损失 A 或 C:通用 Batch 无关算子严重牺牲 A(例如 Thinking Machines 的工作负载耗时从 26s 剧增至 55s,改进注意力算子后仍需 42s);而在高性能路径上逐算子对齐虽能保住 A,却需要承担巨大的开发成本(C 成为瓶颈)

算法校正机制的内在缺陷

各类算法校正机制虽然在工程上较为轻量,但本质上只是被动抑制而非解决失真:

  • 截断重要性采样(TIS)【Yao 等人,Off-Policy RL】:通过训练与采样概率比值对梯度进行加权,并在上限处截断,以引入微小偏差为代价换取方差有界。
  • 掩码重要性采样(MIS)【When Speed Kills Stability】:不实施截断,直接剔除序列级概率比值超出设定阈值的整条轨迹。
  • FlashREINFORCE【Hu, Zhang 等人,FlashREINFORCE】:面向异步智能体 RL,通过轨迹级漂移过滤(Sequence Trust Region)丢弃偏离过大的轨迹。
  • 中心化打分(Score Centering)【Marek & Ryabinin,2026,arXiv:2609.20807】:针对参数更新累积的训练-推理漂移,构造加性校正项进行消除,可与重要性采样叠加使用。

然而,数值不一致的本质是将同策略强化学习转化为异策略强化学习【Yao 等人,Off-Policy RL】。当漂移源头多样且量级较大时,Token 级的重要性采样会出现严重偏差,导致训练更易陷入崩溃【Li & Liu,Why Mismatch Breaks LLM RL】;在多模态大模型 P1-VL【P1-VL,2026,arXiv:2602.09443】中,截断重要性采样仅仅延缓了崩溃发生的时间节点,未能阻止最终崩溃。此外,Ma 等人提出的 R3(Rollout Routing Replay)【Ma 等人,2025,arXiv:2510.11370】仅通过记录并强制重放推理时的专家路由选择,抹平了专家分发的不一致,而无法修正残差累加及专家内部计算的数值漂移。

严格数值对齐的现有探索

在严格数值对齐路线上,Thinking Machines Lab【Defeating Nondeterminism in LLM Inference】利用批次无关算子(Batch-Invariant Kernels)实现了真正的同策略 RL,但其 FlexAttention 集成未经深度优化,导致推理性能大幅下降;vLLM 与 TorchTitan【vLLM and TorchTitan,2025】通过在训练中复用 vLLM 的前向算子,证明了比特级一致性能够在更少的训练步数内达到更高奖励;清华大学提出的 slime【slime】在 GLM-5 架构(MLA + DSA)上对齐了对数概率;Alexander Jiang 与 SkyRL 团队提出的 IsoExec【IsoExec,2026】则进一步覆盖了线性注意力结构。

本工作坚定选择保持 A(高性能) 的严格数值对齐路径,并将 A 的工程底线确立为:Rollout 吞吐量不低于经过深度优化的同等高性能 baseline 的 70%。针对该路径在 C(开发成本与通用性) 上的天然劣势,本方案通过构建 Agent 自动化工作流与标准化排错 Skill 进行有效弥补。


训练-推理一致性的多维判定标准

diff = 0 的数学定义。 在本体系中,diff 定义为:在单次参数更新之前,针对完全相同的权重版本和输入 Token 前缀,Rollout 阶段输出的每个有效 Token(即响应掩码内的采样 Token)的对数概率 $p_{\text{rollout}}$,与训练侧重新计算的旧对数概率 $p_{\text{train}}$ 之间的差值。验收标准要求每个 Token 的绝对差值 $|p_{\text{rollout}} - p_{\text{train}}|$ 的最大值、均值、标准差,以及基于 $k_3$ 估计器计算的 KL 散度($r - 1 - \log r$,其中 $r = p_{\text{train}} / p_{\text{rollout}}$),在所有验证批次上严格恒等于 0。这是一项基于比特级绝对相等的判定,而非基于容忍阈值的近似判定。

训练与推理两端的计算一致性可形式化分解为四个基本维度与一个底层数值契约:

$$\text{训练-推理一致性} \Leftarrow \text{算子确定性} + \text{批次独立性} + \text{阶段一致性} + \text{跨GPU一致性} + \text{双端统一数值契约}$$
                ┌──────────────────────────────────────────────┐
                │        训练-推理一致性 (diff = 0)            │
                └──────────────────────┬───────────────────────┘
                                       │ 满足
        ┌──────────────────────────────┴──────────────────────────────┐
        ▼                              ▼                              ▼
┌────────────────┐             ┌────────────────┐             ┌────────────────┐
│ 算子确定性     │             │ 批次独立性     │             │ 阶段一致性     │
│ (单卡Kernel)   │             │ (Batch-Indep)  │             │ (Prefill/Decode│
└────────────────┘             └────────────────┘             └────────────────┘
        ▼                              ▼                              ▼
┌────────────────┐             ┌───────────────────────────────────────────────┐
│ 跨GPU一致性    │             │ 双端统一数值契约                              │
│ (规约通信对齐) │             │ (相同量化舍入、累加精度与离散决策Tie-Break)   │
└────────────────┘             └───────────────────────────────────────────────┘
  1. 算子确定性(单 GPU 级别)。 确保相同的 GPU 算子在完全相同的输入张量下始终产生完全相同的输出结果。默认状态下的现代 GPU 硬件与编译器并不保证浮点运算的绝对确定性。例如在 Split-K 矩阵乘法(GEMM)中,由于浮点加法不满足结合律,不同 Thread Block 之间的动态原子累加顺序不同,必然产生微小的数值发散。
  2. 批次独立性(Batch Independence)。 单个请求的计算输出绝不能受到同批次内其他共存请求的干扰。在推理引擎中,系统为了最大化并发与硬件利用率,会动态合并、切分请求批次;在训练端,Micro-batch 大小、序列拼接打包(Packing)以及 MoE 模块中分配至各专家的 Token 计数都会改变计算路径。诸如依据 Batch Size 动态切换算子实现或调整 Split 数量的优化策略,均会打破批次独立性。
  3. 阶段一致性(Phase Consistency)。 确保同一个 Token 在多 Token 并行的 Prefill 阶段与逐 Token 生成的 Decode 阶段中获得完全相同的数值输出。推理引擎通常分别为 Prefill 和 Decode 配备极致优化的专用算子,强行统一两者的计算路径往往会引起吞吐量下滑,因此该维度的优化与平衡是系统设计的核心难点。
  4. 跨 GPU 一致性(Cross-GPU Consistency)。 约束多卡规约通信算子(AllReduce、Reduce-Scatter 以及 MoE All-to-All 之后的输出合并)的数值稳定性,分为两个层次:
    • 相同并行拓扑下:通信规约结果不得受通信库调度耗时与网络抖动的影响,必须固定通信库底层算法、分块规约策略、计算精度以及专家输出的拼接求和顺序;
    • 不同并行拓扑下:当训练与推理采用不同的并行度(如不同的 TP 或 EP 划分)时,规约结果必须对并行粒度的改变具备不变性。由于构建跨拓扑不变的严格规约树代价极其高昂,本方案在架构层面将跨卡规约计算完全移出了需比对的数值核心路径。

支撑 diff = 0 的附加工程准则

除上述四个维度外,达成 diff = 0 还需满足以下关键边界条件:

  • 双端相同的数值契约:两端必须严格统一量化与反量化公式、舍入模式(如最近偶数舍入)、内部累加精度以及基础算术指令逻辑。
  • 严格一致的离散选择逻辑:在 Top-K 过滤与 MoE 路由分发等离散操作中,输入浮点数仅 1 个最低有效位(ULP, Unit in the Last Place)的微小漂移就会被放大为选中的 Token 集合或专家分配方案的剧烈变动。因此在保证上游浮点对齐的同时,必须对平局决胜(Tie-breaking)规则、输出排序及合并逻辑进行完全刚性的确定性锁定。
  • 单步单次更新(每 Step 单个 Mini-batch):当单个 Step 包含多次 Mini-batch 参数更新时,自第二次更新起,训练模型权重与初始采样权重已发生实质偏移,这种漂移不属于数值一致性范畴,使得严格同策略属性不复存在(实验显示,在单步 4 次更新的数学任务中,约 7% 的 Token 在单步更新后即发生了专家重选)。
  • 正确的反向传播与 Checkpoint 状态恢复:前向一致并不代表梯度计算无误,反向传播必须通过独立的正确性验证;此外,从权重保存点(Checkpoint)恢复训练后的首个 Step 也必须保证一致性不退化。

值得强调的是,diff = 0 仅代表训练与推理两端在相同上下文下完成了等价的数值映射,它本身并不能直接等价于训练算法的最终收敛质量,模型优化质量仍需通过真实训练曲线进行独立评测。


算子级实现:DeepSeek-V4-Flash 参考配方

DeepSeek-V4-Flash 集成了极致的低精度计算、细粒度稀疏注意力机制与跨节点专家并行(EP),代表了极其严苛的工程场景。研发团队基于 GB200 集群开展了基于 FP8 基础模型的 100 步端到端训练对比实验:一组为高度优化的高性能基线(Baseline),另一组为满足 diff = 0 的比特级一致性版本。

核心设计范式:推理算子定义数值基准,训练仅挂接反向求导

推理定义数值,训练定义反向。 双端对齐最直观的路径是运行完全相同的代码基,关键抉择在于以哪一端为基准。鉴于 Rollout 阶段消耗了强化学习绝大多数时间,且推理侧算子均经过针对硬件底层的极限吞吐调优,若将训练端算子强制作为标准,必然导致推理性能的大幅倒退。因此,系统确立了“推理算子定义数值基准:训练前向传播直接调用相同的 vLLM 推理算子获取中间值,训练侧仅负责补充反向求导”的核心原则。同时,推理侧亦不退回通用的批次无关低效算子,而是针对既有高性能部署算子进行确定性改造。

[ 推理阶段 Rollout ]                    [ 训练阶段 Training ]
  vLLM 高性能算子                        BF16 权重 (Master Weights)
        │                                         │
        │                                         ▼
        │ (生成 Token 序列)              动态量化至 FP8 (遵循部署规则)
        │                                         │
        ▼                                         ▼
  Logprob 计算 ──────── 比特级完全一致 ───────► vLLM 推理算子前向计算
                                                  │
                                                  ▼
                                         保存前向输入输出 / 激活重计算
                                                  │
                                                  ▼
                                         自定义 autograd.Function 反向传播
                                         (STE 直通估计器求导至 BF16 权重)

反向求导的技术挑战与实现细节。 由于高性能推理算子本身不包含反向传播逻辑,且 FP8 量化操作在数学上不可微,系统必须对前向与反向执行严格的解耦设计。前向计算的所有激活值与输出必须完全来源于 vLLM 算子;在反向传播中,各算子被封装进定制的 autograd.Function 中,梯度直接对 BF16 主权重(Master Weights)进行微分求解,并将 FP8 量化操作视为恒等映射(即应用直通估计器 STE)。在具体算子的反向实现上:

  1. 稠密线性层与专家 GEMM 复用 Transformer Engine 的 BF16 算子;
  2. 稀疏注意力模块复用 cuDNN frontend 提供的 DSA 反向实现;
  3. MoE 的跨卡 All-to-All 通信复用 DeepEP 的反向算子;
  4. mHC、RMSNorm 与 SwiGLU 等轻量算子采用手写 FP32 导数逻辑;
  5. 针对部分融合算子中反向无法分离内部导数的特殊情况(如 Attention 中的 Q/K 投影、压缩 KV、路由门控权重及最终的 logprob),系统在 PyTorch 原生算子图中重新执行一次计算以构建计算图获取导数,并通过阻断技巧保留推理内核的精确值:

    $$\text{Output} = \text{kernel\_visible} + (\text{graph\_output} - \text{graph\_output}.\text{detach}())$$
  6. 反向求导启动前,算子会执行断言校验,确保底层主权重自前向执行以来未发生变动,防止激活重计算或异步环境导致权重版本污染。

训练侧代价承担机制。 该设计将所有的额外开销转移至训练侧,体现为两方面:

  • 工程验证代价:反向梯度是基于 STE 构建的替代导数,比特级一致的前向无法推导梯度的正确性,反向逻辑必须依赖外部独立参考实现进行严格数值比对;每一种计算布局入口(如 4.4 节中的掩码布局与连续布局)均需独立验证。
  • 显存与性能代价:训练前向必须暂存推理算子所依赖的输入与输出张量,导致显存开销剧增;为缓解显存压力,训练全量开启了重计算(Full Recomputation),即前向过程实际执行了两次。

算子级技术改造全景

下表汇总了 DeepSeek-V4-Flash 参考配方中针对各个核心算子所采取的技术改造、取舍决策及其系统级代价:

模块名称 保留的特性 放弃的特性与分支 系统级代价与性能影响
稠密 GEMM(4.1 节) 部署版 W8A8 与 DeepGEMM;每个输出单元固定单一累加顺序 $M < 32$ 时的 FlashInfer 快速分支、小 Batch 门控专用算子、融合 mHC 算子 Rollout 侧:失去小 Batch 算子的极致加速;
训练侧:每次前向均需对主权重重新执行 FP8 动态量化
FP8 KV Cache(4.2 节) 显存持久化 FP8 存储结构 能够直接读取 FP8 数据结构的传统 Decode 专用算子 Rollout 侧:Decode 阶段需引入额外的显存 Gather 与反量化开销;
训练侧:需额外维护一份私有 Cache 副本
Top-K 稀疏注意力(4.3 节) DSA 稀疏注意力算法结构 依赖线程调度竞争的默认非确定性平局打破规则与随机输出顺序 双端各自引入一次额外的排序开销(通过算子融合弥补);Prefill 阶段需按请求多次启动;
训练侧:Attention 与 Top-K 针对每个请求串行执行
专家 GEMM(4.4 节) FP8 分组 GEMM(Grouped GEMM);从结构上保证路由对齐,无需引入 R3 FlashInfer TRT-LLM MoE 专有高性能算子库 Rollout 侧:构成主要的吞吐量性能缺口之一;
训练侧:引入矩阵对齐 Padding 内存开销
跨 GPU 规约通信(4.5 节) 允许训练端与采样端采用完全不同的并行切分拓扑 $TP > 1$ 的张量并行切分配置 Rollout 侧:DeepEP LL 模式的通信无法与计算掩盖;
训练侧:需额外派发一次路由元数据匹配张量
CUDA Graph(4.6 节) 捕获并启用 CUDA Graph 执行图 仅为极致性能服务且包含动态分支的快捷路径(Shortcut Branches) 静态 Workspace 必须严格按照理论上限预先分配并常驻显存
其他基础模块(Embedding, RMSNorm, o_proj, lm_head) 沿用既有高性能算子,固化内部浮点规约顺序 动态规约与非确定性多线程原子累加优化 算子级开销极小,对整体吞吐影响可忽略

关键算子技术实现剖析

稠密 GEMM:锁定 FP8 计算与单一规约累加序列

  • 保留特性:DeepSeek-V4-Flash-Base 权重以 Block-FP8 格式发布,部署路径为基于 DeepGEMM 的 W8A8 矩阵乘法。一致性版本在双端统一启用该路径:训练前向每次按照部署规范将 BF16 主权重动态量化为 Block-FP8,并直接调用推理 GEMM 内核。
  • 放弃的分支与动态调度:标准推理引擎根据形状动态切换实现:当 $M < 32$ 时切换为 FlashInfer,否则走 DeepGEMM;Router Gate 算子在 Token 数不超过 16 时启用小 Batch 内核;mHC 的切分块数随 Token 规模动态伸缩。浮点加法不满足结合律,动态切换必然破坏批次独立性。改造后彻底剔除这些分支:FP8 线性层在所有形状下强制调用 DeepGEMM 的批次无关模式(Batch-Invariant Mode);Router Gate 统一采用输出为 FP32 的全尺寸 GEMM;BF16 小型矩阵乘法固定使用确定性累加顺序的 Triton 算子;mHC 算子的切分因子恒定锁定为 1。
  • 代价评估:Rollout 侧放弃了极小 Batch 下的边缘加速算子以及 mHC 的算子融合,但保证了 Tensor Core 处于高效计算状态。训练侧由于每次前向及重计算均需执行权重重新量化,带来了一定的计算开销。
Fig 5 稠密 GEMM:同一请求在不同规模步数下调用的算子分支对比
Fig 5 稠密 GEMM:同一请求在不同规模步数下调用的算子分支对比

FP8 KV Cache:保留紧凑存储,统一读取计算管线

  • 保留特性:KV Cache 采用 FP8 格式持久化在显存中,显存占用仅为 BF16 的约 57%,为维持高并发吞吐提供了物理基础,双端完全复用相同的写入通路。
  • 统一读取与解码重构:默认推理流程中,Decode 阶段采用能够直接消费 FP8 数据的 FlashMLA 算子,其内部任务划分强依赖于当前 Batch 的组织;而 Prefill 阶段则先反量化为 BF16 再调用稀疏注意力。一致性方案强制重构 Decode 读取通路,使其与 Prefill 严格共享同一逻辑:在 Decode 阶段,算子首先将选中的 KV Cache 收集(Gather)并反量化至 BF16 临时工作区(Workspace),随后统一调用 flash_mla_sparse_fwd 算子。
  • 训练侧镜像设计与代价:训练阶段虽无真正的跨步 Cache 交互,但为了在数学上精确模拟 K 值的量化截断与精度损失,系统构建了一个专用的 FP8 私有 Cache 副本,前向计算将 K 写入该缓存后再反量化读出,确保两端走过完全相同的精度变换。Decode 侧为此增加了显存 Gather 与反量化的轻微延迟,但完全消除了阶段分歧。
Fig 6 FP8 KV Cache:Prefill、Decode 与训练端统一的读取路径
Fig 6 FP8 KV Cache:Prefill、Decode 与训练端统一的读取路径

稀疏注意力中的 Top-K 模块:固化平局打破与输出排序

  • 关键痛点:DSA 架构中,轻量级索引器(Indexer)负责对所有历史位置计算匹配分,随后通过 Top-K 挑选出得分最高的至多 2048 个位置供 MLA 核心计算。这种硬截断的离散选择极度敏感,上游 1 个 ULP 的数值扰动即可导致选中完全不同的上下文。
  • 排序键设计与确定性保障:默认的 Top-K 算子在浮点分值相同时依赖 GPU 线程块的硬件竞争打破平局。改造方案将浮点得分与请求内的局部位置索引编码为一个唯一的 64 位选择键(Key):高位为浮点得分,低位为请求内局部绝对位置。发生分值碰撞时,算子严格偏向位置索引更大的 Token。此处严禁使用全局 Batch 内的物理偏移,否则请求在 Batch 内的位置变动将再次破坏批次独立性。此外,选中的索引必须强制按照位置从大到小严格降序排列(无效填充位后置),以固化后续注意力算子的浮点累加顺序。
  • 训练侧设计与算子融合:训练前向前向复用该机制计算选中的位置,但索引器本身不参与梯度反向传播(在反向图中执行 Detach 截断)。该策略完全契合行业成熟方案(DeepSeek-V3.2 在训练 DSA 时对索引器输入进行了截断,GLM-5 在强化学习阶段默认冻结索引器)。通过将确定性 Top-K 与降序排序操作深度融合为一个定制内核,不仅消除了每次约 5.9 µs 的分离调用开销,反而使基准吞吐逆势提升了 6.7%。
Fig 7 Top-K 模块:相同的分值、相同的选择集合与固定的物理排序
Fig 7 Top-K 模块:相同的分值、相同的选择集合与固定的物理排序

专家 GEMM:跨掩码与连续布局输出完全等价行结果

  • 保留特性与后端抉择:MoE 层的计算核心为 FP8 分组矩阵乘法(Grouped GEMM)。由于双端通信拓扑的差异,Rollout 端 DeepEP 低延迟(LL)模式输出的是按专家切分且带有固定槽位容量的掩码布局(Masked Layout);训练端 DeepEP 正常模式输出的则是紧凑排列的连续布局(Contiguous Layout)。双端统一选型开源的 DeepGEMM 批次无关模式作为底层后端(Baseline 采用闭源编译的 FlashInfer TRT-LLM MoE,无法审查与消除批次依赖性;CUTLASS 缺乏原生 Block-FP8 支持,Triton 则退化至未保证批次无关的朴素实现)。
  • 跨布局行结果恒等的三大必要条件:

    1. 输入 FP8 数据绝对对齐:LL 模式在通信调度时量化,正常模式在调度后量化,改造后强制统一为逐元素的最近偶数舍入(Round-to-Nearest);
    2. 单行计算对布局彻底解耦:量化按 Token 独立执行,DeepGEMM 批次无关模式对每一行采用固定的累加树,保证单行的输出绝不依赖其物理相邻行;
    3. 中间激活值单次舍入准则:在两层 GEMM 之间的门控激活计算中,$\text{SiLU}(\text{gate}) \times \text{up}$ 必须在 FP32 高精度下完成乘法,仅对乘积结果执行一次向 BF16 的舍入,随后再动态量化为 FP8。若提前将 $\text{SiLU}$ 截断为 BF16 再做乘法,1 个 ULP 的浮点抖动经 FP8 量化后会被直接放大为量化编码的反转。
  • 完全摆脱 R3 依赖:由于 Router 门控计算在完全一致的输入上采用统一的 FP32 输出 GEMM 算子,重新计算得到的专家路由结果天然与 Rollout 保持比特级一致,从而彻底摒弃了昂贵且复杂的 R3 路由重放机制。

Fig 8 专家 GEMM:两种物理布局下输出比特级完全一致的行结果
Fig 8 专家 GEMM:两种物理布局下输出比特级完全一致的行结果

跨 GPU 规约通信:移出比对核心路径与确定性数据搬运

  • 设计抉择:训练端为了承载超长序列激活值必须采用 EP32 配合 CP4,而 Rollout 端为了极度追求低延迟则采用 DP8/EP8,双端并行度完全不同。系统放弃了构建昂贵跨拓扑不变规约树的传统思路,直接将跨卡规约累加操作彻底移出对比路径,其余通信算子退化为纯粹的数据重排搬运:

    • 锁定 $TP = 1$:彻底规避全连接层后的 AllReduce 通信算子;
    • 专家输出的本地汇聚:MoE 中的 All-to-All 通信仅负责在节点间路由张量,不执行数值规约。数据抵达 Token 归属卡后,统一在本地按照 Top-K 专家槽位顺序在 FP32 精度下完成累加求和,累加过程与 EP 规模究竟是 8 还是 32 完全解耦;
    • 上下文并行(CP)无规约化:相邻卡之间仅交换边界隐藏状态,压缩后的 KV 张量在 CP 组内执行 All-Gather 拼接,全程无加法求和参与。
  • 数据搬运的严格确定性:Rollout 端各卡限制每次调用发送的 Token 规模上限,全卡步调一致地执行分段锁定通信(仅 DeepEP LL 模式支持,且支持 CUDA Graph);训练端由于正常模式无法保障数据到达的物理先后顺序,系统通过额外派发一次路由元数据,并在本地依据唯一 Hash 值将各专家的返回输出精确映射至对应的 Token 槽位。

  • 开销消除与重大排错经验:LL 模式每步需要串行执行 86 次 All-to-All 交互,无法与 GEMM 计算形成有效掩盖。初期性能测试显示一致性版本落后 baseline 达 33%,其中 83% 的性能损失源于通信无法掩盖。团队曾尝试交错双 Micro-batch(DBO)调度,但由于频繁双重读取权重导致其吞吐剧烈下滑 39%(HBM 带宽占用超过 84%)。最终排查发现测试脚本中一致性版本被错误绑定至 RoCE 协议,而 baseline 启用了极速的 MNNVL 传输;在统一步调至 MNNVL 并将共享专家划分至辅助 CUDA Stream 后,一致性版本的纯通信吞吐反超 baseline 达 3.2%(达到 16,834 tok/s vs 16,313 tok/s)。
Fig 9 差异化并行拓扑下的比特级一致数据流图解
Fig 9 差异化并行拓扑下的比特级一致数据流图解

CUDA Graph:捕获机制与一致性冲突的协调统一

  • 保留 CUDA Graph 的必然性:Decode 阶段单步在单个 Token 上执行数十个细粒度算子,若采用 Eager 模式,主机的内核发射开销将成为绝对吞吐瓶颈,必须启用 CUDA Graph。
  • 化解三大执行冲突:
    1. Graph 路径与 Eager 路径的数值分发冲突:当 Batch 内 Token 总数未超出最大捕获阈值时运行 Graph,否则退回 Eager。系统修正了先前将索引器短序列优化逻辑硬编码至 Graph 捕获结构中的缺陷,将其重构为仅依赖静态全局上限的确定性分支。在捕获模式上选择 FULL_AND_PIECEWISE(纯 Decode 步走全图,Prefill/Decode 混合步走分段图),彻底消除了混合步退回 Eager 带来的首次 Token 延迟暴涨(TTFT 从 1792 ms 重新回落至 764 ms),全程 diff 稳定维持为 0。
    2. 禁止主机同步与批次依赖形状:MoE 调度彻底采用静态最大容量配置;LL 模式彻底锁定通信传输张量形状;所有临时 Workspace 均按模型极限尺寸一次性分配并加锁固定;编译阶段全面剥离纯加速的动态分支。
    3. 内存地址硬绑定与权重迭代的冲突:Graph 在捕获阶段会死锁显存虚拟物理地址,而 RL 每一步更新都会产生新参数。系统设计了原位内存复写机制(In-place Copy):参数更新后直接在原始显存句柄上重写权重及依赖参数,避免分配新显存导致 Graph 引用失效。
Fig 10 CUDA Graph 模式与比特级一致性的三大核心冲突
Fig 10 CUDA Graph 模式与比特级一致性的三大核心冲突

基于 Agent 与 Skill 的工程化落地

自动化对齐流程与双智能体设计

由于前述的算子级对齐需要极高的工程直觉,且在新模型或新硬件上复现的门槛过高,本方案将整个工程规范固化为开源的 train-inference-consistency skill。该流程将庞杂的适配任务解耦为两大可度量、可回归的核心目标:

  1. 将 diff 严格归零:冻结初始权重与输入,逐层追踪并捕获首个发生输出分歧的算子,将其自动化抽取并压缩为最小可独立运行的 Repro 测试脚本,完成算子修复后挂接训练大系统运行回归验证。
  2. 在 0 diff 约束下追求性能极限:依托 Profiler 定位热点,对单一算子执行 A/B 测试;严禁引入改变数值逻辑的快捷优化,严禁通过故意劣质化 Baseline 来虚假缩小性能差距。
[ Agent A: Baseline 极速调优 ]        [ Agent B: 一致性版本构建与对齐 ]
         │                                       │
         ▼                                       ▼
  输出极致吞吐基线 ─── 人工审查并锁定 ───► 阶梯式准入卡点 (C0 - C10)
                                                 │
                                                 ▼
                                        小型切片模型快速排错 (C2 - C4)
                                                 │
                                                 ▼
                                        全尺寸模型端到端落地 (C8 - C10)

双 Agent 并行推进与防作弊机制。 工作流引入两个互不干扰的 Agent:Agent A 专注于挖掘 Baseline 的极限性能,完成后由工程师审核并予以刚性冻结,将其作为绝对吞吐的分母;Agent B 在锁定基准的前提下推进一致性改造,杜绝了通过降低基线性能来变相完成性能指标的逻辑漏洞。此外,开发过程中的各类血泪教训(如执行程序与阅读代码不一致、Checkpoint 恢复后必须比对首步表现、严查跨卡通信的物理底层传输协议等)均作为硬性断言写入自动化 Skill。

阶梯式准入卡点体系(C0–C10)

为降低大模型调试的冷启动与显存排查成本,标准流程遵循“先抽取 4–6 层代表性小型模型解决绝大多数数值缺陷,再切换至全尺寸大模型承载并发与显存压力”的原则,划分为五个核心阶段:

阶段 1: 目标设定与基线锁定 (C0 - C1)
  └─► C0: 梳理模型算子清册、量化配置与并行度拓扑
  └─► C1: 极致调优非一致性 Baseline,通过人工审查并永久冻结

阶段 2: 截断小模型实现推理自闭环 (C2 - C4)
  └─► C2: 截取 4-6 层典型切片模型,保留完整的算子多样性与跨层交互
  └─► C3: 验证推理单请求自执行与 Batch 批处理的数值绝对等价性
  └─► C4: 验证 Prefill 全序列前向与逐 Token Decode 前向的数值绝对等价性

阶段 3: 打通训练计算拓扑与反向图 (C5 - C7)
  └─► C5: 训练前向前向无缝调用推理内核,达成双端逐 Token logprob 绝对对齐
  └─► C6: 逐层扫描验证,确保任意层在发生数值分歧时能实现精准算子级定位
  └─► C7: 构建独立的反向传播求导单元,使用独立参考模型交叉验证梯度的正确性

阶段 4: RL 真实步进演进与全尺寸模型切换 (C8 - C9)
  └─► C8: 在小切片模型上完成连续 2 步真实 RL 参数更新,验证更新前后 diff 恒为 0
  └─► C9: 切换至全尺寸大模型,阶梯式放开长上下文、多卡切分并验证 Checkpoint 恢复

阶段 5: 性能极限追赶与交付验收 (C10)
  └─► C10: 针对核心通信与访存瓶颈执行算子级优化,交付 Docker 镜像并运行基准评测

架构迁移:Nemotron 混合架构与 NVFP4

为了证实该套体系并非仅适用于 DeepSeek 架构,团队将其整体泛化至结构更为复杂的 Nemotron-3.5-Lightning-30B-A3B 模型上。

架构异构性与挑战

Nemotron-3.5 采用了极为异构的混合拓扑:集成了 Mamba-2 状态空间模型(SSM)、标准多头自注意力(Self-Attention)以及稀疏 MoE 路由结构。其量化方案更为激进:

  • 路由专家采用极限的 NVFP4 W4A16 格式(4 位权重,16 位激活);
  • Mamba 内部投影层采用 FP8 精度;
  • 自注意力模块采用 FP8 KV Cache。
    Baseline 采用了标准的 NVFP4 QAT(量化感知训练,使用 NVIDIA ModelOpt 工具链导出规则)结合 R3 专家路由重放;一致性版本则通过微调版 Megatron-LM 前向直接挂接 vLLM 改造内核,完全摒弃 R3 机制。

线性循环结构的块级确定性改造

面对 Mamba-2 这类自回归循环递归结构,团队借鉴了 SkyRL 团队在处理 Gated DeltaNet(GDN)时提出的 IsoExec 思想【IsoExec,2026】,但将容忍微小误差的近似对齐提升至真正的比特级完全一致。在 Mamba-2 的结构状态空间(SSD)扫描算子中,强制 Decode 阶段不再执行传统的单步标量递推,而是完全镜像 Prefill 阶段的块级分块并行算法(Chunkwise-Parallel Arithmetic),将中间状态固定在 FP32 精度,且固化底层的 Autotune 调优配置模板。针对各算子的具体修改方案如下:

算子模块 一致性版本实施的技术方案
Mamba-2 SSD 扫描 Decode 阶段强制完整重放 Prefill 阶段的 Chunk 并行算术逻辑;固定 Autotune 最优配置;隐状态锁定在 FP32
自注意力机制 采用固定 Split-KV 切分策略的 FlashAttention;切分块数与运行时 Batch 规模完全解耦
路由专家(NVFP4 W4A16) 基于 CuTe-DSL 构建的 Grouped GEMM 内核;固定单一 Tactic;禁用 Split-K;专家输出按槽位在 FP32 下累加
MoE 跨节点 All-to-All 采用严格单向点对点通信(One-Sided Communication),锁定全局专家汇聚归约顺序
Router GEMM 批次无关的持久化矩阵乘法(Persistent Matmul),保持 FP32 累加输出
Norm 与 FP8 动态量化 全局统一为批次无关算子,从源头剔除一切可能改变数值精度的融合激进指令

实验环境与软硬件配置

硬件环境

  • 计算节点:实验统一部署于 NVIDIA GB200 NVL72 机架系统(SM100 Blackwell 架构),DeepSeek-V4-Flash 与 Nemotron 评测各占用 8 个独立物理节点(共计 32 颗 GPU)。
  • 互连通信:节点内采用极速 MNNVL(NVLink switch)全互连总线架构;跨节点配置高性能 RDMA 网络拓扑。

软件系统与底层技术栈

  • 核心框架:推理底层采用改造版 vLLM;训练环境采用针对一致性深度适配的 verl 强化学习框架;Nemotron 训练端采用轻量化定制的 Megatron-LM 分支。
  • 算子库依赖:Transformer Engine(BF16 GEMM 求导)、DeepGEMM(批次无关 FP8 W8A8 稠密与专家矩阵乘法)、FlashInfer、FlashMLA、DeepEP(跨卡 MoE 通信组件)、cuDNN frontend(DSA 稀疏注意力反向求导)以及 NVIDIA ModelOpt(NVFP4 规则定义)。
  • 操作系统与驱动:基于统一规范编译的标准化 Docker 容器镜像环境。

模型规格与评估负载配置

负载 A:DeepSeek-V4-Flash-Base

  • 架构关键参数:43 层 MoE 结构,深度融合 MLA(多头潜变量注意力)、DSA(动态稀疏注意力,最大选取 2048 位置)、CSA 历史压缩层以及 mHC 残差交叉混合层。
  • 数据与强化学习设定:基于 DAPO 格式的复杂数学推理题集;采用 GRPO 强化学习算法,设计包含超长截断惩罚的综合奖励函数。
  • 运行切分配置:单步处理 128 Prompts $\times$ 8 Responses(单步 1024 条轨迹);采用严格的单步单更新(1 Step Batch = 1 Mini-batch);Rollout 侧由 4 个 vLLM 独立进程承载,并行度为 DP8/EP8, TP=1;训练侧配置为 EP32, CP4, TP=1。

负载 B:Nemotron-3.5-Lightning-30B-A3B

  • 架构关键参数:30B 参数规模的 Mamba-2 + Attention + MoE 混合体;routed 专家采用 NVFP4 W4A16 低精度量化。
  • 数据与沙箱设定:在 SWE-bench Pro 上开展 Agentic RL 软件工程智能体微调;严格运行于远端容器隔离沙箱。选用经过基准初筛的 375 个中等难度任务集(模型原生 4 次采样未发生全对或全错,且标准补丁均能跑通)。
  • 运行切分配置:单步处理 32 Tasks $\times$ 8 Trajectories;平均单条轨迹长度达到惊人的 57,000 个 Token;同样配置严格的 1 Step Batch = 1 Mini-batch。

实验结果与对比分析

DeepSeek-V4-Flash 100 步训练全生命周期评测

在没有任何 TIS 或 MIS 算法校正干预的纯粹实验环境中,系统展现了完全对立的演化趋势:

Fig 2 DeepSeek-V4-Flash 100 步训练奖励值曲线
Fig 2 DeepSeek-V4-Flash 100 步训练奖励值曲线
Fig 3 DeepSeek-V4-Flash 逐步训练-推理数值差异(最大绝对差值与 KL 散度)
Fig 3 DeepSeek-V4-Flash 逐步训练-推理数值差异(最大绝对差值与 KL 散度)
  1. 数值稳定性与 KL 散度表现:

    • Baseline 组:自第 1 步起,由于离散选择逻辑与浮点算子分支的分歧,最大绝对概率差值迅速拉大;随后训练-推理 KL 散度从早期的 $2 \times 10^{-3}$ 持续恶化发散,在第 100 步时飙升至 29.9 的极端高位,表明此时训练端优化的梯度完全脱离了真实的采样策略。
    • 一致性组:在全量 100 步测试序列中,最大概率绝对差值、均值差以及 $k_3$ KL 散度在每一单步更新前均严格恒等于 0,达成了理论上绝对纯正的同策略强化学习状态。
  2. 任务奖励收敛走向:

    • 伴随 KL 散度的急剧失控,Baseline 组的模型训练陷入崩溃,奖励值在后期剧烈震荡并发生大幅度负向滑坡;
    • 一致性版本在经历了前期的正常策略爬坡后,奖励曲线全程保持平稳单调递增,彻底杜绝了模型崩溃,展现了极强的训练鲁棒性。
  3. Rollout 端吞吐量对比分析:

    • 全周期 100 步统计中,一致性版本实现了平均 24.22 token/ms 的极高 Rollout 吞吐量(基于 32 颗 GB200 全量汇总),达到了基线版本(26.53 token/ms)的 91.3%,性能仅落后约 8.7%,大幅超越了预先设定的 70% 性能可用性红线。
    • 细分阶段考量:由于 Baseline 组在 90 步后策略崩溃,其生成的响应长度从约 3,000 Token 急剧萎缩至 1,600 Token,较短的输出序列人为抬高了后期的相对吞吐比值。若仅剔除发散阶段取前 89 步对比,一致性版本的吞吐保持率依然达到基线的 88.6%。
    • 训练端开销侧写:训练侧主要承担了 FP8 权重的动态量化再计算、单请求串行 Top-K 检索、一次元数据校验通信以及全量激活重计算的显存代价。初步实测显示整体端到端耗时仅增加约 10%,绝大部分落差集中于训练侧, Rollout 侧几乎达成性能对齐。
Fig 4 DeepSeek-V4-Flash Rollout 吞吐量对比
Fig 4 DeepSeek-V4-Flash Rollout 吞吐量对比

Nemotron-3.5 智能体代码生成真实沙箱评测

在极具挑战的真实沙箱环境以及长达 57K 的超长轨迹训练中,数值对齐的价值得到了进一步放大:

Fig 11 Nemotron SWE-bench Pro:训练-推理 KL 散度、任务得分及 Actor 熵值演化
Fig 11 Nemotron SWE-bench Pro:训练-推理 KL 散度、任务得分及 Actor 熵值演化
  1. 性能崩塌与对抗稳定性表现:

    • Baseline 组(NVFP4 QAT + R3):虽然表面上训练-推理 KL 散度在低位呈现微弱下降(从约 0.015 降至 0.002),但其 Actor 策略熵从初始的 0.05 暴涨至 2.6。策略熵的发散直接导致了输出文本逻辑的严重混乱,反映在下游任务得分上,前 10 步得分尚能达到 0.56,至最后 10 步时断崖式坠落至 0.22,训练宣告彻底失败。
    • 一致性版本:由于每一步的数值对齐消除了隐式随机性,KL 散度每一步均保持为绝对数值 0;Actor 熵在整个训练周期内极为健康地稳定在 0.05 附近;模型解决 SWE-bench Pro 代码问题的得分从前 10 步的 0.56 稳健爬升至最后 10 步的 0.59,全程无任何性能退化与方差发散现象。
  2. 异构混合架构下的吞吐保持率:

    • 在双端均健康稳定运行的前 30 步内,针对包含 Mamba-2 复杂 Chunk 重放与 NVFP4 超低精度的极端严苛环境,一致性版本的 Rollout 吞吐量达到了 Baseline 的 87.5%(性能损耗被严格压制在 12.5% 以内),再次验证了算子级改造方案在各类前沿异构硬件与模型上的极高通用性。
Fig 12 Nemotron SWE-bench Pro:Rollout 吞吐量演进曲线
Fig 12 Nemotron SWE-bench Pro:Rollout 吞吐量演进曲线

结论与未来工作

核心结论

本研究证实了在追求极速推理的强化学习数值通路上,实现训练与推理的比特级完全一致(diff = 0)是完全可行的,且无需牺牲低精度量化与推理吞吐量。通过确立以高性能推理算子为基准的技术路线,对稠密 GEMM、FP8 KV Cache、Top-K 排序、专家分组计算及跨卡规约进行针对性的确定性重构,在 DeepSeek-V4-Flash 和异构量化模型 Nemotron-3.5 上均达成了 0 diff,且保持了基线 87.5%–91.3% 的极高吞吐效率。这种严格的同策略强化学习不仅彻底消除了训练崩溃、权重回滚与样本丢弃,更通过消除无效重跑从根本上缩短了达成高质量策略训练的真实端到端时长。最后,标准化的 Agent Skill 将复杂的算子排查与对齐流程成功工程化,为学术界与工业界提供了极具实操价值的通用落地范式。

局限性与未来展望

  1. 真实端到端墙钟耗时(Wall-clock time)的系统级比对:当前研究主要聚焦于底层算子一致性、单步吞吐量以及训练曲线的稳定性验证。由于完整展现减少崩溃和回滚所带来的时间增益需要数千步以上的超长生命周期训练,全面的端到端总耗时对比将在后续长期训练报告中完整披露。
  2. 基线调优的多样性覆盖:文中的 baseline 均基于标准规范配置单次运行,未叠加复杂的 TIS、MIS 或细致的超参数超调。经过极限算法调优后的 baseline 是否能完全避免崩溃仍值得进一步探索。
  3. 训练侧专有开销的深度优化:当前方案的大多数性能代价转嫁到了训练端(例如每一步前向对主权重的动态重复量化、以及规避显存压力的全量激活重计算)。未来的重要优化方向包括权重 FP8 缓存策略、训练端注意力算子的多请求批处理以及显存开销的极致压缩。
  4. 更前沿解码范式的一致性扩展:当前的阶段一致性建立在单步单 Token 自回归解码的前提下。多 Token 投机预测(MTP, Multi-Token Prediction)、推测解码(Speculative Decoding)以及更长上下文的 Context Parallel Decode 等全新生成范式如何纳入确定性对齐框架,是后续演进的核心技术命题。
  5. DeepSeek-V4.1 的对齐与性能发布:目前针对 DeepSeek-V4.1 的一致性改造已顺利达成 0 diff 目标,更深层次的性能吞吐调优工作已进入收尾阶段,后续将以独立成果进行专项技术发布。

方法细节引用文献汇总与对照

下表系统梳理了方法实现与讨论过程中所引用的所有核心学术文献与技术规范,详尽注明了其在本报告中的具体引用段落及其在原文中所扮演的论据支撑角色:

索引编号 论文标题 / 技术成果名称 发表年份与会议/平台 原始文献检索标识 / URL 文中引用段落位置 对应原文的技术论据与观点描述
[1] Off-Policy RL in LLMs 2025 (Notion Technical Blog) https://fengyao.notion.site/off-policy-rl 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 提出截断重要性采样(TIS),利用带截断上限的概率比值对梯度加权,以微小偏差换取方差有界;指出训练-推理不匹配在本质上将 On-policy 异化为 Off-policy
[2] When Speed Kills Stability 2025 (Notion Technical Blog) https://yingru.notion.site/When-Speed-Kills-Stability-271211a558b7808d8b12d403fd15edda 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 提出掩码重要性采样(MIS),主张在序列级概率比值超出设定阈值时直接丢弃整条序列以维持更新稳定
[3] FlashREINFORCE: High-Throughput Asynchronous Agentic RL 2025 (GitHub) https://github.com/yifanzhang-pro/FlashREINFORCE 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 针对异步智能体强化学习,提出基于序列置信区间的轨迹级漂移过滤机制,主动剥离偏差过大的数据轨迹
[4] Mitigating Drift in Large Language Model RL via Score Centering 2026 (arXiv) https://arxiv.org/abs/2609.20807 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 提出基于加性校正项的 Score Centering 机制,通过显式抵消每一步参数迭代中累积的训练-推理概率漂移,可与重要性采样无缝叠加
[5] Part 1: Why Mismatch Breaks LLM RL 2025 (Notion Technical Blog) https://yingru.notion.site/Part-1-Why-Mismatch-Breaks-LLM-RL-295211a558b780b8bb4cc8e367d906d0 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 深入论证当数值差异来源于多个复杂算子且累积量级较大时,Token 级的重要性采样修正会引入不可逆的严重偏差,极易加剧模型崩溃
[6] P1-VL: Exploring the Limits of Multimodal RL Scaling 2026 (arXiv) https://arxiv.org/abs/2602.09443 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 在真实的多模态强化学习大规模训练中证实,截断重要性采样(TIS)仅能延缓而无法彻底阻止训练策略的发散崩溃
[7] R3: Rollout Routing Replay for Stabilizing LLM RL with Mixture-of-Experts 2025 (arXiv) https://arxiv.org/abs/2510.11370 背景知识(现有解决思路)、算子级实现(Top-K、专家 GEMM) 提出在推理侧显式记录专家路由决策并在训练侧强行重放的方法(R3),该方法仅消除了专家路由翻转,未能处理其他算子的浮点漂移
[8] Defeating Nondeterminism in LLM Inference 2025 (Blog) https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 提出通过批次无关算子(Batch-Invariant Kernels)实现严格同策略 RL,但其未经调优的 FlexAttention 带来了显著的推理性能吞吐惩罚(耗时从 26s 升至 55s)
[9] Bitwise-Consistent Train-Inference with vLLM and TorchTitan 2025 (vLLM Blog) https://vllm.ai/blog/2025-11-10-bitwise-consistent-train-inference 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 探索在训练端直接复用 vLLM 推理前向算子,实验证明消除比特级差异能够在更少的更新步数内达成更高的终局奖励
[10] slime: An Open-Source Framework for Scalable LLM RL 2025 (GitHub) https://github.com/THUDM/slime 背景知识、关键观察与一致性设计要求(现有解决思路及其三元权衡) 在开源生态中针对 GLM-5 架构(包含 MLA 与 DSA 机制)完成了对数概率对齐工作
[11] IsoExec: Exact-Execution Consistency for Linear Attention and Recurrent Architectures 2026 (vLLM Blog) https://vllm.ai/blog/2026-08-21-isoexec 背景知识(现有思路)、架构迁移(Nemotron 混合架构与 NVFP4) 针对循环递归架构(GDN)提出分块并行递归(CPR)与统一模型抽象(Unified Model),在定义的执行契约内实现对齐,但端到端 logprob 仍存在约 1e-7 的微小绝对误差
[12] DeepSeek-V3.2 Technical Report 2025 (arXiv) https://arxiv.org/abs/2512.02556 算子级实现:DeepSeek-V4-Flash 参考配方(Top-K 稀疏注意力) 提供了训练 DSA 稀疏注意力时的工程先验:对索引器的输入张量实施 Detach 截断求导,使强化学习 Loss 绝不反向穿透至索引器本身
[13] GLM-5: Pushing the Frontiers of Open-Source Foundation Models 2026 (arXiv) https://arxiv.org/abs/2602.15763 算子级实现:DeepSeek-V4-Flash 参考配方(Top-K 稀疏注意力) 证实了在强化学习阶段默认冻结 DSA 索引器网络参数的工程通用做法,为一致性 Top-K 的无梯度设计提供了充分依据
[14] Train-Inference-Consistency Skill: Standardized Agent Workflow 2026 (GitHub Pull Request) https://github.com/vllm-project/vllm/pull/61551 算子级实现(前向反向分离)、基于 Agent 与 Skill 的工程化落地 提供了完整的开源 C0–C10 准入关卡规范、排错指南、梯度交叉比对测试用例及端到端落地自动化指令体系
[15] True On-Policy RL Recipe on Megatron and vLLM for DeepSeek-V4 2026 (GitHub Pull Request) https://github.com/verl-project/verl/pull/7688 开源工作与后续进展 针对 DeepSeek-V4 架构在 verl 强化学习训练系统与 vLLM 之间达成 0 diff 的端到端开源配方实现
[16] Bitwise-Consistent vLLM Implementation for Nemotron-3.5 NVFP4 2026 (GitHub Pull Request) https://github.com/aoshen02/vllm/pull/85 开源工作与后续进展 实现了 Nemotron-3.5(Mamba-2 + NVFP4 W4A16)在 vLLM 推理端与训练端严格对齐的底层比特级一致性算子集
[17] Unified Training Actor for Nemotron NVFP4 Matching vLLM 2026 (GitHub Pull Request) https://github.com/aoshen02/Megatron-LM/pull/7 开源工作与后续进展 定制了 Megatron-LM 训练侧 Actor 执行单元,直接复用 vLLM 前向并在 NVFP4 量化规则下完成与推理端严格对齐的求导实现
[18] Train-Inference Consistency Recipe & Unified Docker Infrastructure 2026 (GitHub Pull Request) https://github.com/aoshen02/verl/pull/11 开源工作与后续进展 交付了完整的 verl 适配配置、端到端集成脚本以及包含所有前置依赖项的确定性容器镜像 Dockerfile 构造文件