为了充分利用 AI,优化至关重要。当开发者考虑优化用于推理的 AI 模型时,通常会想到量化、蒸馏和剪枝等模型压缩技术。毫无疑问,这三者中最常见的是量化。这通常是由于其特定于任务的优化后准确性性能以及受支持的框架和技术的广泛选择。
然而,模型量化的主要挑战是模型智能或特定任务准确性的潜在损失,尤其是从 FP32 等更高精度的数据类型过渡到最新的 FP4 格式时。NVIDIA Blackwell 提供更高的灵活性,支持 FP64、FP32/TF32、FP16/BF16、INT8/FP8、FP6 和 FP4 数据格式。图 1 比较了 NVIDIA Ampere、Hopper 和 Blackwell GPU 中受支持的最小浮点数据类型和相应的密集/稀疏性能,展示了各代 GPU 中性能和数据类型支持的演变情况。

最新的第五代 NVIDIA Blackwell Tensor Cores 为各种超低精度格式铺平了道路,支持研究和现实世界的场景。表 1 比较了 NVIDIA Blackwell 支持的三种主要 4 位浮点格式 (FP4、MXFP4 和 NVFP4),重点介绍了结构、内存占用和准确性方面的关键差异。它说明了 NVFP4 如何基于早期格式的简单性构建,同时保持模型准确性。
特征 | FP4 ( E2M1) | MXFP4 | NVFP4 |
格式 结构 |
4 位 ( 1 个符号、2 个指数、1 个尾数) 加软件 scaling factor | 4 位 ( 1 个符号、2 个指数、1 个尾数) ,每 32 个值块 1 个共享的 power-of-two 尺度 | 4 位 ( 1 个符号,2 个指数,1 个尾数) 加 1 个共享 FP8 刻度 (每个 16 个值块) |
加速硬件扩展 | 否 | 是 | 是 |
显存 | 约 25% 的 FP16 | ||
准确性 | 与 FP8 相比,准确性有明显下降的风险 | 与 FP8 相比,准确性有明显下降的风险 | 降低准确率明显下降的风险,尤其是对于较大的模型 |
本文将介绍 NVFP4 这种先进的数据类型,并解释它如何专门用于帮助开发者在 Blackwell 上更高效地扩展,在超低精度下实现最佳准确性。
什么是 NVFP4?
NVFP4 是 NVIDIA Blackwell GPU 架构引入的创新 4 位浮点格式。NVFP4 建立在低位“微”浮点格式的概念之上,通过提供额外的格式可供选择,为开发者提供了更大的灵活性。
NVFP4 的结构类似于大多数浮点 4 位格式 (E2M1) ,这意味着它有 1 个符号位、2 个指数位和 1 个尾数位。格式中的值大约介于 -6 到 6 之间。例如,范围内的值可以包括 0.0、0.5、1.0、1.5、2、3、4、6 (负范围相同) 。
超低精度格式的关键挑战之一是在宽张量值的动态范围内保持数值准确性。NVFP4 通过两项架构创新解决了这一问题,使其在 AI 推理方面非常有效:
- 高精度比例编码
- 二级微块 scaling 策略
此策略对每个 16 值微块 (较大张量的紧凑子集) 应用细粒度 E4M3 缩放系数,同时还利用每个张量应用的二级 FP32 标量。这两个级别的缩放共同实现了更准确的值表示,并显著减少了量化误差 (图 2) 。

高精度缩放:编码更多信号,减少错误
为了从共享微块扩展中获得价值,NVFP4 使用 E4M3 FP8 精度对块进行编码。NVFP4 使用 E4M3 FP8 格式变体,可实现分数精度下的非二阶缩放系数。这种更高的灵活性支持对张量的实际分布进行更准确的编码。图 3 展示了一个全精度输入矩阵示例,以及使用 E8M0 和 E4M3 缩放得到的量化矩阵。

E4M3 具有更精确的缩放系数的缺点是缩放值范围缩小。这可以通过使用二级缩放系数来抵消。此二级缩放因子使用 FP32 在每个张量级别上完成 (如图 2 所示) ,它调整原始张量的分布,以便微块可以使用 E4M3 缩放因子有效编码。

图 4 中的动画是图 3 中矩阵转换的数字线表示。此示例将原始的全精度值 (以黄色圆圈表示) 映射到量化数据类型动态范围内的相应位置。优点图是在量化数据类型 E8M0 和 E4M3 中,从原始值到其表示的映射的平均均方误差 (MSE) 。E4M3 的 MSE 平均值为 0.08,因此 MSE 越低越好。
E4M3 之所以能够“平均表现更好”,是因为它会选取一个分数刻度,这样,当对所有 16 个值的平方 (或绝对) 误差求和时,总误差通常小于 E8M0-量化块。换言之:
- E8M0 = 将比例系数捕捉至最接近的 2ⁿ,这可能会导致块最大值 (amax) 出现较大的量化误差,并且通常会导致块的整体量化误差更大。
- E4M3 = 找到一个比例系数,使块误差总体尽可能小 (通常提高块最大值 (amax) 的准确性) ,尽管某些值的准确性可能稍低,但块作为一个整体保留了更高的保真度。
您可能会问自己,我们为什么要使用 E8M0?答案是,简单性是最高优先级。E8M0 刻度因子降低了计算复杂性 (即不需要额外的每张量软件缩放因子) ,并且对于对刻度因子精度不太敏感的激活和权重来说也是足够的。E4M3 会根据每个小的值块调整其缩放系数,从而在更大的输入范围内实现更精细的拟合。这种额外的灵活性意味着,在使用 NVFP4 量化为 4 位时,整体舍入误差较低,模型智能得以保留。
NVIDIA Blackwell 第五代 Tensor Core 架构可实现 NVFP4,并能自动处理微缩 FP4 数据,包括元件分组、动态缩放和 4 位矩阵运算。
微块扩展可实现高效的模型压缩
NVFP4 的另一个关键组件是块浮点表示,其中微块共享一个共同的 scaling factor。通过将组大小从 32 个元素缩减到每个块 16 个值,NVFP4 实现了比 MXFP4 更细粒度的 scaling。
AI 模型中的大张量通常会混合使用大大小小的数字,而单个“总括性”扩展可能会导致严重的量化错误,从而降低模型性能。NVFP4 中更紧密的分组可提供两倍于数据的局部动态范围的匹配机会,从而显著减少这些错误。
为了更好地了解 NVFP4 如何提高量化准确性,可以直接将其与前代产品 MXFP4 进行比较。这两种格式都依赖于分组的值块和共享的比例系数,但 NVFP4 的一项关键创新在于其更小的块大小和强大的可扩展性。通过将块大小从 32 个值减半为 16 – NVFP4,可以更本地化地适应数据的动态范围。这使得在模型权重或激活函数中保留微小但重要的差异变得更加容易。图 5 说明了这在实践中的工作原理。

它是如何运作的?在每个 16 个值块内,每个 4 位编码值 (范围在 -6 到 +6 之间) 都使用以下方法进行扩展:
在此方程中, 是更高精度的 FP8 (E4M3) 刻度,经动态计算可更大限度地减少整体块误差。通过为每组 16 个元件重新计算
,NVFP4 可更大限度地减少 4 位精度下的量化误差,同时与更高精度的格式相比,仍可显著降低内存和计算复杂性。这种结构使 NVFP4 不仅是一种低精度格式,而且在保留模型智能方面取得了重大进展。
NVFP4 与 FP8 的对比:模型性能和内存效率
量化优势由两个因素驱动:减少内存负担和简化计算操作。这两个因素可以减轻内存带宽的压力,从而提高输出 token 吞吐量。它还可以通过简化注意力层计算来改善整体端到端延迟性能,从而在预填充过程中获得直接优势。如需深入了解这些指标及其对整体推理性能的影响,请参阅LLM推理基准测试:基本概念。
模型性能
推理性能优化必须努力保护模型智能,这是 NVFP4 旨在实现的平衡。这就是 NVFP4 的承诺:量化到 4 位的机会,并在对模型精度影响最小的情况下实现显著的推理性能。图 6 通过比较 DeepSeek-R1-0528 在七个不同评估中的准确度来说明这一点,突出显示了模型的 FP8 和 NVFP4 量化版本之间最小的准确度差异。

该分析显示,当使用训练后量化 (PTQ) 从原始 FP8 格式量化为 NVFP4 时,DeepSeek-R1-0528 的关键语言建模任务的准确度下降了 1% 或更低。在 AIME 2024 中,NVFP4 的准确率甚至提高了 2%。
显存
FP8 由 Hopper 和 Blackwell 提供支持,与之前支持的最小 16 位浮点数据类型 FP16/BF16 相比,在显存和延迟/吞吐量方面具有显著优势。现在,NVFP4 为 Blackwell 上的 AI 工作负载提供了一种精确且紧凑的数据类型。NVFP4 可存储一个 4 位值,加上每 16 个值一个 FP8 刻度(每个值 4.5 位)的轻微开销,以及每个张量一个 FP32 的二级扩展系数。与 FP16 相比,模型显存占用减少了约 3.5 倍,与 FP8 相比减少了约 1.8 倍。
当将此分析扩展到 NVIDIA GB300 NVL72 机架级系统时,该系统包含 36 个 Grace Blackwell Ultra 超级芯片(每个芯片都配备一个 NVIDIA Grace CPU 和两个 NVIDIA Blackwell Ultra GPU),每个系统的总内存预算将增加到 40 TB。HBM 和 Grace 的内存预算与 NVFP4 的内存大小和准确性优势相结合,为大规模 AI 推理部署带来了显著优势,尤其是在克服测试时扩展带来的挑战方面。
FP4 能效
降低精度不仅可以加快推理速度并减少内存占用,还可以提高每瓦性能。与更高精度的数据类型相比,每个 4 位运算所需的数据移动和运算能耗更少。Blackwell Tensor Core 架构中的液冷和 FP4 支持等创新使 Blackwell 和 Blackwell Ultra 能够实现显著的能效提升,与 NVIDIA H100 Tensor Core 基准相比,分别提升高达 25 倍和 50 倍,如图 7 所示。

开始使用 NVFP4
推理生态系统正在迅速采用 NVFP4 精度,以满足不断增长的 AI 需求。如果您希望将模型量化为 NVFP4,NVIDIA TensorRT Model Optimizer 和 LLM Compressor 均提供了简化的工作流。现在,您可以更轻松地应用 PTQ、QAT 和其他高级量化技术,将模型量化为 NVFP4。
量化后,NVFP4 模型可以轻松导出到统一 Hugging Face 检查点,并部署在 NVIDIA TensorRT-LLM 和 vLLM 上,后者提供早期的 NVFP4 支持,并即将在 SGLang 中提供支持。这些框架是采用 NVFP4 精度的快速扩展生态系统的一部分。TensorRT Model Optimizer 还支持量化非 LLM 模型,并导出为 ONNX 格式。您也不必从头开始:Hugging Face 已经托管了可随时部署的 NVFP4 预量化检查点,包括一些热门检查点:DeepSeek-R1-0528、Llama 3 和 FLUX.1-dev。
无论是从头开始优化,还是采用预量化模型,NVFP4 在现实世界部署中的势头越来越强,更多教程和代码示例即将推出。敬请关注。