← 返回 2026-09-22

迈向大语言模型全流水线 FP8 强化学习 Towards Full Pipeline FP8 Reinforcement Learning for LLMs

Fanchao Chen, Ziheng Jiang, Ziyun Wei, Zheng Zhong, Du Li, Chi Zhang, Haibin Lin, Shivaram Venkataraman 📅 2026-09-19 👍 14 2026-11-02 18:30
FP8量化 PPO/GRPO 低精度训练 大语言模型 强化学习 训练稳定性

发现FP8强化学习全流程的过裁剪失稳根因,提出校准裁剪恢复BF16性能并提速1.5倍

前置知识

PPO 裁剪与信任域

PPO 用重要性比率 $r_t(\theta) = \pi_\theta(y_t|h_t) / \pi_{old}(y_t|h_t)$ 衡量新旧策略差异,目标函数取 $\min(r_t A_t, \text{clip}(r_t, 1-\epsilon, 1+\epsilon) A_t)$。当比率超出 $[1-\epsilon, 1+\epsilon]$(通常 $\epsilon=0.2$)时对应 token 的梯度被置零,形成信任域以防单步更新过猛:正优势 token 在超过上界时被裁剪,负优势 token 在跌破下界时被裁剪。

本文全部分析都围绕裁剪边界展开:FP8 噪声如何扭曲比率分布、如何造成"过裁剪",以及如何重新校准边界 $[L, H]$,读懂裁剪机制是理解全文因果链的前提。

GRPO 与组内优势估计

GRPO 去掉了 PPO 中的价值网络(critic),对同一提示采样一组 $G$ 个回答,用组内奖励归一化直接估计优势:$A_i = (R_i - \text{mean}(\{R_1,\dots,R_G\})) / \text{std}(\{R_1,\dots,R_G\})$。省去 critic 的显存与计算开销后,它成为 DeepSeek-R1 等推理模型 RL 训练的主流算法。

本文实验全部基于 GRPO 与 DAPO。负优势回答(如乱码输出)应经组内归一化后被压低概率,理解"优势符号与裁剪边界的对应关系"(负优势对应下界裁剪)是理解故障机理的关键。

FP8 量化与缩放粒度

FP8 是 8 位浮点格式(如 E4M3),可表示的范围与精度远小于 BF16。量化时先按缩放因子 $S_X = \max(|X|)/F_{max}$ 缩放张量,除以 $S_X$ 后舍入到 FP8 可表示集合再乘回。按 $\max(|X|)$ 的计算范围分为 tensorwise(整张量一个因子)、rowwise(每行一个)、blockwise(如 128×128 子块一个)三种策略,粒度越细数值保真度越高但核实现越复杂。

论文的故障分析和"校准裁剪"方法都建立在 FP8 前向传播引入量化噪声这一事实上,且实验横跨三种缩放粒度,需要理解粒度与噪声大小、吞吐收益之间的权衡。

截断重要性采样(TIS)

当 rollout 用 FP8 推理引擎、训练用另一套精度时,采样策略 $\pi^{sampler}$ 与学习器的旧策略 $\pi_{old}$ 不一致,破坏 on-policy 假设。TIS 在 token 级引入截断修正权重 $w^{TIS}_t = \min(\pi_{old}/\pi^{sampler}, C)$(截断阈值 $C$ 通常取 2),以纠正 rollout 与训练之间的分布偏差。

这是 FP8 RL 此前工作的主线(解决 train–rollout mismatch)。本文正是站在 TIS 之上发现"即使修好 mismatch,全 FP8 流水线仍会崩溃"这一新问题,并在对照实验中比较了 CISPO、BAPO 等裁剪改进方法。

研究动机

此前 FP8 RL 工作主要解决 rollout(FP8 推理引擎生成)与训练之间的 train–inference mismatch,用 TIS 等修正后看似可以稳定训练;更近的 Jet-RL、Unified FP8 干脆把 rollout 和训练都放进 FP8 以缩小精度差。但作者在 Qwen3-8B-Base + DeepScaleR 数据集 + GRPO(16K 上下文,500 步)的对照实验中发现:只要训练后端是 FP8——无论 tensorwise、rowwise 还是 blockwise 缩放——训练约 100 步后响应熵会异常飙升,同时出现大量乱码、碎片化回答,下游评测精度大幅落后 BF16 基线 3.5~11.5 分;即便最细粒度的 blockwise 缩放也无法幸免。熵激增并非全局漂移,而是由极少数熵大于 1.0 的病态样本快速增殖驱动,这些样本中只有 6.64% 获得正优势,本应被负优势惩罚压制,但其占比却持续增长,说明惩罚机制失效了。

本文的目标是本文的目标是从机理上解释并修复"全 FP8 流水线 RL 训练中途熵激增、性能崩溃"这一失稳现象:先定位此前被忽视的根因,再提出一个开销可忽略、超参鲁棒、可与 GRPO/DAPO 及任意 FP8 缩放粒度即插即用的裁剪校准方法,使 FP8 训练在消除熵激增的同时恢复 BF16 级性能,并兑现 FP8 的效率收益——训练阶段相对 BF16 最高 1.5 倍吞吐,叠加 FP8 rollout 约 30% 的生成加速,为大规模 RL 训练降本增效提供一条完整可行路径。

与已有工作不同的是,此前工作把 FP8 RL 的不稳定一律归因于 rollout 与训练的精度不一致,解法都是"修正分布偏差"。本文换了一个诊断视角:用 BF16 影子前向做受控测量,发现单个概率的量化误差(NMAE 本身很小)会在重要性比率运算中被复合放大 1.7 倍到 2.9 倍,从而系统性抬高 PPO 裁剪触发频率(比 BF16 高近 4 倍);且约 70% 的过裁剪发生在下界 $1-\epsilon$,其中近 90% 来自高熵病态回答——即负优势样本的惩罚梯度被误裁为零。这个"量化噪声 × 裁剪机制"的故障回路是全新发现,与 TIS(修正采样偏差)、CISPO(保留被裁梯度)、BAPO(固定贡献目标调界)的切入角度有本质区别。

核心方法

直觉上:FP8 噪声把重要性比率分布整体"弄脏"了,固定的裁剪边界 $[1-\epsilon, 1+\epsilon]$ 在 FP8 空间里切的位置就不对了,那就在 FP8 空间里重新找两个边界,使被裁 token 的比例和正负更新配比都与 BF16 一致。技术路线分两步:第一步下界对齐——用 BF16 影子前向算出负优势 token 在 $1-\epsilon$ 处的目标裁剪分位数 $\alpha_{low} = F_{BF16,-}(1-\epsilon)$,再在 FP8 比率分布上取逆 CDF 得到校准下界 $L = F^{-1}_{FP8,-}(\alpha_{low})$,使两个精度下被下界裁掉的负优势 token 数量相等;第二步上界再平衡——给定 $L$,搜索上界 $H$ 使正负更新贡献比 $\rho$(公式 5,含 TIS 权重与指示函数)匹配 BF16 参考值 $\rho_{BF16}$,避免只放松下界导致的过惩罚。考虑开销,每 20 步才校准一次,并以有界平滑更新防止边界跳变。

核心创新是把"信任域"的语义从"固定的数值区间"还原为两个统计不变量:负优势 token 的裁剪分位数 + 正负更新贡献配比,并用 BF16 高精度参考作为锚点在量化空间里重建它们。这与已有方法的本质区别在于:DAPO 是启发式地放宽上界鼓励探索,GSPO 把信任域搬到序列级,CISPO 保留被裁 token 的梯度但不动边界,BAPO 虽然动态调界却依赖一个固定的正贡献阈值目标。本文的下界由 BF16 参考分布的分位数匹配直接导出,上界由配比匹配反解,二者都有明确的高精度 ground truth。对照实验证明了这一差异的分量:CISPO 在 rowwise FP8 下约 300 步崩溃,BAPO 约 90 步失稳且边界漂移到 $[0.9, 3.0]$ 后奖励归零——固定贡献目标在 FP8 噪声下并不可靠。

方法步骤详情

完整流程见算法 1,输入包括批次优势 $A$、TIS 权重 $w^{TIS}$、两种精度的比率 $r^{BF16}$ 与 $r^{FP8}$ 等。第一步(参考统计):对 $A_t<0$ 的 token 计算目标分位数 $\alpha_{low} = F_{BF16,-}(c^{ref}_{low})$;按公式 5 在 BF16 比率上算参考配比 $\rho_{BF16}$,这需要两次仅前向的 BF16 影子传播(用主权重评估 $\pi^{BF16}_{\theta}$ 与 $\pi^{BF16}_{old}$)。第二步(边界搜索):在 $I_L=[0.5,0.9]$、$I_H=[1.2,2.0]$ 内以步长 $\Delta=0.02$ 网格搜索——$L^*$ 最小化 $|F_{FP8,-}(L^*) - \alpha_{low}|$,$H^*$ 最小化 $|\rho_{FP8}(L^*, H^*) - \rho_{BF16}|$。第三步(平滑更新):$b_{new} = b + \text{clip}((b^*-b)/2, -\delta, \delta)$,$\delta_L=0.05$、$\delta_H=0.1$;边界初始化为 $[0.6, 1.8]$,每 20 步校准一次。校准后的 $[L, H]$ 直接替换 PPO 目标中的 $[1-\epsilon, 1+\epsilon]$ 参与正常训练。

技术新颖性

技术新颖性有三点。其一,首次定义并量化"过裁剪"(over-clipping)这一故障模式,给出严格判据(如 $A_t<0$、$r^{BF16}_t > 1-\epsilon$ 且 $r^{FP8}_t \le 1-\epsilon$ 即为下界过裁剪),并用 NMAE 放大倍数(1.7×~2.9×)与裁剪占比(近 4 倍于 BF16)把完整因果链钉死,属于对 FP8 RL 失败模式的机理级刻画。其二,"分位数匹配 + 配比匹配"的双锚点校准设计:把高精度参考分布作为量化空间信任域的 ground truth,这一思想此前多见于量化感知训练,用于 RL 信任域重建是新的。其三,工程上的周期性校准加有界平滑更新,把 BF16 影子前向的开销摊薄到可忽略——作者验证了更新间隔(10/20/40 步得分 58.31/56.51/57.91)与初始化($[0.6,1.8]$ vs $[0.8,1.2]$ 得 56.51/56.20)均不敏感,且超参未经精调即在所有设置下鲁棒。

Trajectory of the calibrated lower bound.
Figure 6: Trajectory of the calibrated lower bound.
Calibrated Clipping
Algorithm 1: Calibrated Clipping

实验结果

核心发现:(1) GRPO + Qwen3-8B-Base(DeepScaleR,500 步,八数学基准):BF16 平均 57.6,朴素 FP8 崩至 tensorwise 46.1、rowwise 47.0、blockwise 54.1;校准裁剪后回升至 55.9、56.5、58.6,blockwise 反超 BF16 +1.0,rowwise/tensorwise 相对朴素 FP8 提升 +9.5/+9.8。(2) Qwen2.5-32B:BF16 为 51.9,校准后 blockwise 达 53.4(+1.5),三种粒度全部恢复到基线水平。(3) DAPO + Qwen3-14B-Base(AIME24 Avg@32):BF16 为 50.9,朴素 FP8 为 35.7/38.1/41.6,校准后 47.9/46.5/47.4,tensorwise 提升 +12.2。(4) Eurus 代码数据集同样全面回升,rowwise 从 46.00 到 48.58,逼近 BF16 的 49.61。(5) 吞吐:tensorwise 训练最高 1.5× BF16,blockwise 10%~20%,叠加 FP8 rollout 约 30% 生成加速;熵激增完全消除,裁剪占比回到 BF16 水平。(6) 消融:更新间隔 10/20/40 步得 58.31/56.51/57.91,初始化 [0.6,1.8] 与 [0.8,1.2] 得 56.51/56.20,全部远优于朴素 rowwise FP8 的 47.0,超参鲁棒。

Performance comparison for Qwen3-8B-Base and Qwen2.5-32B under different training precisions and rollout configurations.
Table 1: Performance comparison for Qwen3-8B-Base and Qwen2.5-32B under different training precisions and rollout configurations.
Performance evaluation of Qwen3-14B-Base on the AIME24 benchmark using the DAPO algorithm.
Table 2: Performance evaluation of Qwen3-14B-Base on the AIME24 benchmark using the DAPO algorithm.
Training results of Qwen3-8B under different training precisions and FP8 scaling granularities on Eurus dataset.
Table 3: Training results of Qwen3-8B under different training precisions and FP8 scaling granularities on Eurus dataset.
Sensitivity of Calibrated Clipping to the recalibration interval and clipping-bound initialization.
Table 4: Sensitivity of Calibrated Clipping to the recalibration interval and clipping-bound initialization.
Throughput (tokens per second) of FP8 training compared with the BF16 baseline across model sizes (8B, 14B, 32B) and sequence lengths (4K, 8K, 16K). The offline TorchAO benchmark isolates training-phase throughput and excludes periodic BF16 reference passes.
Figure 7: Throughput (tokens per second) of FP8 training compared with the BF16 baseline across model sizes (8B, 14B, 32B) and sequence lengths (4K, 8K, 16K). The offline TorchAO benchmark isolates training-phase throughput and excludes periodic BF16 reference passes.
查看结构化数据
任务指标本文基线提升
GRPO 数学推理(Qwen3-8B-Base,DeepScaleR,8 个基准最佳检查点平均) 8 基准平均准确率 blockwise FP8 + 校准裁剪 58.6 BF16 训练 + BF16 rollout 为 57.6;朴素 blockwise FP8 为 54.1 反超 BF16 基线 +1.0;相对朴素 FP8 +4.5
GRPO rowwise 配置(Qwen3-8B-Base) 8 基准平均准确率 56.5 朴素 rowwise FP8 为 47.0 +9.5,距 BF16 基线 57.6 仅差 1.1
GRPO(Qwen2.5-32B) 8 基准平均准确率 blockwise FP8 + 校准裁剪 53.4 BF16 为 51.9;朴素 blockwise FP8 为 50.8 反超 BF16 +1.5;相对朴素 FP8 +2.6
DAPO(Qwen3-14B-Base,DAPO-Math-17K) AIME24 Avg@32 tensorwise FP8 + 校准裁剪 47.9 BF16 为 50.9;朴素 tensorwise FP8 为 35.7 较朴素 FP8 +12.2,距 BF16 仅 -3.0
FP8 训练吞吐(8B/14B/32B 模型 × 4K/8K/16K 序列) 相对 BF16 训练吞吐(TPS) tensorwise 最高 1.5×,blockwise 约 1.1×~1.2× BF16 为 1.0× 训练阶段最高 +50%,叠加 FP8 rollout 约 30% 生成加速

局限与改进

作者承认的局限:分析聚焦 token 级裁剪(GRPO/DAPO),序列级(GSPO 类)聚合比率下的校准留作未来工作;校准需要 BF16 影子前向,论文只说摊薄后开销可忽略,未给出端到端 wall-clock 损耗的精确数字。我自己的观察:其一,方法隐含"BF16 参考分布是正确锚点"的假设,若奖励设计或数据本身使 BF16 训练也熵失控,校准只是忠实复刻一个坏参考,不提供额外保护;其二,熵激增的早期检测与触发式校准未被探索——图 6 显示熵激增时校准下界会偏离稳态,本可用作预警信号;其三,实验集中于数学与代码的 RLVR 任务,未覆盖 agentic、多轮长程等稀疏奖励场景,而这类场景中负优势样本占比与长度分布都更极端;其四,未与 M2PO、DPPO 等非裁剪类稳定化方法正面对比,无法判断校准裁剪是否为最优路线;其五,消融仅在 Qwen3-8B + rowwise 一个设置上进行,跨架构泛化证据不足。

独立分析的弱点

弱点一:强依赖 BF16 影子前向,训练框架需同时维护 FP8 与 BF16 两套权重路径,在 32B 以上或显存紧张场景并不免费,论文未报告影子前向的显存开销与实际时间占比;改进方向是用 EMA 或低频快照权重代替主权重做参考,甚至用上一次校准的分布外推。弱点二:分位数匹配只针对负优势 token 的下界,正优势 token 的上界过裁剪虽在判据中定义但未单独量化分析,只通过配比间接调节;改进方向是对上界做对称的 CDF 校准后再叠加配比约束,形成双分布对齐。弱点三:边界搜索是步长 $\Delta=0.02$ 的网格离散搜索,区间虽小、开销虽低,但下界原则上可由分位数函数解析求得;改进方向是采用流式/近似分位数算法连续估计,消除网格分辨率限制。弱点四:全部结论来自数学与代码 RLVR 任务的 dense-reward 场景,对稀疏奖励、长 horizon 任务(奖励全 0 或全 1 的组内归一化退化)未验证;改进方向是在 agentic 基准上补充实验。弱点五:论文未开源代码(截至阅读时),FlashRL 补丁的可用性成为复现的最大不确定点。

未来方向

作者明确提出:把校准扩展到序列级裁剪(GSPO 类方法)以及 agentic RL 场景。基于本文成果可自然延伸的方向:其一,与量化感知训练结合,让模型在预训练阶段就适应 FP8 前向,从源头减少比率噪声,而非训练时打补丁;其二,把"以高精度参考分布校准低精度训练"的思想推广到 FP4 乃至更低比特,或用于低精度优化器状态与梯度的稳定性保障;其三,在线崩溃预警——利用校准边界在熵激增前的漂移作为前兆信号,联动 checkpoint 回滚实现自动救火;其四,理论层面分析比率噪声对 TIS/MIS 修正项本身的影响,统一"采样修正"与"裁剪校准"两个维度的误差预算;其五,在 100B+ MoE 模型上验证方法的规模化行为,并开源 VeRL/TorchAO/vLLM 的完整复现配方以推动社区检验。

复现评估

复现评估:论文未提供官方开源代码(正文仅给出通讯邮箱),复现难度中等偏上,但透明度很高。有利条件:算法 1 给出伪代码与全部超参——搜索区间 $I_L=[0.5,0.9]$、$I_H=[1.2,2.0]$、步长 $\Delta=0.02$、平滑系数 $\delta_L=0.05$、$\delta_H=0.1$、初始化 $[0.6,1.8]$、每 20 步校准;实验栈全是公开组件(VeRL + vLLM + TorchAO + FlashRL 补丁),数据集(DeepScaleR、DAPO-Math-17K、Eurus-2-RL-Data)与评测设置(温度 1.0、top-p 0.7)也交代完整。不利条件:算力门槛高——8B 训练 500 步、batch 256、16K 上下文,另有 14B/32B 实验,需多卡 A100/H100 集群,单机只能复现 8B 档;最大不确定性在 FlashRL 补丁与 TorchAO 引擎的兼容性,以及 BF16 影子前向需自行接入 VeRL。

相似论文推荐