突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!

关键词: NVFP4Four Over Six(4/6)、大型语言模型(LLM)、自适应块缩放低精度训练后训练量化(PTQ)

  • Four Over Six: More Accurate NVFP4 Quantization with Adaptive Block Scaling
  • 代码: https://github.com/mit-han-lab/fouroversix
  • 论文: https://arxiv.org/pdf/2512.02010

随着大型语言模型(LLM)规模扩大,NVFP4 等低精度格式因速度和内存优势被广泛应用,但需将矩阵乘法所有操作数量化为 NVFP4,易导致训练发散和推理性能下降 。为此,本文提出 Four Over Six(4/6)方法, 对 NVFP4 量化算法进行改进。

FP4 等浮点格式的量化误差主要集中在块内近最大值处 ,这是性能退化的核心原因。4/6 的核心创新是为每个值块评估两个缩放因子(4 和 6): 相较于传统 NVFP4 固定缩放至 6 的做法,部分块缩放至 4 可使可表示值分布更均匀,显著降低近最大值的量化误差 。例如,数值块[10,20,30,40]缩放至 4 时均方误差为 0,远优于缩放至 6 时的 4.33。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图3:采用“四对六”(Four Over Six)训练的NVFP4量化线性层的计算流程。所有矩阵乘法(FPROP、DGRAD、WGRAD)均在NVFP4中执行,而模型权重以FP32格式存储,激活值和梯度以BF16格式存储。Q(4/6)表示我们提出的方法,即根据数值分布将块缩放至4或6。SR表示随机舍入(Stochastic Rounding),RHT表示随机哈达玛变换(Random Hadamard Transform)。蓝色路径代表FP32数据流;橙色路径代表BF16数据流;绿色路径代表NVFP4数据流

该方法可在 NVIDIA Blackwell GPU 高效实现,推理时(序列长度 <16384)开销不足 2%,训练时(序列长度<131072)开销低于 15%。

  • 实验表明,预训练中 4/6 能避免 Transformer、混合模型等多种架构的训练发散,训练损失接近高精度 BF16;
  • 后训练量化中,它 可与 AWQ、SmoothQuant 等主流方法结合 ,在 WikiText-2、C4 数据集上降低困惑度,在 BoolQ、ARC 等下游任务中提升准确率,其中与 AWQ 结合效果最佳。

4/6 为 NVFP4 量化提供了轻量高效的优化方案,既保留了低精度格式的优势,又缓解了性能损失,为 LLM 的高效训练与部署提供了新思路。

本文目录

  • 关键问题
    • 问题一:4/6 方法的硬件与格式依赖性及推广限制
    • 问题二:4/6 与 GPTQ 的兼容性冲突及本质原因
  • 一、引言
  • 二、NVFP4 量化存在的问题
    • 2.1 NVFP4 概述
    • 2.2 NVFP4 的误差源于“近最大值”的舍入
  • 三、基于“四分之六”(4/6)的自适应块缩放方法
    • 3.1 尺度选择规则
    • 3.2 实现方式
  • 四、实验评估
    • 4.1 预训练
    • 4.2 训练后量化
  • 五、讨论
    • 5.1 异常值
    • 5.2 局限性
  • 六、相关工作
  • 七、结论
  • 参考文献

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!

关键问题

问题一:4/6 方法的硬件与格式依赖性及推广限制

作者提出的 4/6 方法核心依赖 NVFP4 的 FP8 E4M3 缩放因子精度与 NVIDIA Blackwell GPU 的 PTX 指令实现低开销,若脱离该硬件生态或应用于 MXFP4 等采用 E8M0 格式的块缩放 FP4 量化,其高精度优势是否会完全失效?这是否意味着该方法的实用性被硬件和格式双重绑定,难以推广至更广泛的低精度训练场景?

  1. 4/6 的高精度优势在脱离 NVIDIA Blackwell GPU 生态或 MXFP4 等格式时【会显著失效】。 因为作者明确指出, 4/6 依赖该 GPU 的 PTX 指令(如 cvt 系列指令)实现低开销量化/反量化,且需 FP8 E4M3 格式的缩放因子支持 ——块缩放至 4 时需比缩放至 6 的因子大 50%, 这一精度要求仅 E4M3 能满足。
  2. MXFP4 采用 FP8 E8M0 格式,其可表示值为 2 的整数倍,无法精准存储 50%差异的缩放因子,因此 4/6 完全不适用。
  3. 该方法确实存在硬件与格式双重绑定: 【仅】支持 NVIDIA Blackwell GPU 和 NVFP4 格式 ,而其他硬件如非 NVIDIA GPU,或块缩放 FP4 格式(如 MXFP4)缺乏必要的指令集或缩放因子精度 ,导致其难以推广至更广泛的低精度训练场景。

问题二:4/6 与 GPTQ 的兼容性冲突及本质原因

4/6 与 GPTQ 结合时性能显著下降(NVFP4 与 BF16 的困惑度差距平均扩大 34.6%),而与 AWQ、SmoothQuant 兼容良好,这是否揭示了其自适应块缩放逻辑与 GPTQ 等依赖二阶信息的 PTQ 方法存在底层冲突? 这种冲突是否源于 4/6 对块内近最大值分布的调整,破坏了 GPTQ 量化优化的核心前提,且难以通过算法改进化解?

  1. 4/6 方法与 GPTQ 结合时性能下降,根源在于两者底层逻辑存在冲突。GPTQ 依赖二阶信息来优化量化过程,其核心前提是假设权重分布保持不变,并在此基础上进行离群值校准与量化误差控制。
  2. 4/6 方法通过自适应调整块缩放范围(选择 4 或 6),改变了块内接近最大值的数值分布特征——这直接破坏了 GPTQ 所预设的权重分布假设,导致其二阶信息计算失准,量化优化方向偏离最优解,最终使得 NVFP4 与 BF16 的困惑度差距扩大了 34.6%。
  3. 这种冲突难以通过简单的算法改进来化解:作者也指出,需要修改 GPTQ 的优化流程,以融入 4/6 的自适应块缩放逻辑,才能改善兼容性,而当前仅替换量化线性层的方式无法解决核心假设冲突。相比之下,AWQ、SmoothQuant 等方法依赖离群值平滑与裁剪,4/6 对块分布的优化反而有助于它们更精准地测量效果,因此兼容性良好。

一、引言

随着大语言模型(LLMs)的规模不断扩大,NVFP4 等低精度数值格式因其带来的速度提升和内存优势而愈发流行。

然而,若要通过 NVFP4 加速计算,所有矩阵乘法操作数——前向传播中的权重和激活值,以及反向传播中的权重、激活值和梯度——都必须量化为 NVFP4 格式,这往往会导致训练过程中的发散(指模型训练时损失不收敛、结果不稳定的现象)和推理过程中的性能下降。

为解决这一问题,本文提出了“四分之六”(Four Over Six, 4/6)方法:该方法是对 NVFP4 量化算法的改进,可为每个数值块评估两个潜在的缩放因子。

与整数格式不同,FP4 等浮点格式在每个块的“近最大值”(指接近块内最大值的数值)上产生的量化误差最大,而我们发现,这种误差正是导致后续性能下降的主要原因。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表1:使用公式3进行的NVFP4量化,其中块的最大值被缩放至M=4和M=6。对于某些数值块(通常是那些值接近块最大值75%的块),缩放到4时可能会以更小的误差被表示。详情请参见表2。

我们还发现,对于部分数值块,将其缩放到更小的 FP4 数值范围,能使可表示值的分布更均匀,从而改善对“近最大值”的表示效果。重要的是,“四分之六”方法可在 NVIDIA Blackwell 系列 GPU 上高效实现,这使其能够应用于采用 NVFP4 格式的大语言模型训练过程。

在基于 Transformer 和混合模型(指结合了多种架构设计如密集注意力与滑动窗口注意力的模型)的预训练实验中,我们发现“四分之六”方法在多种情况下可避免训练发散,相比采用当前最先进 NVFP4 训练方案的模型,其训练损失更接近 BF16 精度模型的损失。

此外,“四分之六”方法还可轻松集成到多种训练后量化方法中,且通常能提升后续任务的精度。 我们希望本研究能为未来采用 NVFP4 格式的模型训练与部署工作提供启发。

二、NVFP4 量化存在的问题

2.1 NVFP4 概述

NVFP4 是一种块缩放式量化格式,其数值以 FP4 E2M1(一种 4 位浮点数格式,其中“E2”表示指数位为 2 位,“M1”表示尾数位为 1 位)格式存储,每 16 个数值对应一个 FP8 E4M3(一种 8 位浮点数格式,“E4”表示指数位为 4 位,“M3”表示尾数位为 3 位)缩放因子,同时还存在一个张量级(指覆盖整个张量的全局范围)的 FP32(32 位浮点数)缩放因子。

具体来说,NVFP4 量化格式通过“低精度数值存储+分级缩放因子”的设计来平衡内存占用与精度:

  1. 核心数值存储:FP4 E2M1 格式
    模型中需要计算的基础数值(如权重、激活值)用 FP4 存储,格式拆解为“2 位指数(E2)+1 位尾数(M1)”:

    • 指数位(E2):决定数值的“量级范围”(如表示数值大小的阶数),2 位可覆盖有限但够用的动态范围。
    • 尾数位(M1):决定数值的“精度细节”(即小数点后能表示的精细度),1 位意味着精度较低,但存储成本极低(仅 4 位/数值)。
  2. 块级缩放:FP8 E4M3 因子 Δᵢ
    为弥补 FP4 精度不足,每 16 个 FP4 数值组成一个“块”,对应 1 个 FP8 格式的缩放因子 Δᵢ:

    • FP8 E4M3 格式:4 位指数(E4)+3 位尾数(M3),精度高于 FP4,能更精准地调整“块内数值的整体范围”(例如将块内数值按比例缩放,让 FP4 能更好覆盖有效数值)。
    • 作用:避免单个 FP4 因范围固定导致的误差,通过“1 个 Δᵢ 管理 16 个数值”,在精度与存储开销间取得平衡(因为 16 个 FP4 仅额外消耗 1 个 FP8,总存储仍远低于高精度格式)。
  3. 全局缩放:FP32 因子 α
    在块级缩放之上,还存在一个覆盖整个张量(如整个权重矩阵)的 FP32 缩放因子 α:

    • FP32 精度极高,能精准控制“整个张量的全局数值范围”,避免块级缩放累积的误差扩散。
    • 作用:作为“顶层校准”,确保不同块的数值在全局维度上保持一致性,进一步降低量化对模型性能的影响。

简言之,NVFP4 通过“FP4 存数值 + FP8 调块范围 + FP32 控全局”的三级设计,以极低的存储成本(核心数值仅 4 位),尽可能保留了数值精度,适配大模型低精度计算的需求。

这一关系可表示为以下公式:其中 x 为高精度张量, 为其量化后的表示,M_fp4M_fp8 分别为 FP4 和 FP8 E4M3 格式可表示的最大值(分别为 6 和 448),round 表示舍入函数(将数值调整为目标格式可表示的最近值的函数)。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图1:在标准NVFP4量化中(左侧),使用0到6的FP4值全范围意味着无法表示一个块中最大值幅度的66.6%到100%之间的值。相反,通过将一些块缩放至最大值4,就能够表示一个块中最大值的75%的数值,从而减少大数值的最坏情况量化误差。

与整数格式不同,FP4 等浮点格式具有动态步长(指相邻可表示值之间的间隔不固定):在 0 到 2 之间步长为 0.5,2 到 4 之间步长为 1,4 到 6 之间步长为 2,如图 1a 所示。这种特性使其能够表示更广泛的数值范围,因此在表示权重、激活值和梯度时表现更优。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表1:使用后文公式3进行的NVFP4量化,其中块的最大值被缩放至M=4和M=6。对于某些数值块(通常是那些值接近块最大值75%的块),缩放到4时可能会以更小的误差被表示。详情请参见后文表2。

例如,FP4 的可表示值动态范围(指可表示的最大值与最小正值的比值,比值越大表示能覆盖的数值范围越广)为 2^6 = 64,而 INT4(4 位整数格式)仅为 2^4 = 16。

需注意,公式(2)和(3)涉及将数值转换为特定精度格式的操作。这些操作是利用硬件支持的必要步骤,但同时也是量化误差的来源——因为将数值舍入到最近的可表示值时会丢失信息。综上,NVFP4 量化的误差主要来自两个方面:

  1. FP8 块级缩放因子 Δᵢ:由于 E4M3 格式的精度有限,每个缩放因子都会存在一定量化误差。若缩放因子相对于其高精度版本被向上或向下舍入,会影响其对应块内的所有数值。
  2. FP4 数值:单个数值可能会被向上或向下舍入到图 1a 所示的 8 个可能的 FP4 值之一。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图1:在标准NVFP4量化中(左侧),使用0到6的FP4值全范围意味着无法表示一个块中最大值幅度的66.6%到100%之间的值。相反,通过将一些块缩放至最大值4,就能够表示一个块中最大值的75%的数值,从而减少大数值的最坏情况量化误差。

2.2 NVFP4 的误差源于“近最大值”的舍入

为深入分析 NVFP4 量化对大语言模型性能的影响,我们首先需要厘清 NVFP4 量化中不同误差来源对模型性能的具体影响。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图2:在WikiText-2上评估Llama-3.1-8B的模拟NVFP4量化。结果表明,提升NVFP4性能的关键在于改进每个块中对特定数值的表示。

在图 2a 中,我们展示了将 Llama-3.1-8B 模型量化为 NVFP4 格式后的性能变化,以及通过将缩放因子或数值本身保持在高精度(如 BF16)来缓解各类误差时的性能恢复情况。

遵循训练后量化(PTQ)的标准实践,我们将嵌入层、语言模型头和注意力计算等敏感层和操作保持在高精度。研究发现,缩放因子带来的误差对模型性能影响极小,而 NVFP4 量化导致的性能下降完全源于将数值转换为 FP4 格式时引入的表示误差。若能缓解此误差,模型性能可完全恢复。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图2:在WikiText-2上评估Llama-3.1-8B的模拟NVFP4量化。结果表明,提升NVFP4性能的关键在于改进每个块中对特定数值的表示。

接下来,我们通过模拟实验探究“仅对部分数值进行 FP4 量化”对性能的影响:
* 方法:仅当缩放后的数值绝对值高于某个阈值时,才将其量化为 FP4。
* 结果:如图 2b 所示,在对大于 4 的数值进行量化前,模型性能仅缓慢下降;而一旦对大于 4 的数值进行量化,性能则急剧恶化。

这表明,对缩放后接近 5 的数值(FP4 格式无法精确表示该范围)进行量化所产生的误差,是导致 NVFP4 性能不佳的主要原因。此外,在缩放后数值接近 2.5 和 3.5 的位置,也能观察到较小的性能下降尖峰——这与图 1a 的结果一致,即这三个数值(2.5、3.5、5 附近)在量化为 FP4 时会产生较大误差。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图1:标准NVFP4量化(左)使用0到6的FP4全范围,导致无法表示块中最大值幅度66.6%到100%之间的值。通过将部分块缩放至最大值4,则能表示块中最大值的75%,从而减少对大数值的最坏情况量化误差。

这一发现对模型训练具有直接影响:为利用硬件支持,NVFP4 矩阵乘法的所有操作数都必须量化为 NVFP4 格式。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图3:采用“四对六”(Four Over Six)方法训练的NVFP4量化线性层计算流程。所有矩阵乘法(前向传播FPROP、数据梯度DGRAD、权重梯度WGRAD)均在NVFP4中执行。模型权重以FP32存储,激活值和梯度以BF16存储。Q(4/6)表示我们提出的自适应块缩放方法。SR(随机舍入)和RHT(随机哈达玛变换)用于优化量化过程。蓝色、橙色、绿色路径分别代表FP32、BF16、NVFP4数据流。

图 3 展示了 NVFP4 量化线性层的训练计算流程,其中权重、激活值和梯度在使用前均需量化为 NVFP4 格式。

参考近期基于 FP4 的训练研究,我们对梯度采用随机舍入(Stochastic Rounding, SR),并对权重梯度计算的输入应用随机哈达玛变换(Random Hadamard Transform, RHT),以分别减少量化偏差和异常值影响。

上述实验表明,“近最大值”的量化误差是导致训练后量化(PTQ)性能下降的关键原因,而这一误差很可能也是训练过程中性能损失的主要因素。

三、基于“四对六”(4/6)的自适应块缩放方法

前一节的分析指出:在 NVFP4 量化中,权重和激活值里缩放后接近 5 的数值是导致性能大幅下降的主因,因为 FP4 格式无法精确表示它们。

为改善对这些“近最大值”的表示,本节提出“四对六”(Four Over Six, 4/6)方法,旨在优化 NVFP4 块内对“近最大值”的表示精度。

在标准 NVFP4 量化公式中,所有块使用相同的缩放值(即 6)。我们发现,对部分块调整此缩放值可改善表示。该缩放值决定了数值量化后的范围:
* 若设为 6,数值被缩放至 FP4 的全范围(-6 到 6)。
* 但我们发现,对部分块而言,将缩放值设为 4(即范围-4 到 4)效果更优。

虽然放弃了表示-6 和 6 的能力,但这使得 NVFP4 能够更准确地表示“近最大值”。例如:
* 缩放值为 6 时,量化值 4 仅对应块内最大值的 66.6%,且无法表示 66.6% 到 100% 之间的数值。
* 缩放值为 4 时,量化值 3 对应块内最大值的 75%,从而能更准确地表示部分块(如表 2 中的示例块)的数值。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表2:两个样本块示例,说明我们的方法可能选择使用4或6进行缩放。标准NVFP4量化算法在第4行结束。引入误差的操作及受影响的数值以橙色高亮。

  • 其他可能的缩放值(如 2 或 3)所能表示的数值范围,均是缩放值为 4 或 6 时的子集,因此不具备额外优势。

3.1 尺度选择规则

将块缩放至 4 虽能减少部分块的量化误差,但并非对所有块都有效。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表2:两个样本块示例,说明我们的方法可能选择使用4或6进行缩放。标准NVFP4量化算法在第4行结束。引入误差的操作及受影响的数值以橙色高亮。

表 2 的示例证明了这一点:其中一个块在缩放至 6 时表示更准确,另一个则在缩放至 4 时更准确。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表3:将块缩放至4并不总是更优。采用W4A4 PTQ量化的模型在WikiText-2上的单词困惑度。MXFP4和基线NVFP4量化(M=6)存在性能下降。将所有块缩放至M=4会进一步降低整体性能。

在表 3 中,我们评估了 Llama 和 Qwen 系列模型分别采用“块缩放值为 4”和“标准块缩放值为 6”的 NVFP4 量化后的性能。研究发现,尽管“缩放值为 4”能更准确地表示大数值,但与标准 NVFP4 量化(缩放值为 6)相比,将所有块均缩放至 4 会导致性能更差。这可能是因为缩放值为 6 时可表示的数值动态范围比缩放值为 4 时大 50%,能覆盖更广泛的数值分布。因此,需要对块进行自适应缩放。

我们发现,若不实际执行量化,很难预判哪种缩放值更优。因此,“四对六”方法的实现逻辑是:对每个块分别用缩放值 6 和 4 进行两次量化,然后将量化结果与原始数值比较。基于比较结果,我们设计了三种尺度选择规则:
1. 最小最大误差:选择量化结果与原始值间最大误差最小的版本。
2. 最小 L1 误差:选择误差 L1 范数(绝对误差和)最小的版本。
3. 最小均方误差(MSE):选择均方误差最小的版本。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表4:使用均方误差(MSE)选择块尺度总体效果最佳。当块被量化为NVFP4格式(N=4和N=6)后,有多种方法选择更优版本。实验表明,使用均方量化误差通常效果最佳。

表 4 展示了这三种规则对模型性能的影响。每种规则在某些情况下都能优于标准 NVFP4 量化,但总体而言,基于量化均方误差(MSE)选择块缩放值的规则效果最佳。因此,在本文后续研究中,我们均采用 MSE 尺度选择规则。

3.2 实现方式

我们发现,“四分之六”方法可利用 NVIDIA Blackwell GPU 支持的 PTX 指令高效实现。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表2:对于这两个样本块,我们的程序可能会选择使用4或6对该块进行缩放。标准的NVFP4量化算法在第4行结束,返回∆(6)和X̄(6)。引入误差的操作以及受此误差影响的值均以橙色突出显示。

具体而言,我们使用 cvt 系列指令将数值量化为打包 FP4 格式,同时也使用该指令集将 FP4 数值反量化为 FP16 格式——这一步骤是计算表 2 中第 6 行和第 12 行所示误差的必要操作。

为保证高性能,我们在 CUDA 核函数中实现“四分之六”方法:量化值、反量化值和误差均存储在寄存器文件中

实验结果表明,“四分之六”方法引入的开销在推理时使用的小序列长度(≤16384)下低于 2%,在训练时使用的大序列长度(≤131072)下低于 15%。 我们预计,通过进一步优化,这一开销可进一步降低。

四、实验评估

本节评估了 Four Over Six(4/6 方法)对 NVFP4 量化模型在预训练和训练后量化过程中性能的影响。研究发现,引入 Four Over Six 可带来广泛的性能提升:
* 在预训练阶段,它能防止多种模型架构出现训练发散问题;
* 对于已训练完成的 Llama 和 Qwen 模型,它能在各类下游任务中提升模型性能。

4.1 预训练

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图4:四分之六(4/6)可缓解预训练期间的分歧。训练损失曲线比较了BF16、NVFP4以及采用4/6的NVFP4在不同模型架构和规模下的表现。NVFP4在每种情况下都会出现分歧,迫使我们提前终止这些运行。而添加4/6后,在所有情况下训练损失都更接近BF16。

图 4 展示了在预训练过程中应用 4/6 方法的主要结果。对于所有训练的模型,我们发现 4/6 方法降低了整体训练损失并缓解了发散问题。所有模型均包含 24 个隐藏层,注意力头维度为 64:
* Transformer 架构:基于标准 Transformer,并引入查询-键归一化。
* 混合架构:偶数层采用密集注意力,奇数层采用滑动窗口注意力(窗口大小为 256),并结合旋转位置编码。该设计灵感来源于 Command-A、Swan-GPT 和 gpt-oss。

两种架构中的所有 MLP 块均采用 SiLU 激活函数。

基于上述设计,我们训练了两个模型系列:
1. 3400 万参数模型:隐藏层维度 1024,16 个注意力头,中间层维度 2816。
2. 10 亿参数模型:隐藏层维度 2048,32 个注意力头,中间层维度 8192。其中一个 10 亿参数模型采用门控注意力进行训练。

所有模型的训练配置如下:
* 分词器:Llama-2 分词器,词汇表大小为 32000。
* 上下文长度:8192。
* 数据集:FineWeb-Edu 数据集。
* 优化器:AdamW 优化器,权重衰减为 0.1。
* 学习率:恒定学习率。
* 梯度裁剪:阈值 1.0。
* 批次大小(按 token 数计算):3400 万参数模型为 131072,10 亿参数模型为 81920。
* 硬件
* 3400 万参数 Transformer 模型使用 4 台 GB200 186GB GPU。
* 3400 万参数混合架构模型使用 4 台 B200 180GB GPU。
* 10 亿参数模型使用 8 台 B200 180GB GPU。
* 分布式策略:完全分片数据并行。

我们遵循当前最先进的 NVFP4 预训练方案,执行以下操作:
1. 对梯度采用随机舍入。
2. 对权重梯度计算的两个输入均应用随机哈达玛变换。
3. 对权重矩阵执行二维分块量化,具体流程如图 3 所示。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图3:采用“四对六”(Four Over Six)训练的NVFP4量化线性层的计算流程。所有矩阵乘法均在NVFP4中执行,而模型权重以FP32格式存储,激活值和梯度以BF16格式存储。Q(4/6)表示我们提出的方法,即根据数值分布将块缩放至4或6。SR表示随机舍入,RHT表示随机哈达玛变换。蓝色路径代表FP32数据流;橙色路径代表BF16数据流;绿色路径代表NVFP4数据流。

关于二维分块量化的具体影响,见下面图 5。所有 NVFP4 矩阵乘法均以 FP32 格式累积结果,并以 BF16 格式输出;模型权重存储为 FP32 格式。此外,对于两种规模的模型,我们均采用 BF16 训练最后 4 层,这一操作已被证明对模型收敛至关重要。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
图5:我们3.4亿参数Transformer的训练损失,包括未使用二维块缩放的消融实验。NVFP4 训练 LLM 的最佳实践是采用 2D 块缩放量化权重,此举可确保权重矩阵在向前传播与反向传播中保持一致。预训练 Llama 3 与 Qwen3 模型经该方式量化为 NVFP4 后,性能会下降至不可用水平,但对 2D 块应用 4/6 方法后性能可恢复,体现 4/6 对 2D 块表示的优化能力。虽 PTQ 采用 2D 块量化会显著降低性能,但训练过程中的消融实验显示,2D 块缩放可提升 3.4 亿参数 Transformer 模型性能;4/6 虽能优化 1D 块表示,但其效果不足以抵消训练中 2D 块缩放带来的优势。

4.2 训练后量化

我们还评估了4/6方法提升NVFP4训练后量化(PTQ)精度的能力。4/6方法既可单独使用,也可作为一种通用方法修改底层NVFP4量化算法,从而轻松与现有PTQ方法(如GPTQ[11]、AWQ[12]、SmoothQuant[13])结合。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表5:4/6能够提升现有PTQ方法的性能。我们发现,当4/6与AWQ和SmoothQuant结合使用时,能一致地改善困惑度指标,并且在大多数情况下也能提升RTN(就近取整)量化和GPTQ的性能。

在WikiText-2和C4数据集上,我们以词困惑度(word perplexity)为指标评估Llama 3和Qwen3模型,结果如表5所示:在绝大多数情况下,4/6方法均能提升性能。具体而言:
* 与AWQ和SmoothQuant结合时,4/6方法对所有测试模型的词困惑度指标均有提升,分别使NVFP4模型与BF16模型的词困惑度差距缩小19.9%和5.3%;
* 与GPTQ结合时,4/6方法反而降低了模型性能,使NVFP4与BF16模型的词困惑度差距平均扩大34.6%。

综合来看,AWQ与4/6方法结合的效果最佳:所有模型在WikiText-2上的平均词困惑度为11.58,在C4上的平均词困惑度为32.36。
* 在评估GPTQ时,我们使用GitHub上公开的FP-Quant实现[27],并分别加载“内置FP4线性层”和“我们实现的、集成4/6量化的线性层”来测试量化模型。未来工作中,若能修改GPTQ的优化流程以融入Four Over Six方法,有望实现性能提升。
* 在评估AWQ和SmoothQuant时,我们在优化过程中替换了线性层(使用集成4/6方法的版本),使这些算法能更准确地衡量异常值平滑和裁剪(clipping)的效果。

受内存限制,Llama-3.1-70B模型结合GPTQ的结果未列出;受时间和资源限制,Llama-3.1-70B和Qwen3-32B模型结合SmoothQuant的结果未列出。

尽管词困惑度常被视为评估量化模型的更稳定指标[28],我们仍在多个下游任务中测试了这些量化模型,包括BoolQ[29](Yes/No问答任务)、ARC-Easy和ARC-Challenge[30](科学常识问答任务)、HellaSwag[31](句子补全任务)。

遵循标准实践,我们对ARC-Easy、ARC-Challenge和HellaSwag的结果采用归一化准确率(normalized accuracy)。结果显示,在大多数PTQ方法和任务中,4/6方法均能提升性能,几乎所有案例的平均任务性能都有改善Llama 3模型结果如表6所示,Qwen3模型结果如表7所示)。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表6:使用各种PTQ方法和4/6进行量化时,Llama-3.2-1B和Llama-3.1-8B的下游任务性能。在几乎所有情况下,4/6都能提高平均任务性能。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表7:Qwen3-1.7B和Qwen3-8B模型在不同PTQ方法和4/6结合下的下游任务性能,指标同表6。

五、讨论

5.1 异常值

现代训练技术通常致力于缓解权重和激活值中的异常值问题——因为异常值会降低模型性能、导致训练不稳定,并增加模型压缩难度[32-35]。然而,分块缩放浮点格式(如MXFP4,m=32;NVFP4,m=16)通过为每m个值分配一个独立的缩放因子,几乎可以无误差地表示异常值。因此,如第2.2节所示,这类格式的量化误差主要来源于“近最大值”(near-maximal values)。

尽管我们通过4/6方法调整NVFP4格式,降低了近最大值的量化误差,但对于异常值极少的模型,采用量化误差更均匀的格式(如INT4[14])可能会进一步受益。 不过,实证表明,在大多数实际场景中,NVFP4(尤其是与4/6方法结合后)的模型量化效果更优。

5.2 局限性

从理论上讲,Four Over Six方法可应用于其他分块缩放低精度FP4格式,但本研究仅聚焦于NVFP4——因为该方法无法适用于MXFP4。原因如下:

要实现“将数据块缩放至4或6”,缩放因子需具备最低精度要求:缩放至4的块所需缩放因子,比缩放至6的块大50%。
* NVFP4采用FP8 E4M3格式存储缩放因子,该格式能够表示这种精度差异;
* 而MXFP4[36]的缩放因子采用FP8 E8M0格式存储——在该格式中,相邻可表示值之间的比例固定为2倍,无法表示“大50%”的缩放因子差异,因此4/6方法无法适用于MXFP4。

未来的分块缩放浮点格式可能会从“4/6式自适应分块缩放”中受益,但随着值存储精度的提高,这种受益会迅速减弱。即高精度格式本身量化误差已较小,4/6方法的优化空间有限。

未来工作仍有诸多方向:
1. 基于旋转的方法(如QuaRot[37]、SpinQuant[38])在NVFP4量化中表现不佳,即使结合4/6方法也是如此,这一问题有待进一步研究;
2. 若能获得更多资源,我们计划使用NVFP4和4/6方法训练更大规模的模型,以深入理解这些方法在大规模模型训练中的影响;
3. 我们还在持续探索降低Four Over Six方法计算开销的途径。

六、相关工作

量化技术因其能够减小模型规模并加速推理,已在大语言模型中得到广泛应用[39]。大多数量化方法的核心目标是“缓解异常值”,以缩小待量化张量的动态范围,具体实现方式包括:
* 逐通道平滑因子(per-channel smoothing factors[12,13]):为张量的每个通道单独设置平滑系数,以抑制通道内异常值;
* 二阶信息(second-order information[11]):用数据的方差、协方差等二阶统计量优化量化参数;
* 旋转变换(rotations[37,38]):通过线性旋转调整数据分布以降低量化误差。

但需注意,这些方法大多基于旧有数值格式如INT4开发,而新型NVIDIA GPU已不再为这类格式提供专用硬件支持。

分块缩放量化格式因其更高的精度,应用日益广泛。以FP4格式为例:其可表示的最小非零值为0.5,最大值为6,这意味着FP4量化张量的理想动态范围仅为12,远无法满足多数实际应用需求。而分块缩放格式(如MXFP4[36]、NVFP4[8])通过为FP4数据块搭配更高精度的缩放因子,使同一张量中不同数据块可拥有差异极大的动态范围:
* MXFP4:每32个FP4值对应一个8位E8M0格式的缩放因子;
* NVFP4:每16个FP4值对应一个8位E4M3格式的缩放因子。

关键在于,这两种格式均获得了最新发布的NVIDIA Blackwell GPU的专用硬件支持:在NVIDIA B200 GPU上,其处理速度相较于FP8输入提升高达2倍,相较于BF16/FP16输入提升高达4倍。尽管这些格式优势显著,但量化后如何保持模型性能仍是一大挑战。

MXFP4 和 NVFP4 格式的低精度训练仍是一个未完全解决的问题。理论上,FP4 训练应带来两大核心优势:提升训练速度,以及获得“原生量化 FP4 模型”(指训练过程中直接使用 FP4 格式,无需后续量化的模型)。但在实践中,实现这些目标难度较大:

  • 许多研究采用随机舍入、随机哈达玛变换(或两者结合)来缓解异常值影响[5,7-9], 但这些操作(以及缩放因子的计算过程)都会增加计算开销;
  • 若开销过大,分块缩放 FP4 格式的训练将失去意义 ——因为 FP8 格式精度更高,且在 NVIDIA B200 GPU 上仅比 FP4 慢 2 倍;
  • 此外,许多 FP4 训练工作需要通过“高精度训练修复”(healing)步骤 (即训练后期使用高精度格式训练一段时间)来提升模型性能,这不仅增加了时间成本,最终得到的仍是高精度模型[6,8],违背了“原生 FP4 模型”的目标。

MXFP4 和 NVFP4 格式的训练后量化(PTQ)相对容易,因为可通过离线校准(offline calibration,训练完成后在校准数据集上调整量化参数以恢复精度的过程)恢复模型精度。相关方法包括:

  • 旋转权重优化量化:如 SpinQuant[38]、QuaRot[37],通过旋转模型权重优化数据分布,降低量化难度;
  • 离线校准方法:如 AWQ[12]、GPTQ[11]、SmoothQuant[13]、SVDQuant[40],依赖离线数据调整量化参数。

但如表 3 所示,即使采用这些方法,MXFP4 和 NVFP4 量化模型仍难以完全恢复高精度模型的性能。

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!
表3:将块扩展到4并不总是更好。采用W4A4 PTQ量化的模型在WikiText-2上的单词困惑度。MXFP4和基线NVFP4量化(M=6)存在性能下降问题。将所有块扩展到M=4会进一步降低整体性能

七、结论

本研究针对NVFP4低精度量化在LLM训练与推理中面临的近最大值误差 问题,提出了“Four Over Six(4/6)”自适应块缩放方法,为高效低精度模型部署提供了关键解决方案。4/6的核心创新在于突破传统NVFP4固定 的缩放模式,通过对每个值块分别以和量化并基于MSE选择最优尺度, 在放弃 表示范围的同时,显著优化了近最大值的量化精度,从根源上缓解了NVFP4导致的训练发散与推理性能下降。

实验验证了4/6的有效性:

  • 预训练:其在Transformer、混合注意力等架构(340M-1.4B参数)上均能抑制NVFP4的发散问题,训练损失与BF16基线高度接近;
  • PTQ场景:4/6与AWQ、SmoothQuant等方法结合时,可将WikiText-2 perplexity平均降低11.58,下游任务(BoolQ、ARC-E等)准确率普遍提升,且硬件开销极低(推理 <2%、训练<15%), 完全适配NVIDIA Blackwell GPU的PTX指令集。

当前4/6仍存在局限,如无法兼容MXFP4的FP8 E8M0尺度格式,与QuaRot等旋转类PTQ方法的兼容性待优化,训练阶段15%的开销也有压缩空间。 未来研究将聚焦更大规模模型( >1B参数)的训练验证、进一步降低计算开销,以及优化与旋转类量化方法的适配性。本研究开源的量化核函数(GitHub:mit-han-lab/fouroversix ),也为后续NVFP4量化技术的发展提供了重要基础,有望推动低精度LLM的工业化落地。

参考文献

突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得! 突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得! 突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得! 突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得! 突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得! 突破NVFP4量化性能瓶颈!MIT与NVIDIA提出Four Over Six开源方案:近BF16困惑度与<2%推理开销兼得!


关注“鲸栖”小程序,掌握最新AI资讯

本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:http://www.itsolotime.com/archives/15384

(1)
上一篇 2025年12月26日 下午12:17
下一篇 2025年12月27日 上午8:22

相关推荐

  • PaddleOCR-VL:文档理解新突破,复杂表格公式一键精准解析

    传统 OCR 工具在处理包含复杂表格、数学公式或多栏排版的文档时,往往输出杂乱,需要大量人工整理。近期,百度开源的 PaddleOCR-VL-0.9B 模型在文档理解任务上展现出了显著突破。 尽管其参数量仅为 9 亿,但该模型在全球权威评测基准 OmniDocBench v1.5 上取得了 92.6 的综合得分,位列榜首。在推理速度上,相比同类模型 Mine…

    2025年11月5日
    8100
  • LLM推理优化全景图:从基础设施到模型算法的全栈工程实践

    本文基于真实的企业级AI平台研发与实践经验,首次以“系统分层、功能解耦”的架构思想,自底向上地呈现一幅完整的LLM推理优化全景图。文章详细剖析了从基础设施层(GPU集群、高速网络、存储加速)的硬件基石,到平台与调度层(Kubernetes、高级调度器、KServe)的资源管理中枢,再到服务与容器层的微观优化,以及AI网关层作为智能流量枢纽的核心能力。最终,深入探讨了推理引擎与算法层的核心优化技术,包括KV缓存管理、连续批处理、模型压缩及创新的Prefill/Decode分离架构。

    2025年10月2日
    52912
  • 思维链太长拖慢推理?把它「画」进隐空间!新框架RoT探索大模型隐空间推理新范式

    在 LLM 时代,思维链(CoT)已成为解锁模型复杂推理能力的关键技术。然而,CoT 的冗长问题一直困扰着研究者——生成大量的中间推理文本步骤,带来了巨大的计算开销和显存占用,严重制约了推理效率。 为了解决这个问题,研究界近期尝试了「隐式 CoT」(Implicit CoT),即让模型在内部隐状态中完成推理,而不输出具体文本。这种方法虽然速度快,却是一个「黑…

    2026年1月23日
    2700
  • 清华&生数开源TurboDiffusion:视频生成加速200倍,实时创作时代来临

    在2025年末,一个全新视频生成加速框架的开源,宣告了“等待数分钟才能生成一个视频”的时代已经终结。 这个框架正是清华大学TSAIL团队与生数科技联合发布的TurboDiffusion。 其加速效果极为显著:在几乎不影响生成质量的前提下,主流视频生成模型在单张RTX 5090上生成5秒720p视频的速度可提升约200倍,同时一个5秒480p视频的生成时长能被…

    2025年12月26日
    9500
  • RAG延迟削减97%!REFRAG技术揭秘:压缩、感知、扩展三阶段实现效率飞跃

    传统RAG为何低效:冗余与延迟的根源 传统检索增强生成(RAG)流水线通常将检索到的多个文本片段直接拼接,作为上下文输入给大语言模型。然而,这些片段之间往往缺乏紧密的语义关联,导致模型在处理时需要为大量无关内容计算注意力权重。这不仅浪费了宝贵的计算资源,更关键的是,模型将大量时间耗费在了跨片段(cross-chunk)的、近乎无效的注意力计算上,效率低下。 …

    2025年11月26日
    8100