Pretraining Large Language Models with MXFP4 on Native FP4 Hardware

发表时间: 2026-05 · arXiv:2605.09825 (AMD)

作者/机构: Musa Cim¹, Poovaiah Palangappa², Miro Hodak², Ravi Dwivedula², Meena Arunachalam², Mahmut Taylan Kandemir¹
¹The Pennsylvania State University, ²Advanced Micro Devices, Inc.

速读

一句话结论 本研究在原生支持 FP4 张量计算的硬件上,通过在矩阵乘法前注入确定性 Hadamard 旋转,成功解决了大语言模型全流程 MXFP4 量化训练发散的问题,在保证收敛的前提下实现了端到端训练吞吐量的净加速。

要解决什么问题 原有的大语言模型训练在向更低精度的 FP4 格式迁移时,面临着收敛变慢甚至完全发散的严重卡点。虽然原生 FP4 硬件能大幅降低大批量训练中的内存带宽压力并提升吞吐量,但全流程使用 MXFP4(一种采用微缩放机制的 4 位浮点格式)会导致训练极不稳定。通过分阶段启用量化的受控实验发现,这种不稳定性并非来自前向传播或激活梯度的量化,而是由权重梯度量化时产生的结构化微缩放误差驱动的。传统的随机性干预措施(如随机舍入或随机符号翻转)不仅无法缓解离群值带来的影响,反而会引入额外噪声,进一步放大微缩放误差,导致模型彻底无法收敛。因此,如何控制最敏感的权重梯度路径上的微缩放误差,而不是盲目增加随机性,成为解锁 FP4 硬件加速潜力的关键。

怎么做的 核心思路是在 GEMM 操作之前注入确定性的 Hadamard 变换,通过在特征空间中进行正交旋转,将由离群值导致的集中能量均匀分散到更多维度上,从而降低进入量化器的数据分布对微缩放误差的敏感度。MXFP4 格式不同于传统整数量化,它采用了微缩放机制,即为一小块数据(如 32 个元素)共享一个指数,其重建值定义为: $$x_{B, reconstructed} = 2^{E_{shared}} \times Q_{FP4}(x_B / 2^{E_{shared}})$$ 其中 $E_{shared}$ 是该数据块内所有元素指数的最大值,$Q_{FP4}$ 表示舍入到最接近的 4 位浮点值的操作。为了在不改变底层线性层算术结果的前提下压制离群值,该方法利用了 Hadamard 矩阵 $H$(元素仅为 +1 或 -1 的正交矩阵)的性质: $$H H^T = I$$ 关键设计由前向传播和反向传播中的数学抵消机制构成。在前向传播中,对输入和权重分别应用变换 $\tilde{X} = XH$ 和 $\tilde{W} = WH$,计算输出时 Hadamard 因子自动抵消: $$Y = \tilde{X} \tilde{W}^T = X H H^T W^T = X W^T$$ 在反向传播计算激活梯度时,对输出梯度和转置权重应用变换 $\tilde{G} = (\nabla Y)H$ 和 $\tilde{W}_{rot} = W^T H$,计算结果同样完美抵消: $$\nabla X = \tilde{G} \tilde{W}_{rot}^T = (\nabla Y) H H^T W = \nabla Y W$$ 在最关键的权重梯度计算中,对转置的输出梯度和转置的输入应用变换 $\tilde{G}^T = (\nabla Y)^T H$ 和 $\tilde{X}^T = X^T H$,抵消过程为: $$\nabla W = \tilde{G}^T \tilde{X} = (\nabla Y)^T H H^T X = (\nabla Y)^T X$$ 通过这种确定性的正交旋转,该方法成功绕开了权重梯度量化时的结构化误差卡点,既不引入破坏性的随机噪声,又能在量化前平滑数据分布,从而稳定整个训练流程。

效果如何 实验在原生支持 FP4 张量计算的 AMD Instinct MI355X GPU 上进行,避免了软件仿真的偏差。研究采用 Llama 3.1–8B 模型,在 C4 数据集上遵循 MLPerf 预训练设置进行测试,目标是达到 3.3 的验证集困惑度。对比基线为全流程 FP8 训练(代表稳定收敛的标准路线),以及引入随机舍入或随机 Hadamard 旋转的全流程 MXFP4 训练(代表试图通过增加随机性缓解量化误差的传统路线)。结果显示,当在全流程中直接启用 MXFP4 时,收敛所需的 token 开销相比 FP8 基线急剧上升了 26% 至 27%;而采用随机舍入或随机旋转的基线方法则完全发散。相比之下,采用 16x16 确定性 Hadamard 变换的全流程 MXFP4 训练成功恢复了稳定性,将 token 开销降低至 8% 到 9%。在端到端效率方面,由于降低位宽缓解了内存带宽压力,该方法使训练步吞吐量提升了 1.21 倍,扣除 8% 的 token 开销后,最终端到端吞吐量实现了 1.12 倍的净加速。此外,16x16 分块矩阵的内核吞吐量比 32x32 分块快 8%。作者也承认了该方法的局限性:这并非万能方案,MXFP4 的训练行为高度依赖具体设置,在全量预训练中有效的稳定策略未必能直接推广到其他模型结构或微调任务中。

A1 主要贡献

本文旨在探究一个核心问题:为何即使前向激活(forward activations)和激活梯度(activation gradients)保持稳定,大型语言模型的全流程FP4训练也常常会发散。为了回答这个问题,研究者们进行了一项关于在Transformer训练中使用MXFP4量化的受控研究。

研究目标与方法
研究的核心目标是,在保持所有其他因素固定的情况下,通过逐步在前向传播(Fprop)、激活梯度(Dgrad)和权重梯度(Wgrad)中启用MXFP4,来识别导致训练不稳定的关键环节,并验证各种稳定策略的有效性。其动机在于,原生支持FP4的硬件(如AMD Instinct MI355X GPU)上的MXFP4 GEMM(通用矩阵乘法)操作相比FP8能提供更高的吞吐量和更低的内存带宽压力,但前提是必须解决其可能带来的收敛变慢甚至训练发散的问题。

核心发现
本文通过在原生支持MXFP4的AMD Instinct MI355X GPU上对Llama 3.1–8B模型进行C4数据集上的预训练,得出以下三个关键结论:

所有实验均在原生硬件上完成,避免了软件仿真的开销和潜在偏差,为研究FP4量化效应提供了可靠的基础。

A2 方法细节

A.1 MXFP4与微缩放(Micro-scaling)

A.2 Hadamard变换架构

B 架构图

图3:用于前向和后向传播的Hadamard变换MXFP4架构。GEMM内核的输入由H进行旋转,并通过HHT=I在矩阵乘法过程中抵消旋转。
图3:用于前向和后向传播的Hadamard变换MXFP4架构。GEMM内核的输入由H进行旋转,并通过HHT=I在矩阵乘法过程中抵消旋转。

C 数学抵消证明

C.1 前向传播 (Fprop)

C.2 后向传播 - 激活梯度 (Dgrad)

C.3 后向传播 - 权重梯度 (Wgrad)

D 1D与2D量化策略

PROTECTED_IMAGE_8____PROTECTED_IMAGE_9

A4 实验环境

A4 实验结果

实验假设

实验旨在验证四个核心假设:
1. (H1) 逐步启用MXFP4会揭示,收敛性恶化主要由量化Wgrad(权重梯度)引起,其影响远大于Fprop(前向传播)或Dgrad(激活梯度)。
2. (H2) 随机方法(如随机舍入或随机Hadamard)提供的益处有限,因为它们只增加了噪声,而未能解决由离群值驱动的MXFP4微缩放误差。
3. (H3) 确定性Hadamard旋转能够减少进入MXFP4块的离群值的影响,从而稳定全流程优化。
4. (H4) 在更多GEMM路径中启用MXFP4会提高训练步吞吐量,并且当token开销很小时,这能转化为端到端的训练加速。

分阶段MXFP4启用与稳定策略评估

为隔离导致收敛下降的组件,实验逐步在训练流程中启用MXFP4,并评估了不同稳定策略的效果。

Table 1: 分阶段MXFP4启用与稳定策略。Token开销是相对于FP8基线(验证困惑度3.3)而言。“不收敛”表示该运行发散或在延长训练后仍未能达到困惑度3.3的目标。

内核吞吐量:H16比H32快8%(1.08倍 vs 1.00倍)。

训练轨迹可视化

图1和图2展示了不同配置下的训练轨迹。

PROTECTED_IMAGE_10____PROTECTED_IMAGE_11

端到端训练效率

在证明了确定性Hadamard可以恢复收敛稳定性后,实验进一步评估了FP4带来的实际效率提升。

Table 2: 端到端训练效率(MXFP4 + H16 vs. FP8基线)。

该加速的关键在于,降低激活/权重的位宽减小了内存带宽压力,这在大批量训练中是一个主要瓶颈。而本方法在实现这一点的同时,还稳定了全流程的训练。

A7 补充细节

A5 结论

本文通过一项对Transformer线性层中用MXFP4 GEMM内核替代FP8的受控研究,揭示了权重梯度(Wgrad)的量化是导致收敛性下降的主要因素。对于在MLPerf C4数据集上预训练的Llama 3.1–8B模型,在所有测试的干预措施中,确定性Hadamard旋转是唯一能够恢复全流程MXFP4训练稳定性,并同时提升端到端效率的方法

总的来说,本研究结果为FP4大型语言模型训练提供了一个实用的原则:训练的稳定性取决于控制最敏感梯度路径中的微缩放误差,而不是增加随机性

方法细节中的引用文献

  1. 【7】Microscaling data formats for deep learning (2023, arXiv) - Bita Darvish Rouhani, et al.

    • 引用位置: 附录A.1 MXFP4与微缩放。
    • 引用内容: 描述MXFP4中微缩放块的共享指数 $E_{shared}$ 是块内指数的最大值。
  2. 【9】Outlier suppression: Pushing the limit of low-bit transformer language models (2022, Advances in Neural Information Processing Systems) - Xiuying Wei, et al.

    • 引用位置: 附录A.2 Hadamard变换架构。
    • 引用内容: 引用该文献作为使用Hadamard变换来改善收敛稳定性和减少离群值影响的先例。