分解LLM强化学习中MXFP4量化误差:可约简偏差、可恢复死区与不可约底限
摘要
本文证明了MXFP4量化误差可分解为三个加性分量——比例偏差、死区截断和网格噪声——并提出了针对性修正方法,能够在LLM强化学习后训练中,使Qwen2.5-3B的BF16精度恢复至0.7个百分点以内,Qwen3-30B-A3B-Base恢复至3.0个百分点以内。
查看缓存全文
缓存时间: 2026/05/21 06:24
###### 摘要
MXFP4 算力可大幅加速大语言模型 (LLM) 的强化学习 (RL) 后训练,但量化误差会引入严重的精度下降。现有工作将量化误差视为单一噪声项,忽略了量化误差损害训练的不同机制。我们证明了量化误差的一种精确的三路分解,并展示了每个分量如何在不同的 RL 训练路径中占主导地位。我们的理论和实证分析将 MXFP4 量化误差分解为三个加性分量:
*比例偏置*(scale bias) 来自 2 的幂舍入,
*死区截断*(deadzone truncation) 来自小值归零,以及
*网格噪声*(grid noise) 来自舍入到最近的 4 比特网格。
每个分量主导一种不同的 RL 失效模式:比例偏置在反向传播中沿层乘法累积,影响梯度精度;死区截断降低采样轨迹质量;网格噪声增加策略的熵。我们采用了针对 RL 失效模式但不限于单一分量的校正方法:宏块缩放 (Macro-block scaling) 减少比例偏置,异常值回退 (Outlier Fallback) 恢复死区条目,同时也部分减少比例偏置引起的误差,以及自适应量化噪声 (AQN) 用于控制策略熵。在 Qwen2.5-3B 密集模型和 Qwen3-30B-A3B-Base 混合专家模型上,这些针对性校正分别将 BF16 精度恢复至 0.7 个百分点和 3.0 个百分点以内。
## 1 引言
RL 后训练可将基座 LLM 转化为具备推理能力的模型 (Shao et al., 2024; Yu et al., 2025),但计算成本高昂:仅生成采样轨迹 (rollout generation) 就可能占据大部分训练预算。MXFP4 格式 (Rouhani et al., 2023) 具有 4 比特元素,每 32 元素的块共享一个 E8M0 比例,可提供高达 4 倍的吞吐量和 4 倍的内存减少,并在 NVIDIA Blackwell、AMD MI350 及其他加速器上获得原生支持。然而,在 RL 后训练中简单地将 BF16 替换为 MXFP4 会产生较大的精度差距。为了恢复精度,人们采用量化感知训练 (QAT) (Liu et al., 2024) 和后训练量化 (PTQ) (Lin et al., 2024; Frantar et al., 2023) 技术来缓解这种下降。这些工作将量化误差视为单一噪声源。与之前研究看待量化误差的方式不同,我们的新视角将 MXFP4 量化误差分解为三个由以下原因引起的加性误差分量: (1) **比例偏置**:E8M0 比例平均超出理想比例 (E8M∞) 约 44%,这种偏置在反向传播中沿层乘法累积,影响梯度精度。可通过提高比例精度来减少此误差。(2) **死区截断**:绝对值低于块绝对最大值 0.5/2÷6=1/24 的元素被归零,砍掉 9% 的权重并降低采样轨迹质量。被死区归零的权重值可通过一种已知技术——异常值回退 (OF) (Zhang et al., 2025) 来恢复。(3) **网格噪声**:粗糙的 E2M1 网格添加了零均值的舍入噪声,提高了策略的有效温度,增加了探索性。该分量*对比例精度不敏感*,因为它只依赖于权重和 E2M1 网格,而不取决于块比例。因此,一旦精度格式确定,该误差便不可约减。
**贡献。**
1. 我们对 MXFP4 量化误差进行了结构化分解,将其分为三个加性分量:比例偏置 (来自 2 的幂舍入)、死区截断 (来自小值归零) 和网格噪声 (来自舍入到 4 比特网格)。我们证明了网格分量对比例精度不敏感,即使在最优缩放下也存在不可约的误差下限。
2. 一种**主导性分析**,将每个误差分量映射到特定的 RL 失效模式:比例偏置导致梯度不准确,死区造成前向传播中采样轨迹退化,网格噪声增加策略熵。
3. 我们不将量化误差视为单一噪声,而是针对每种失效模式引入特定的校正方法:宏块缩放 (Macro-block scaling) 用于减轻比例偏置,异常值回退 (Outlier Fallback) 用于处理死区截断,自适应量化噪声 (Adaptive Quantization Noise) 用于控制策略熵。
4. 我们分别在密集模型 (Qwen2.5-3B) 和混合专家模型 (Qwen3-30B-A3B-Base) 的 RL 后训练中验证了这些针对性校正方法。我们的方法将 BF16 精度分别恢复至 0.7 个百分点和 3.0 个百分点以内。
## 2 相关工作
**后训练量化 (PTQ)。** 早期的 LLM 量化工作聚焦于整数格式:LLM.int8() (Dettmers et al., 2022) 和 ZeroQuant (Yao et al., 2022) 展示了在权重组上使用最近邻舍入的 INT8 推理。GPTQ (Frantar et al., 2023) 通过二阶权重调整推进到 INT4,AWQ (Lin et al., 2024) 引入了激活感知缩放。SqueezeLLM (Kim et al., 2024) 和 SpQR (Dettmers et al., 2024) 采用混合密集-稀疏表示处理异常值。这些方法假设均匀的整数网格和相对较大的组大小;MXFP4 的非均匀 E2M1 网格和小块大小 (32) 根本性地改变了量化动态,正如我们的分解所揭示的那样。
**基于旋转与极端压缩。** QuIP (Chee et al., 2023)、QuIP# (Tseng et al., 2024a) 和 QTIP (Tseng et al., 2024b) 使用非相干处理 (随机旋转、Hadamard 变换、格子码) 将压缩推进到 2 比特并具有理论保证。SmoothQuant (Xiao et al., 2023) 将激活异常值重新分配到权重以实现 INT8 量化,而 QuaRot (Ashkboos et al., 2024) 和 SpinQuant (Liu et al., 2025) 应用旋转矩阵来完全消除异常值。最近的旋转变体包括分组序列排列旋转 (Choi et al., 2025)、用于推理-LLM 推理的成对旋转 (Liang et al., 2025) 以及 MR-GPTQ (Egiazarian et al., 2026),后者将微旋转融入 GPTQ 风格的 PTQ 中,专门针对 MXFP4/NVFP4,并附带一个基于 CUTLASS 的内核库 (QuTLASS)。这些技术在量化**上游**运行,通过重塑权重/激活分布来工作。用我们分解 (第 3 节) 的语言来说,它们主要通过使输入更适合量化器来减少网格和死区误差。我们的校正方法则在**量化过程中或之后**运行,因此是互补的。
**量化感知训练 (QAT)。** LLM-QAT (Liu et al., 2024) 通过使用预训练模型生成训练数据来实现无数据 QAT。QLoRA (Dettmers et al., 2023) 将 NF4 权重量化与 LoRA 适配器结合用于内存高效的微调。QeRL (Huang et al., 2026) 专门将基于 LoRA 的 QAT 应用于 RL 后训练,证明量化噪声可以增强探索。我们的工作在两个方面与 QeRL 不同:我们使用全参数更新 (无 LoRA),提供了更清晰的因果证据,并将探索优势建立在我们的误差分解之上。具体来说,网格噪声分量充当了自然的熵正则化器。
**低精度 FP4/FP8 训练。** 越来越多的研究工作针对 4–8 比特浮点格式的训练 (而不仅仅是推理)。在 FP8 方面,Micikevicius et al. (2022) 引入了 E4M3/E5M2 格式,Fishman et al. (2025) 和 Hernández-Cano et al. (2025) 展示了万亿 token 规模的 FP8 LLM 预训练,将激活异常值不稳定性确定为主要障碍。在 FP4 方面,除了最初的 MXFP4 规范 (Rouhani et al., 2023) 和 Tseng et al. (2025) 的 MXFP4-RL 预训练工作之外,最近的工作针对原生 FP4 训练 (Quartet (Castro et al., 2025), FP4 All The Way (Chmiel et al., 2025)),具有更细比例精度的 NVFP4 (NVIDIA, 2025; Panferov et al., 2026; Cook et al., 2025),以及 Hopper 上的 MoE 特定 FP4 训练 (Zhang et al., 2026)。Outlier-Safe Pre-Training (Park et al., 2025) 从预训练方面解决了相同的问题,通过从一开始就防止异常值形成。Hao et al. (2025) 提供了涵盖定点与浮点低精度训练的最新综述。我们的贡献与这些训练时格式选择是正交的:我们针对现有 BF16 检查点的 RL 后训练,并解释静态 MXFP4 误差结构如何映射到特定的 RL 失效模式。
表 1:不同模型规模下的实证误差分解。所有三个模型显示相同的结构:比例与网格反相关 (cos≈−0.66);死区与两者完全正交;网格分量约占总 MSE 的 71%,且对模型规模不敏感。
图 1:跨 18,624 个权重张量 (Qwen3-30B-A3B-Base) 的误差分量成对余弦相似度。死区 (DZ) 与比例和网格两者完全正交 (在 0 处为点质量);比例和网格反相关,cos≈−0.66 且方差极小。这可视化了表 1 中总结的结构关系。
(a) 比例尾数精度扫描。(b) 逐层类型误差分解 (Qwen3-30B-A3B-Base)。
图 2:误差分解分析。(a) 提高比例精度将总误差驱动到不可约的下限 ‖e_grid‖² + ‖e_DZ‖²,而不影响网格误差。(b) 所有层类型共享几乎相同的分解:‖e_scale‖² ≈ 1.72‖e‖²,‖e_grid‖² ≈ 0.71‖e‖²,‖e_DZ‖² ≈ 0.02‖e‖²。
## 3 MXFP4 量化误差分解
### 3.1 预备知识与分解
MXFP4 格式 (OCP MX 标准) 将张量 x∈R^n 逐块量化,块大小 B=32。每个块 x_b = (x_{b,1}, ..., x_{b,B}) ∈ R^B 分两步量化:(i) 共享的 E8M0 比例 s_b = 2^{⌈log₂(max_i|x_{b,i}|/q_max)⌉},以及 (ii) 逐元素舍入到 E2M1 网格 G = {0, ±0.5, ±1, ±1.5, ±2, ±3, ±4, ±6} (q_max=6),得到量化值 Q(x_{b,i}) = s_b · argmin_{g∈G} |x_{b,i}/s_b - g|。
我们引入**理想比例量化器** Q* ,它使用未量化的比例 s_b* = max_i|x_{b,i}|/q_max 而不是 E8M0 的 s_b。这分离了比例量化与元素级量化。**死区** D_b 是满足 |x_{b,i}| ≤ 0.5s_b/2 的元素的集合 (因为 E2M1 网格的最小非零表示是 s_b · 0.5)。对于 i ∈ D_b,我们有 Q(x_{b,i}) = 0。
**分解。** 块 b 的原始量化误差 e = x_b - Q(x_b) 可以精确重写为三个分量的和:
e = e_scale + e_grid + e_DZ, (1)
其中 e_scale = x_b - Q*(x_b) 是由比例舍入引入的乘法误差 (E8M0 比例 vs 理想比例),e_grid = Q*(x_b) - Q̃_grid(x_b) 是在理想比例下应用 E2M1 网格而从舍入中产生的误差 (其中 Q̃_grid 是在比例 s_b* 下舍入到 G 的操作),e_DZ 是来自死区的归零误差,定义为在死区内的元素设为 e_DZ_i = x_{b,i} - 0 = x_{b,i},对于死区以外的元素则为零。
至关重要的是,**网格误差的方差对比例精度不敏感**。设 σ²_grid 为跨块的网格误差的平均方差。由于 e_grid 仅取决于比率 x_{b,i}/s_b* 和固定的 E2M1 网格,而不取决于 s_b 的量化方式,因此 σ²_grid 仅由格式 (E2M1) 和元素分布决定。无论我们在比例量化中使用多少位,网格误差保持不变。对于比例误差,我们有 e_scale_i = x_{b,i} (1 - s_b / s_b*)。由于 s_b 是 2 的幂而 s_b* 是任意值,γ = s_b / s_b* 平均约为 1.54 (误差 54%),比例误差 e_scale 的方差可以通过更精细的比例量化来减少,但当比例是准确的 (γ=1) 时变为零。在剩余的未校正误差 (e_grid + e_DZ) 上,有一个**不可约的下限**。
公式 (1) 加性结构的一些重要后果是:
1. 三个分量是**高度去相关的**:死区 (DZ) 与比例和网格两者完全正交,因为它在非零元素上恰好是 x_{b,i},而在其他地方为零,与量化无关。比例和网格强烈反相关 (图 1)。
2. 比例误差可以通过改善比例精度 (例如,使用更多的尾数位) 来减少,但网格误差是**格式固有的**,无法通过更好的比例缩放来改善。
3. DZ 恢复,例如通过异常值回退 (OF) (Zhang et al., 2025),精确去除了 e_DZ 误差分量,而不会影响其他分量。
4. 总 MSE 的分解:‖e‖² = ‖e_scale + e_grid‖² + ‖e_DZ‖² (由于正交性)。跨层聚合时,我们观察到 ‖e_scale + e_grid‖² ≈ ‖e_scale‖² + ‖e_grid‖² + 2ρ‖e_scale‖‖e_grid‖,其中 ρ = cos(e_scale, e_grid) ≈ -0.66。简化后得到 ‖e‖² ≈ 1.72‖e‖² + 0.71‖e‖² + 0.02‖e‖²,这构成了表 1 的基础。
### 3.2 实证验证
表 1 和图 1–2 验证了理论分解。跨三个模型家族,比例和网格贡献占总 MSE 的绝大部分;死区贡献始终很小 (~2%)。网格分量占主导地位 (~71%) 并且对模型规模不敏感,确认了格式不可约的下限。
## 4 主导性分析:每个误差分量如何损伤 RL 训练
量化误差不是同质的噪声;每个分量通过完全不同的机制损害 RL 训练。
### 4.1 比例偏置:反向传播中梯度的乘法放大
比例偏置 e_scale 是量化的比例与理想比例之间的乘法失配:γ = s_b / s_b* > 1。当这个比例用于前向传播时,反向传播链式法则将 γ 引入梯度。(由于 QDQ 仿真:量化在前向传播中应用,但梯度是相对于量化前的权重计算。在仿真设置中,前向传播通过 QDQ 块,这放大了激活,因此通过链式法则,反向传播梯度也因 γ 而放大。) 具体来说,对于第 l 层的权重 W_l,量化引入了一个因子 γ_l。反向传播期间,来自下游层的梯度 g_{l+1} 满足:
g_l = (γ_l · ∂f_l/∂a_l)^T g_{l+1} > g_{l+1}, (2)
如果 γ_l > 1。通过 L 层累积,我们有
g_1 ≈ (∏_{l=1}^L γ_l) · g_{L+1}. (3)
由于每个 γ_l ∈ [1, 2) 且平均 ~1.54,乘积 (∏γ_l) 可能非常大,例如深度网络中为≥ 2^L。这种**深梯度放大**导致爆炸性梯度更新,迫使优化器完全崩溃或产生过大的步长,从而破坏学习的策略。
### 4.2 死区截断:前向采样轨迹质量退化
死区截断 e_DZ 将小的但可能重要的权重归零。与后训练 PTQ 保持损失度量不同,RL 严重依赖从策略中采样的轨迹质量。归零这些权重会改变 logits 分布,破坏模型的推理能力,而模型已经在强化信号上花费了训练步数。死区占权重张量的约 9%,但误差方向正交且影响前向采样轨迹 (rollout)。由于策略通过从 logits 采样来选择动作,死区引起的微小 logit 偏移会降低生成的 token 质量。然而,对于单个线性层输出,死区误差仅占 ~2% 的 MSE,并且其在采样轨迹质量上的效果**不会复合**,因为在每个前向传播中,死区仅应用一次。因此,死区是一种严重但相对可修复的问题——通过 OF 恢复权重去除了这一点。详细分析见附录 D.3。
### 4.3 网格噪声:增加策略熵
网格误差 e_grid 是零均值的 (所有格点对称且在 0 处没有死区),因此它在预期中是无偏的。然而,它的方差在层上累加,有效地为 logits 添加了各向同性的噪声。这提高了有效温度 T_eff,使得策略更随机:
T_eff ≈ √(1 + 2σ_η² / Var(Δℓ)) > 1, (5)
其中 σ_η² ∝ Σ_l σ_{δ,l}² (网格) 在层上累积。噪声水平在训练过程中**保持不变**,没有退火机制。网格噪声为梯度增加了方差但无系统性偏差 (远小于由比例引起的 5.6 倍波动),并且其对奖励质量的影响在完整的响应序列上平均掉。公式 (5) 的详细说明见附录 D.4。
## 5 方法
受第 3 节分解的启发,我们采用两种误差校正和一种训练策略。MBS (Chhugani et al., 2026) 和 OF (Zhang et al., 2025) 是静态误差校正:MBS 减少比例分量,OF 恢复死区分量,共同将总误差推向不可约的网格下限。AQN (Huang et al., 2026) 并不减少任何静态误差;它是一种帮助模型在此下限上有效学习的 RL 训练策略。我们重新利用原本为推理设计的 MBS 和 OF,用于带有量化-去量化 (QDQ) 仿真的 RL 训练,并对 AQN 进行修改以适用于全参数训练。
**QDQ 仿真。** 为了确保兼容性,实验使用 PyTorch 中的模拟量化/去量化进行,这是 MXFP4 训练研究的标准方法 (Tseng et al., 2025; Chen et al., 2025),因为原生 W4A4 张量核心尚未广泛可用。QDQ 在数值上忠实:量化误差在仿真和硬件原生执行中格式相同 (相同的 E2M1 网格,相同的 E8M0 块比例,FP32 累加)。原生加速器上的端到端延迟是补充性未来工作,不影响本文的精度结果。
### 5.1 宏块缩放 (MBS):减少比例偏置以接近网格下限
回顾第 3.1 节,E8M0 共享指数 s_b = 2^e 是纯 2 的幂,引入了比例比 γ = s_b / s_b* 且误差约 54%。根本原因是 E8M0 具有*零尾数位*:它只能表示 2 的幂次比例,浪费了多达一半的动态范围。MBS (Chhugani et al., 2026) 通过将块扩展到更大的粒度来补偿这一缺失的尾数精度。相似文章
量化破坏对齐:压缩大语言模型中偏见在不同模型与精度下的涌现
本文研究了训练后量化如何在指令调优的大语言模型中引入新偏见,发现3位精度导致6-21%之前无偏见的项目发展出刻板印象,而像困惑度这样的标准指标未能检测到这种退化。
dMX: 面向低精度浮点格式的可微分混合精度分配
dMX 是一个可微分混合精度量化框架,能够为大型语言模型逐层学习最优的浮点位宽分配,目标是由 OCP 标准定义的 MXFP 系列格式。它采用基于温度的退火策略和预算感知的正则化项进行连续优化,在 Llama、Qwen3 和 SmolLM2 模型上始终优于基于 KL 散度的启发式方法。
面向近无损HiF8 W8A8量化感知训练的最大窗口缩放估计
本文系统研究了OpenPangu-Embedded-1B的HiF8 W8A8量化感知训练,识别并解决了amax饱和和灾难性遗忘等失效模式,通过64步最大算法DTS策略和500步BF16预热实现了近无损性能。
Mix-Quant: 量化预填充,精准解码的智能体大语言模型
Mix-Quant 提出了一种面向智能体大语言模型的阶段感知量化框架,在预填充阶段使用 NVFP4 量化以加速计算,同时在解码阶段保持 BF16 精度以维持准确性。该方法在智能体基准测试中实现了预填充速度提升最高 3 倍,且性能下降极小。
Qift: 移位友好的无零点W2训练后量化,用于旋转W2A4/KV4大语言模型推理
本文介绍了Qift,一种固定的无零点两位权重量化层级集,专为Hadamard旋转的大语言模型设计,通过利用旋转权重的近零中心高斯类分布,实现了改进的W2A4/KV4推理。在LLaMA-2-7B和LLaMA-3.1-8B上的实验显示,相比于标准W2量化,困惑度持续提升。