TL;DR
- •数值不匹配可能破坏训练:在 Fireworks GLM 5.2 实验中,相同的算法和数据在 25 步内,未对齐时奖励崩溃,对齐后奖励稳定。
- •训练 MoE 模型为对齐增加了复杂性:我们的 Qwen3.5-MoE 调查发现,即使某个实现使用了更高精度,专家输出组合方式的差异也会导致不一致。
- •这些差异可能扭曲训练更新,并表现得像数据、奖励或学习率的问题,让团队进行昂贵的实验,却无法解决根本原因。
- •前沿训练需要协同优化的训练和推理:Fireworks 同时开发和验证训练器与 rollout 引擎,使团队能够在数值、内核和 MoE 上对齐并扩展强化学习。
大规模强化学习是一个系统问题
Rollout 生成可能占据强化学习(RL)所花费的大部分时间。ML 团队通常使用单独的推理引擎来高效生成 rollout。但该引擎使用的内核、精度、批处理和并行方式可能与训练器不同。现在策略有了两种实现:一种生成 token,另一种计算梯度。即使权重完全相同,它们也可能为相同的 token 分配不同的概率。
如果训练算法没有考虑这种不匹配,就可能扭曲更新并破坏学习稳定性。在混合专家(MoE)模型中,这种不匹配还可能改变路由决策。当路由器分数几乎相同时,一个舍入差异就可能改变哪些专家被激活。同一个 token 随后会在模型中走不同的计算路径。
我们的实验展示了数值差异出现在哪里、为什么仅靠路由器重放不够,以及需要什么才能弥合差距。
我们的实验揭示了什么
数值不匹配可能破坏学习
在一个Fireworks 实验中,我们在 GLM 5.2 上对同一个 RL 任务运行了两次:一个倒计时推理问题,使用相同的算法和相同的训练数据。唯一的变量是训练器和 rollout 引擎是否以相同方式计算 token 概率。
当它们不一致时,整个运行就崩溃了。两个系统之间的 KL 差异约为 0.013,而标准保护机制为了保持训练稳定,每批要丢弃大约 45% 的数据。即便如此也还不够。奖励攀升到约 0.9,然后在第 20 步左右骤降到 0.2 以下,因为模型追逐的目标已不再匹配它自己生成的内容。当数值对齐后,KL 为零,没有任何数据被丢弃,奖励在整个运行过程中保持稳定。
Fireworks GLM 5.2 倒计时实验:在未做数值对齐时奖励崩溃,而在对齐后经过 25 个训练步骤保持稳定。零 KL 的结果适用于所测试的 LoRA 配置。
数值实现改变了结果,而算法和数据都没有变化。这使得训练器与 rollout 引擎之间的一致性成为一项重要检查,在基于训练配方变更投入更多运行之前必须完成。
混合专家模型更难对齐
在使用路由专家时,有许多地方"数学上等价"的优化会产生数值上不同的结果。A使用 Qwen3.5-MoE 的 Fireworks 训练实验将一处显著的数值不匹配追溯到了专家输出的组合方式上。
在图像 token 上,训练路径与 Hugging Face 参考实现的 k3 差异为 0.296,大约是我们用来判定两条路径等价的 0.001 阈值的 300 倍。在这个水平上,模型的两个副本之间的分歧程度与两个不同模型之间的分歧相当。
团队通过仅将 MoE 块替换为 Hugging Face 的参考模块、保持其余堆栈不变,将差距追溯到了 MoE 聚合环节。文本和图像 token 的 k3 值都降到了零。进一步调查发现,差异在于对专家输出进行加权和求和时所使用的精度。
这一发现表明,仅匹配专家选择是不够的:用于组合其输出的数值精度和执行顺序也必须对齐。
Fireworks 的 Qwen3.5-MoE 实验,比较了三种专家输出聚合路径以及每一步所使用的精度。
GLM 实验展示了数值不匹配对学习意味着什么:一次运行消耗了算力,但奖励却崩溃了。Qwen 的调查则显示,这种不匹配可以多么轻易地逃过对单个层的检查。对研究者而言,这些症状可能看起来像是数据、奖励或学习率的问题,导致他们进行更多运行、更改配方,却没有解决根本原因。
数值差异如何扰乱学习
概率不匹配会扭曲更新
训练和推理软件通常使用不同的数值精度,或以不同的顺序执行运算。由于中间结果会被舍入,(a + b) + c可能不同于a + (b + c)。在模型的计算过程中,这些差异会改变分配给相同 token 的概率。浮点加法不满足结合律,而 RL 是一种非常昂贵的验证方式。
许多 RL 算法使用概率比值来指导更新。rollout 引擎与训练器之间未被考虑到的差异,会在任何学习发生之前就改变这些比值。这可能改变 token 对更新的影响强度,或因为执行差异而触发裁剪。verl rollout 校正文档解释了校正如何弥补这一差距。

即使训练器为其 token 分配了不同的概率,一次 rollout 看起来也可能很合理。仅检查生成的文本不会揭示这种差异。在相同权重下比较概率才能暴露它;训练–推理 KL 衡量这种分歧。
MoE 路由会放大这种不匹配
在 Mixture-of-Experts 模型中,微小的数值差异也可能改变哪些专家处理某个 token。当路由分数几乎持平时,舍入可能使选择偏向另一个专家。该 token 随后经过不同的权重,可能通过后续层放大这种差异。
TheR3 研究者表明不一致的路由会使 RL 不稳定。他们的路由重放方法记录 rollout 生成期间的路由决策,并在训练期间复用它们。在他们测试的设置中,这稳定了训练。
Router replay 保持专家选择一致,但它们的输出计算和组合方式上的差异可能仍然存在。要让 rollout 和训练器的概率保持一致,需要在两套实现上进行工程处理,包括它们的内核、精度和执行顺序。这项工作是可靠运行训练配方所需基础设施的一部分。

Fireworks 保持训练循环一致
Fireworks 同时开发训练器和 rollout 引擎,承担起保持快速 rollout 生成与训练一致的复杂工程工作。这降低了因实现差异而损失昂贵训练运行的风险,将更多训练预算留给测试和扩展有前景的配方。
我们的方法包含三个关键要素:
数值对齐:让计算保持一致。对齐涵盖模型在两套系统上的执行方式,包括注意力、专家计算、聚合以及跨 GPU 的操作。
Router replay:使用相同的专家。 Router replay 支持为使用自有训练器的团队提供 rollout 生成期间记录的专家选择。将这些记录集成到训练中,使训练器能够复用相同的选择。
验证:衡量整个模型的一致性。在相同权重下比较 token 概率,能揭示对单个操作进行检查可能遗漏的差异。持续验证使用训练–推理 KL 来衡量在 Fireworks Training 上启动的模型在不同批次条件下的一致性。上面的 GLM 对比就是一个已发布的例子。
前沿训练需要前沿推理。使用 Fireworks Training API 运行你的 RL 训练循环。