INT v.s. FP: A Comprehensive Study of Fine-Grained Low-bit Quantization Formats
TL;DR 精炼摘要
本研究系统比较了低位量化格式中的浮点数(FP)和整数(INT),填补了行业内缺乏统一对比的空白。结果显示,对于8位细粒度格式,MXINT8在算法精度和硬件效率上优于FP;而在4位格式中,FP常具精度优势,但结合异常值缓解技术后,NVINT4表现更佳。引入的对称裁剪方法有效解决了细粒度INT训练中的梯度偏差问题,挑战了FP的广泛使用,证明细粒度INT格式在未来AI加速器设计中更具潜力。
摘要
Modern AI hardware, such as Nvidia's Blackwell architecture, is increasingly embracing low-precision floating-point (FP) formats to handle the pervasive activation outliers in Large Language Models (LLMs). Despite this industry trend, a unified comparison of FP and integer (INT) quantization across varying granularities has been missing, leaving algorithm and hardware co-design without clear guidance. This paper fills that gap by systematically investigating the trade-offs between FP and INT formats. We reveal a critical performance crossover: while FP excels in coarse-grained quantization, the comparison at fine-grained (block-wise) levels is more nuanced. Our comprehensive comparison demonstrates that for popular 8-bit fine-grained formats (e.g., MX with block size 32), MXINT8 is superior to its FP counterpart in both algorithmic accuracy and hardware efficiency. However, for 4-bit formats, FP (e.g., MXFP4, NVFP4) often holds an accuracy advantage , though we show that NVINT4 can surpass NVFP4 when outlier-mitigation techniques like Hadamard rotation are applied. We also introduce a symmetric clipping method that resolves gradient bias in fine-grained low-bit INT training, enabling nearly lossless performance for MXINT8 training. These findings challenge the current hardware trajectory, demonstrating that a one-size-fits-all FP approach is suboptimal and advocating that fine-grained INT formats, particularly MXINT8, offer a better balance of accuracy, power, and efficiency for future AI accelerators.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
INT v.S. FP: A Comprehensive Study of Fine-Grained Low-bit Quantization Formats (INT 对比 FP:细粒度低位量化格式的全面研究)
1.2. 作者
Mengzhao Chen 等人,主要来自香港大学 (The University of Hong Kong)、字节跳动(ByteDance Seed)和 PicoHeart。其中 † 标记的作者为通信作者。
1.3. 发表期刊/会议
预印本(ArXiv preprint)。
1.4. 发表年份
2025年(Published at UTC: 2025-10-29T15:11:53.000Z)。
1.5. 摘要
现代人工智能硬件,如英伟达(Nvidia)的 Blackwell 架构,正日益倾向于采用低精度浮点数(FP)格式来处理大语言模型(LLMs)中普遍存在的激活异常值(activation outliers)。尽管存在这种行业趋势,但目前仍缺乏针对不同粒度下 FP 和整数(INT)量化格式的统一比较,使得算法和硬件协同设计缺乏明确指导。本文填补了这一空白,系统地研究了 FP 和 INT 格式之间的权衡。我们揭示了一个关键的性能交叉点:虽然 FP 在粗粒度量化中表现出色,但在细粒度(块级)层面的比较则更为微妙。我们的全面比较表明,对于流行的 8 位细粒度格式(例如,块大小为 32 的 MX 格式),MXINT8 在算法精度和硬件效率上均优于其 FP 对应格式。然而,对于 4 位格式,FP(例如 MXFP4、NVFP4)通常具有精度优势,尽管我们展示了当应用如 Hadamard 旋转(Hadamard rotation)等异常值缓解技术时,NVINT4 可以超越 NVFP4。我们还引入了一种对称裁剪(symmetric clipping)方法,解决了细粒度低位 INT 训练中的梯度偏差问题,使得 MXINT8 训练能够实现近乎无损的性能。这些发现挑战了当前的硬件发展轨迹,表明一刀切的 FP 方法并非最优,并主张细粒度 INT 格式,特别是 MXINT8,为未来的 AI 加速器提供了更好的精度、功耗和效率平衡。
1.6. 原文链接
- 原文链接: https://arxiv.org/abs/2510.25602v1
- PDF 链接: https://arxiv.org/pdf/2510.25602v1.pdf 该论文目前处于预印本状态(v1),尚未经过同行评审正式发表。
2. 整体概括
2.1. 研究背景与动机
- 论文试图解决的核心问题是什么? 当前 AI 硬件设计中,低精度浮点数(FP)格式因其动态范围优势,被普遍认为是处理大语言模型(LLMs)中激活异常值(activation outliers)的首选,例如英伟达 Blackwell 架构的趋势。然而,缺乏对 FP 和整数(INT)量化格式在不同量化粒度下(特别是细粒度量化)的系统性、统一比较,导致算法和硬件协同设计缺乏清晰的指导。论文旨在填补这一研究空白,明确 FP 和 INT 在不同场景下的优劣。
- 为什么这个问题在当前领域是重要的?现有研究存在哪些具体的挑战或空白(Gap)?
- LLMs的计算与内存需求: LLMs 的快速发展带来了巨大的计算和内存开销,量化(quantization)是缓解这些开销的关键技术。
- 激活异常值的挑战: LLMs(特别是 Transformer 架构)中的激活异常值对低精度表示提出了严峻挑战,因为这些异常值幅值大但出现频率低,难以用有限的位宽精确表示。
- 行业趋势的片面性: 尽管硬件行业广泛采纳 FP 格式来应对异常值,但这种趋势建立在不完整的比较之上。大多数现有研究只关注单一格式(FP 或 INT)或仅在粗粒度(per-tensor 或 per-channel)下进行比较,未能深入分析随着量化粒度变得更细(例如块级量化)时,FP 和 INT 性能如何演变。
- 缺乏协同设计指导: 这种知识空白阻碍了算法和硬件工程师进行有效的协同设计,无法为特定应用场景选择最优的数值格式。
- 这篇论文的切入点或创新思路是什么? 本文的创新点在于进行了一项全面、系统、细粒度的 FP 和 INT 量化格式比较研究。它不仅在理论层面建模量化信噪比(QSNR),还在实践中通过直接推断和低位训练,以及硬件成本分析,深入探讨了两者在不同位宽(8位和4位)和块大小下的性能权衡。特别地,它引入了新的对称裁剪方法来优化 INT 训练,并评估了异常值缓解技术(如 Hadamard 旋转)对不同格式的影响。
2.2. 核心贡献/主要发现
- 论文最主要的贡献是什么?
- 揭示性能交叉点: 首次系统性地揭示了 FP 和 INT 量化格式之间存在一个关键的性能“交叉点”。FP 在粗粒度量化中优势明显,但在细粒度(块级)场景下,INT 格式可能更具竞争力。
- MXINT8 的优越性: 明确证明了对于流行的 8 位细粒度格式(如 MX 格式,块大小 32),
MXINT8在算法精度和硬件效率两方面均优于其 FP 对应格式MXFP8。 - 4 位格式的细致分析: 对于 4 位格式,尽管 FP(如
MXFP4,NVFP4)通常具有精度优势,但通过结合异常值缓解技术(如Hadamard rotation),NVINT4能够超越NVFP4。 - 对称裁剪方法: 提出了一种对称裁剪方法,解决了细粒度低位
INT训练中的梯度偏差问题,使得MXINT8能够实现近乎无损的训练性能。 - 硬件成本量化: 提供了详细的硬件成本分析,证实了在相同吞吐量下,细粒度
INT格式在面积和能量效率上显著优于FP格式。
- 论文得出了哪些关键的结论或发现?这些发现解决了什么具体问题?
- 结论: 论文挑战了当前 AI 硬件领域普遍倾向于 FP 格式的“一刀切”做法,认为这是次优的。它主张未来的
AI加速器应重新评估并优先考虑细粒度INT格式(尤其是MXINT8),因为它能在精度、功耗和效率之间提供更好的平衡。 - 解决了问题:
- 为算法和硬件协同设计提供了明确的指导,指出了在特定量化粒度和位宽下,哪种数值格式是更优选择。
- 证明了
INT格式并非总是次于FP,特别是在配合细粒度量化和适当优化(如对称裁剪、异常值缓解)时,其潜力巨大。 - 为
AI加速器的设计提供了新的方向,鼓励在追求性能的同时,更加注重能效和成本。
- 结论: 论文挑战了当前 AI 硬件领域普遍倾向于 FP 格式的“一刀切”做法,认为这是次优的。它主张未来的
3. 预备知识与相关工作
3.1. 基础概念
- 量化 (Quantization):
- 概念定义: 量化是将高精度数值(例如
FP32或BFloat16)映射到较低位宽表示的过程,通常是整数或低精度浮点数。其主要目标是减少模型在存储和计算时的内存占用和计算量,从而提高推理速度和能效。 - 原理: 通常通过引入一个比例因子(
scale factor)和一个零点(zero-point)将浮点值线性映射到整数范围,或直接截断到低精度浮点格式。
- 概念定义: 量化是将高精度数值(例如
- 低精度整数格式 (Low-Precision Integer Formats, INT):
- 概念定义: 使用定点数表示,通常在有限的位宽内(如 8 位、4 位)表示数值。
INT格式的特点是其精度是均匀分布的(uniform precision),即数值范围内的每个步长都是恒定的。 - 优势: 硬件实现成本低,计算速度快,功耗低。
- 挑战: 动态范围有限,容易受到异常值(outliers)的影响,导致精度损失。
- 概念定义: 使用定点数表示,通常在有限的位宽内(如 8 位、4 位)表示数值。
- 低精度浮点格式 (Low-Precision Floating-Point Formats, FP):
- 概念定义: 使用浮点数表示,由符号位、指数位和尾数位组成。例如,
FP8、FP4。FP格式的特点是其精度是相对的(relative precision),即数值越小,表示的精度越高;数值越大,表示的精度越低,但其动态范围更广。 - 优势: 动态范围宽,能够更好地表示大数值和异常值,减少裁剪(clipping)误差。
- 挑战: 硬件实现成本相对较高,计算速度和能效通常不如
INT格式。
- 概念定义: 使用浮点数表示,由符号位、指数位和尾数位组成。例如,
- 激活异常值 (Activation Outliers):
- 概念定义: 在
LLMs的激活值(activation)分布中,存在少量但数值非常大的元素。这些元素被称为激活异常值。 - 影响: 这些异常值会极大地扩展激活值的动态范围,使得低精度量化(特别是
INT格式)难以在不损失精度的情况下表示整个范围。如果量化范围过小,异常值会被裁剪;如果量化范围过大,大部分非异常值的精度会降低。
- 概念定义: 在
- 量化粒度 (Quantization Granularity):
- 概念定义: 指的是在量化过程中,共享同一个比例因子(
scale factor)的数值组的大小。不同的粒度会影响量化误差和硬件开销。 - 常见类型:
Per-tensor: 整个张量共享一个比例因子。最粗粒度。Per-channel: 张量的每个通道共享一个比例因子。Block-k: 张量被划分为小的 块,每个块都有自己的比例因子。这是一种细粒度量化。
- 作用: 细粒度量化(如
Block-k)能更精确地捕捉局部动态范围,从而减少量化误差,尤其对含有异常值的张量效果显著。
- 概念定义: 指的是在量化过程中,共享同一个比例因子(
- 峰值因子 (Crest Factor, ):
- 概念定义: 衡量数据分布中异常值突出程度的指标。它定义为张量中最大绝对值与均方根(
RMS)的比值。 - 数学公式:
- 符号解释:
- : 张量 中元素的最大绝对值。
- : 张量 的均方根(
RMS),即 。
- 作用: 高峰值因子意味着存在显著的异常值。降低峰值因子有助于减轻异常值对量化的负面影响。
- 概念定义: 衡量数据分布中异常值突出程度的指标。它定义为张量中最大绝对值与均方根(
- 量化信噪比 (Quantization Signal-to-Noise Ratio, QSNR):
- 概念定义: 衡量量化系统数值保真度的指标。它表示原始信号的功率与量化引入的噪声功率的比值,通常以分贝(
dB)表示。QSNR值越高,表示量化后的信号与原始信号的相似度越高,精度损失越小。 - 数学公式:
- 符号解释:
- : 原始高精度张量。
- : 量化并反量化后的张量。
- : L2 范数的平方,表示信号或噪声的功率。
- : 以 10 为底的对数。
-10: 用于将比值转换为dB单位。
- 概念定义: 衡量量化系统数值保真度的指标。它表示原始信号的功率与量化引入的噪声功率的比值,通常以分贝(
3.2. 前人工作与技术演进
- LLMs 量化需求: 随着大语言模型(LLMs)的规模不断扩大,其计算和内存需求也急剧增加。为了在资源有限的设备上高效部署这些模型,量化技术变得不可或缺。早期的量化研究主要集中在模型推理加速,例如后训练量化(Post-Training Quantization, PTQ)和量化感知训练(Quantization-Aware Training, QAT)。
- 异常值问题: 针对 LLMs 中的激活异常值问题,以往的工作(如 [12, 38])已经识别到其对低精度表示的挑战。这些异常值使得传统的均匀量化(如 INT 格式)难以在有限位宽内同时兼顾动态范围和精度。
- FP8/FP4 的兴起: 为了应对异常值带来的宽动态范围,AI 硬件行业(如 [31])开始转向低精度浮点(FP)格式,如 FP8 和 FP4。例如,NVIDIA 的 Blackwell 架构就明确支持这些格式,利用 FP 格式固有的宽动态范围来更优雅地处理异常值。
- 细粒度量化: 为了进一步提高低位精度,细粒度量化技术(如
block-wise quantization)被提出并成为标准实践 [32, 34]。OCP(Open Compute Project)提出的Microscaling (MX)格式就是其中一例,它对每个 32 元素的块使用共享的UE8M0比例因子。NVIDIA 也提出了NVFP4,将块大小减小到 16,并使用E4M3比例因子。 - 低位训练: 除了推理,近期的研究也开始关注低位训练 [9, 27, 39],以加速模型训练过程。这些工作多数集中在 FP8 训练,证明其可以实现近乎无损的性能。
- Hadamard 旋转: 作为一种异常值抑制技术,
Hadamard rotation[2] 被应用于量化中,通过旋转数据空间来分散异常值,从而降低峰值因子,改善量化效果。
3.3. 差异化分析
本文的工作与上述前人工作的主要区别和创新点在于:
- 系统性与统一性比较: 多数现有研究(如 [6, 2, 41])集中于单一格式或仅在粗粒度下进行比较,而本文首次提供了
FP和INT格式在不同量化粒度下(从粗粒度到细粒度块级)的全面、系统、统一的比较框架。 - 性能交叉点的揭示: 论文通过理论分析和实证研究,明确揭示了
FP和INT格式在性能上的“交叉点”。这为算法和硬件设计提供了更精细的指导,而非简单地认为FP总是优于INT。 MXINT8的优势论证: 挑战了当前硬件以FP为中心的趋势,有力地论证了细粒度MXINT8格式在 8 位场景下,无论从精度还是硬件效率来看,都优于MXFP8。这直接对抗了NVIDIA Blackwell等架构的FP策略。INT训练的创新优化: 引入了一种新的对称裁剪方法(symmetric clipping),有效解决了细粒度低位INT训练中梯度偏差的问题,从而使MXINT8训练能够达到近乎无损的性能。这与先前主要关注FP8训练的工作形成对比。Hadamard rotation的细致评估: 详细评估了Hadamard rotation对INT和FP格式在 4 位量化中的影响,并展示了NVINT4在此技术加持下超越NVFP4的潜力。- 综合硬件成本分析: 不仅比较了算法精度,还深入分析了
INT和FP格式在MAC单元、解量化器和累加器等方面的硬件面积和能量成本,为硬件设计提供了更全面的评估依据。
4. 方法论
本论文主要通过理论分析(QSNR 建模)、实验验证(直接推断和低位训练)以及硬件成本分析来比较 INT 和 FP 格式。
4.1. 量化计算流程
论文首先介绍了低位推断和训练中线性层的计算流程,强调了前向和后向传播中的量化操作。
4.1.1. 前向传播
对于给定的高精度(例如 BFloat16)激活值 和权重 ,量化线性层的前向传播表示为:
这里, 函数将高精度张量映射到低位表示。 和 分别表示对激活值 和权重 的量化操作。这种量化发生在 GEMM(通用矩阵乘法)运算之前,将输入和权重转换为低位格式,以利用低位硬件的加速能力。
4.1.2. 后向传播
在后向传播中,为了计算损失对输入 的梯度 和对权重 的梯度 ,也需要进行量化操作:
其中,
-
:输出 的梯度。
-
:权重 的转置。
-
:激活值 的转置。
-
和 对应于对梯度 的量化(及其转置), 对应于对转置权重 的量化, 对应于对转置激活值 的量化。
关键点: 块级量化(
Block-wise quantization)是提高低位精度的一种重要技术。为了获得硬件效益,它要求张量沿着GEMM约简维度(reduction dimension)进行量化。这意味着在不同的GEMM运算中,需要对张量的不同副本(或其转置)沿不同的轴进行量化。因此,操作 和 (与 相关)、 和 (与 相关),以及 和 (与 相关)将沿着不同的轴进行量化。
下图(原文 Figure 1)展示了低位前向和反向传播的计算流程,其中数字标注对应上述公式中的量化操作:
该图像是示意图,展示了线性层低位前向和反向传播的计算流程。图中分为前向传播和反向传播两部分,前向传播中包含输入 和权重 的量化过程,后接 GEMM 运算以生成输出 。反向传播部分则显示了梯度 dY 的量化及对应的生成 dX 和 dW 的过程。整体展示了低位量化在计算中的应用。
4.2. 量化操作细节
4.2.1. 低精度整数格式 (Low-Precision Integer Formats)
对于 位整数量化,高精度张量 被映射到较低位宽的整数表示,然后反量化(dequantized)回一个近似原始范围的值 。这个过程定义为:
- :原始的高精度输入张量。
- :比例因子(
scale factor),一个浮点数。它用于将原始浮点值 的范围映射到目标整数范围。 - :将原始值 归一化。
- :表示四舍五入到最近的整数(
round-to-nearest)。这一步将归一化后的浮点值转换为整数。 - :裁剪函数。它确保量化后的整数值落在目标整数表示的有效范围内 。例如,对于 位有符号整数,通常 且 。
- :反量化步骤。将裁剪后的整数值乘以比例因子 ,将其重新映射回近似原始的浮点范围,得到 。
4.2.2. 低精度浮点格式 (Low-Precision Floating-Point Formats)
浮点数表示使用三个字段来编码数值:符号位()、指数位()和尾数位()。一个格式通常表示为 ExMy,其中 是指数位的数量, 是尾数位的数量。
一个浮点数的解码方式(将其位表示转换为实际数值)为:
-
:表示该低精度浮点格式所有可表示数值的集合。
-
: 符号位的值(0 表示正,1 表示负)。
-
: 指数位的值。
-
: 尾数位的值。
-
bias: 指数偏移量,用于将指数 映射到有符号的实际指数值。 -
: 规格化(
Normal)数的尾数表示,隐含一个前导 1。例如,如果 是01,则表示1.01。 -
: 次正规(
Subnormal)数(也称非规格化数)的尾数表示,用于表示非常接近零的数值,此时指数 全为 0。浮点量化操作将高精度值 量化为低精度浮点数,然后反量化回 :
- :将归一化后的值 映射到 中最近的浮点表示。
- : 比例因子。在浮点量化中,比例因子通常用于将原始值的范围映射到目标
FP格式的有效动态范围。 - 值得注意的是,公式 (3) 是一个通用的量化形式,通过将 替换为整数可表示值的集合 即可恢复整数量化。
4.2.3. 比例因子计算 (Scale Factor Computation)
比例因子 在量化中至关重要,它决定了如何将高精度浮点范围映射到低精度表示。本文主要使用 AbsMax 量化器计算 :
- :在共享同一比例因子(例如,一个块、一个通道或整个张量)的一组值中的最大绝对值。
Q _ { m a x }:目标量化类型(INT或FP)的最大可表示值(参见原文 Table 1)。 这个公式的目的是将高精度张量中具有最大幅值的元素精确地映射到低精度表示的最大可表示值,从而在不进行裁剪(clipping)的情况下最大化利用低精度范围。
对于 Microscaling (MX) 格式,其比例因子通常存储为 UE8M0 格式(无符号 8 位指数,0 位尾数),即 2 的幂次。传统的 UE8M0 比例因子 的计算方式如下:
- : 向下取整。 这个公式旨在找到最接近 的 2 的幂次,但向下取整会引入额外的裁剪误差。
为了避免这种误差,本文遵循现有工作(如 [9, 27, 39]),通过将 (由公式 (7) 获得)的对数向上取整,来计算 UE8M0 比例因子 :
- : 向上取整(
rounding up)。 - : 确保指数在 范围内。
这种向上取整的策略可以保证 ,从而尽可能避免上行裁剪(
upper clipping),即使可能导致一些冗余的动态范围。
4.2.4. 对称裁剪方法 (Symmetric Clipping Method)
在整数量化中,有符号整数(two's complement)的表示范围通常是非对称的。例如,对于 8 位有符号整数,其范围是 。论文发现,这种非对称范围在推理时通常不会显著影响性能。然而,在训练过程中,它会导致持续的负梯度偏差,从而降低 INT8 训练的性能。细粒度量化由于每个块的独立量化,更容易出现这种情况,因为有更多机会遇到映射到最小值 -128 的情况。
为了解决这个梯度偏差问题,本文引入了对称整数范围:
- : 位宽。
Q _ { m i n }和Q _ { m a x }:量化后的最小和最大可表示整数值。 通过这个定义,整数范围关于零对称。例如,对于INT8,范围变为 ,从而消除了负方向上多出的一个值,避免了训练中的梯度偏差。
下图(原文 Figure 2)展示了裁剪范围对 INT8 最终训练损失的影响,强调了非对称表示空间对低位训练的危害。蓝线 显示了损失的持续升高,而橙线 则与 BF16 基线保持一致,证明了对称裁剪的有效性:
该图像是一个图表,展示了不同量化粒度下,INT8格式在145M模型与20B训练token上最终训练损失的影响。蓝色线表示MXINT8在范围[-128, 127]下的表现,橙色线为范围[-127, 127]下的表现,基准线为BF16。
4.3. 理论 QSNR 框架 (Theoretical QSNR Framework)
为了系统比较 INT 和 FP 格式,论文提出了一个理论框架来建模量化信噪比(QSNR),从而在理论层面分析它们的性能权衡。
4.3.1. 共同假设和符号 (Common Assumptions and Notation)
- 块向量假设: 考虑块向量 ,其中包含 个元素。这些元素被假定为独立同分布(
i.i.d.),且服从均值为 0、方差为 的正态分布,即 。 - 块均方根 (RMS): 块的
RMS值近似等于 。 - 峰值因子 (Crest Factor): 定义为 。它衡量了数据分布中极端值相对于平均幅值的程度。
- 块级绝对最大值缩放 (Blockwise AbsMax Scaling): 量化使用块级的
AbsMax缩放,比例因子表示为 。- : 来自公式 (7) 计算出的高精度比例因子。
- : 模拟低精度比例因子的开销。例如,
UE8M0比例因子由于是 2 的幂次,可能导致实际比例因子略大于理想比例因子,此时 。对于NV格式中使用的E4M3比例因子,它能更精确地表示,因此 。 - 选择 的比例因子是为了避免上行裁剪。
- 理想比例因子: 理想情况下, 应该将块中的最大绝对值映射到目标格式的最大可表示值 :
- 对于
INT(b)(对称整数,例如 ):。 - 对于
FP(E, M, B):,即目标FP格式的最大有限正常幅值(例如,E4M3的 )。
- 对于
- QSNR 定义:
QSNR定义为:- :原始信号的期望功率。
- : 量化噪声的期望功率。
- 除非另有说明,期望计算涵盖数据和量化随机性。
4.3.2. 定理 1 (INT QSNR)
在 位 INT 量化下,量化信噪比(QSNR,单位 dB)近似为:
- : 整数的位宽。
- : 比例因子开销。对于
UE8M0缩放,。 - : 峰值因子。
- : 量化块的大小(
block size)。
推导概述:
- 量化步长: 对于对称均匀量化器,有效量化步长 。
- 误差模型: 在标准高分辨率模型下 [3],量化误差 服从均匀分布,且 , 。
- QSNR 表达式:
- 的替换: 将 代入,其中 。
- UE8M0 Scale 形式: 得到 。
- E4M3 Scale 形式: 对于
E4M3缩放,,且由于块中有一个元素(最大值)可以实现(接近)无误差映射,因此引入了一个修正项 。
定理 1 解释:
- 位宽效应: 每增加一个位宽 ,
QSNR增加约 6.02 dB,这反映了量化精度随着位宽增加而线性提升。 - 比例因子开销:
UE8M0缩放()引入的 项会导致高达 6.02 dB 的QSNR损失,这是由于比例因子必须是 2 的幂次所带来的额外裁剪。 - 峰值因子影响: 较大的峰值因子 会降低
QSNR,因为异常值会迫使量化范围扩大,导致非异常值的量化步长变大。相反,更小的块通常会降低 ,从而改善QSNR。 - E4M3 Scale 增益:
E4M3缩放由于其更高的精度,使得 (无额外开销),并且由于每个块中有一个(几乎)无误差的元素,带来了额外的QSNR增益。
4.3.3. 定理 2 (FP QSNR)
在 FP 量化下,量化信噪比(QSNR,单位 dB)近似为:
其中,
- :与尾数位数 相关的误差系数。
- :与指数偏移量 、尾数位数 和最大可表示值 相关的误差系数。
- :信号能量落在正常(
normal)浮点数区域的比例。 - :值被编码为次正规(
subnormal)数的概率。 - :正常浮点数的下限。
推导概述:
- 误差分解:
FP量化误差分解为正常区域(normal region)和次正规区域(subnormal region)的贡献。 - 正常区域误差: 在正常区域,相对误差是固定的,导致绝对误差与信号幅值成比例。误差方差 。
- 次正规区域误差: 在次正规区域,量化步长是固定的,导致误差方差 。
- 总误差: 将两部分误差加权求和并除以信号功率 得到相对均方误差 。
- QSNR 表达式:
QSNR等于 。 - E4M3 Scale 形式: 对于
E4M3缩放,,并且通过从正常区域误差中减去 来修正最大值贡献。
定理 2 解释:
-
尾数位宽效应: 尾数位宽 决定了
FP QSNR的上限。在动态范围充足(w _ { \mathrm { n o r m } } \approx 1$ \text{且}p _ { \mathrm { s u b } } \approx 0``)的情况下,QSNR近似为13.80 + 6.02M\$dB,这表明FP` 的精度主要由尾数位决定,且与块粒度和数据分布无关。 -
峰值因子和次正规数: 较大的峰值因子 会增加次正规数的比例(),从而降低
QSNR,因为次正规数的精度较低。更细粒度的块能降低 ,减少次正规数的影响,从而提高QSNR。 -
E4M3 Scale 优化:
E4M3缩放没有 开销,并且由于能够更精确地处理块最大值,有效地减少了正常区域中的误差能量(通过减去 项)。下图(原文 Figure 3)展示了理论
QSNR在不同整数和浮点格式下与峰值因子 的比较,并用方框标注了INT和FP曲线的交叉点及其对应的峰值因子和QSNR值:
该图像是理论QSNR在不同整数(INT)和浮点(FP)格式下与峰值因子 u ext{(crest factor)}的比较图。图中展示了不同格式在不同峰值因子下的QSNR值以及交叉点的标注。
4.3.4. 理论比较 (Theoretical Comparisons)
根据定理 1 和定理 2,论文可以估计给定位宽和目标数据分布(通过 )下低位整数和浮点格式的 QSNR。在这些理论模型中,假设 来模拟 UE8M0 比例因子的开销。理论比较结果如下:
-
MXINT8vs.MXFP8:MXFP8的QSNR变化相对平稳,因为它具有宽广的动态范围和由尾数位决定的精度上限。理论上,当峰值因子 时,MXINT8优于MXFP8。 -
MXINT6vs.MXFP6:MXFP6在较小的 值下具有与MXFP8相似的QSNR,因为两者都使用三个尾数位。然而,当 增加时,MXFP6的QSNR因动态范围受限而迅速下降。只有当 时,MXINT6才优于MXFP6。 -
MXINT4vs.MXFP4: 当 时,MXINT4理论上优于MXFP4。 -
NVINT4vs.NVFP4: 当 时,NVINT4优于NVFP4。一个有趣的现象是,当 时,NVFP4的QSNR甚至会增加。这可以用定理 2 解释:较大的 会减少正常域的相对误差,但会增加次正规域的相对误差。在相对较小的 区域(如 ),正常域的误差占主导,因此 的增加反而可能提升NVFP4的QSNR。结论: 理论分析表明,在比较
FP和INT格式时,数据的峰值因子 是一个关键决定因素。不同的格式在不同的 阈值下有性能交叉,这意味着没有一种格式在所有情况下都是最优的。
4.4. 硬件成本建模 (Hardware Cost Modeling)
论文开发了一个紧凑的门级模型来估计低精度 GEMM 引擎的芯片面积和能量成本。这个模型旨在提供不同数值格式在硬件实现方面的相对成本比较。
4.4.1. 范围与假设 (Scope and Assumptions)
GEMM引擎组件: 一个典型的低位GEMM引擎由四个主要组件构成:量化器(quantizer)、乘累加单元(MAC unit)、解量化器(dequantizer)和FP32累加器(accumulator)。- 模型焦点: 为了隔离乘法和累加所带来的成本,该模型仅核算了
MAC单元、共享FP32累加器和解量化器的成本。量化器被排除在所有成本计算之外,因为在MX/NV格式中,量化通常由VPU(Vector Processing Unit)通过移位/除法和舍入实现,并且其成本相对独立。 - 解量化器融合: 累加流水线可以将解量化融合为
UE8M0比例因子的两次 8 位整数加法,或E4M3比例因子的两次浮点乘法。 - 标准单元库: 默认的单元因子(
cell factors)来源于TSMC FinFET标准单元库,用于估计面积和能量。 - 模型简化: 模型仅考虑组合逻辑,忽略时序元件、布局布线和互连,以提供技术感知(
technology-aware)的相对比较,而非绝对的物理实现成本。 - FP32 累加: 累加器使用
FP32精度,以防止在多次累加过程中误差增长并保持结果的可扩展性。
4.4.2. 设计选择:FP32 累加与 MMU 集成 (Design Choice: FP32 Accumulation and MMU Integration)
- 高吞吐量
MMU: 类似于TPU[28] 中的设计,高吞吐量矩阵乘法单元(Matrix-Multiply Unit,MMU)集成了乘累加数据路径和下游累加功能,以提高性能和能效。 FPvs.INT乘法器/加法器: 在相同标称位宽下,FP乘法器通常比INT乘法器在面积和能量上更高效。然而,FP加法器由于需要进行指数比较/减法、尾数对齐和归一化等操作 [45],通常比INT加法器更昂贵。- 统一对齐设计: 采用统一对齐设计(
uniform-alignment design)[40],可以将归一化器(normalizer)的数量减少到所有 个MAC通道共享一个实例,从而降低其总成本。
4.4.3. 尾数对齐器宽度 (Mantissa Aligner Width)
尾数对齐器(mantissa aligner)的位宽 是一个关键参数,它直接影响数值保真度(精度)和硬件复杂性。其计算方式为:
- : 浮点格式的指数位宽(对于
INT格式,)。 - : 浮点格式的尾数位宽。
- : 累加器中部分和(
partial sum)的位宽,在本文评估中设定为 24。 - 在所有评估中,
MAC阵列大小 用于MX格式, 用于NV格式。
4.4.4. MAC 单元结构和子块 (MAC Unit Structure and Sub-blocks)
-
MAC单元被建模为一个包含 条通道的阵列。每条通道包含一个乘法器。 -
所有通道的加法器都融合在一起,形成一个多输入加法器树结构,其中包含
FP特有的对齐和归一化逻辑。 -
FP乘法: 只对尾数进行乘法运算,并包含一个指数加法器。 -
FP加法: 建模了指数比较器/减法器、桶形对齐器(barrel aligner)、一个宽尾数加法器以及一个共享的归一化器。 -
INT格式: 在上述表达式中,。 原文 Table 6 提供了MAC单元各个子块的门复杂度模型,列出了主导的标准单元(Main Cells):Sub-block INT Mul FP Mul INT Add FP Add Main Cells Multiplier k(x+y+1)2 k(y+1)2 AND, FA, HA Adder (mantissa/int) 2k(x+y+1) kn FA, HA Exponent adder kx − FA, HA Exponent subtractor kx XOR, FA, HA Comparator kx XOR, AND, OR Aligner (barrel) k n log2 n MUX Normalizer (shared) n log2 n MUX, OR -
符号解释:
- :
MAC单元的通道数。 - : 指数位宽。
- : 尾数位宽。
- : 尾数对齐器宽度。
FA: 全加器(Full Adder)。HA: 半加器(Half Adder)。AND,XOR,OR,MUX: 逻辑门类型。 这些表达式给出了不同子块的门复杂度,是计算面积和能量的基础。
- :
4.4.5. MAC 面积和能量聚合 (MAC Area and Energy Aggregation)
设 是子块类型集合(例如乘法器、加法器等), 是单元类型集合(FA, HA, XOR, AND, OR, MUX)。MAC 单元的总面积和能量计算公式为:
c _ { s , g } ( x , y , k , n ): 在给定格式参数x, y, k和对齐宽度 下,子块 中单元 的数量。A _ { g }和E _ { g }: 从标准单元库获取的单元 的面积和能量因子。- : 单元 的翻转率(
toggle rate)。为了简化模型,假设所有单元具有相同的翻转率 。
4.4.6. FP32 累加器 (FP32 Accumulator)
FP32 累加器的面积和能量计算公式为:
- :
FP32累加器中单元 的数量。
4.4.7. 解量化器模型 (Dequantizer Model)
共享解量化器基于特定格式所需的逻辑(例如,融合的整数加法或浮点乘法)。其面积和能量计算公式为:
- : 解量化器中单元 的数量。
4.4.8. 总成本 (Total Cost)
总 MMU 成本是 MAC 单元、解量化器和 FP32 累加器成本的总和:
当报告每通道(per-lane)数据时,共享模块(解量化器和 FP32 累加器)的成本会除以 (通道数)。
总结: 该硬件模型提供了一个全面的框架,用于估计低精度 GEMM 引擎的硬件成本。它能够捕获不同 MX/NV-INT/FP 格式在相同标称位宽下的相对成本趋势,对齐器宽度 的敏感性,以及共享归一化器、解量化器和 FP32 累加器对 个通道的影响。原文 Table 7 进一步讨论了 MAC 单元的重用方案,强调了 INT 方案在面积和能量方面的潜在优势。
5. 实验设置
5.1. 数据集
5.1.1. 推断评估 (Inference Evaluation)
- 数据集:
WikiText2[25]。- 特点: 包含 8 个序列,每个序列长度为 4096。这是一个常用的语言建模基准数据集,用于评估模型在文本生成和理解方面的性能。
- 模型: 实验评估了 12 个大型语言模型(
LLMs),涵盖了稠密(dense)和混合专家(Mixture-of-Experts, MoE)架构,参数规模从 0.6B 到 235B。- Qwen3 系列:
Qwen3-0.6B,Qwen3-1.7B,Qwen3-4B,Qwen3-8B,Qwen3-14B,Qwen3-32B,Qwen3-30B-A3B,Qwen3-235B-A22B[42]。 - Llama 系列:
Llama-3.1-8B,Llama-3.1-70B,Llama-3.2-1B,Llama-3.2-3B[13]。 - 模型选择原则: 优先选择开源的基础模型(
base model),如果无开源基础模型,则选择经过SFT(Supervised Fine-Tuning)的模型。原文附录D.1中的 Table 8 列出了这些模型的 Huggingface ID。
- Qwen3 系列:
5.1.2. 训练评估 (Training Evaluation)
- 数据集:
OLMo2-Mix-1124[33] 预训练数据集。- 特点: 一个大型预训练数据集,用于训练通用语言模型。
- 模型: 选择了
Llama3-style [13] 的 1B 和 3B 规模的模型进行训练实验。- 模型架构特点:
Llama3-style 模型采用了Group Query Attention (GQA)[1] 用于自注意力模块,以及SwiGLU[37] 用于前馈模块,这些都是现代LLM架构的常见组件。原文附录D.1中的 Table 9 提供了详细的模型架构和训练超参数。
- 模型架构特点:
- 训练数据量: 1B 模型在 100B 训练
tokens上进行训练,3B 模型在 200B 训练tokens上进行训练。
5.2. 评估指标 (Evaluation Metrics)
5.2.1. 推断指标 (Inference Metrics)
KL散度 (Kullback-Leibler Divergence,KL):- 概念定义:
KL散度,也称为相对熵,是一种衡量两个概率分布之间差异的非对称度量。在语言模型评估中,它用于量化量化模型与原始高精度(BFloat16)模型输出的softmax概率分布之间的差异。较小的KL散度值表示量化模型在预测行为上与原始模型更接近,其输出的“信息损失”更小,精度保持得更好。 - 数学公式: 对于两个离散概率分布 (真实分布或基线模型输出分布)和 (近似分布或量化模型输出分布),
KL散度的定义为: - 符号解释:
P(i): 原始BFloat16模型在词汇表中第 个词元上的预测概率。Q(i): 量化模型在词汇表中第 个词元上的预测概率。- : 对所有可能的词元 (即词汇表中的所有词元)求和。
- : 自然对数。
- 应用细节: 本文计算的是在
WikiText2数据集上,量化模型与BFloat16模型之间softmax分布的KL散度。为了减少噪声,仅计算BFloat16模型输出的top-25 logit(即概率最高的 25 个词元)受限softmax分布的散度。报告的KL散度通常是平均值并乘以 。
- 概念定义:
- 困惑度 (Perplexity,
PPL):- 概念定义: 困惑度是评估语言模型性能的常用指标,衡量模型预测一个文本序列的“不确定性”或“惊讶程度”。它与语言模型分配给测试语料库的概率的几何平均倒数有关。困惑度越低,表示模型对文本的预测能力越强,模型对文本的理解和生成能力越好。
- 数学公式: 对于一个包含 个词元的文本序列 ,其困惑度通常定义为:
或者,等价地,通过交叉熵(
Cross-Entropy)H(W)计算: - 符号解释:
- : 输入文本序列。
- : 序列中的词元总数量。
- : 序列中的第 个词元。
- : 语言模型在给定前
i-1个词元的情况下,预测第 个词元 的条件概率。 - : 连乘符号。
- : 求和符号。
- : 以 2 为底的对数。
H(W): 序列 的交叉熵。
5.2.2. 训练指标 (Training Metrics)
- 训练损失 (Training Loss):
- 概念定义: 训练损失是衡量模型在训练过程中预测输出与真实标签之间差异的指标,通过一个预定义的损失函数(如交叉熵损失)计算。训练的目标是最小化这个损失,以使模型更好地拟合训练数据。
- 应用细节: 为了平滑训练曲线并更好地观察趋势,训练损失值使用指数移动平均(
exponential moving average)进行处理,平滑系数为 0.9。
- 任务准确率 (Task Accuracy):
- 概念定义: 在特定下游任务上,模型正确回答或预测的比例。它是衡量模型泛化能力和在实际任务中表现的关键指标。
- 应用细节: 使用
1m_eval[17] 框架通过 5-shot 评估(few-shot evaluation,即模型在进行预测前只看到少量示例)计算准确率。 - 具体任务及指标:
WinoGrande[35]:一个常识推理数据集,报告acc(准确率)。HellaSwag[44]、Arc _ Challenge[10]、Arc _ Easy[10]、PIQA[4]、Openbookqa[26]:这些都是常识推理或问答任务,报告acc_norm(归一化准确率),通常是对多项选择任务进行标准化处理后的准确率。
5.3. 对比基线 (Baselines)
论文将本文提出的方法(或其变体)与以下数值格式和技术进行比较:
- 浮点(
FP)格式基线:MXFP8:Microscaling FP8,块大小 32。MXFP6:Microscaling FP6,块大小 32。MXFP4:Microscaling FP4,块大小 32。NVFP4:NVIDIA FP4,块大小 16,使用E4M3比例因子和额外的每张量(per-tensor)比例因子。
- 整数(
INT)格式变体(主要由本文引入或关注):MXINT8:Microscaling INT8,块大小 32。MXINT6:Microscaling INT6,块大小 32。MXINT4:Microscaling INT4,块大小 32。NVINT4:NVIDIA INT4,块大小 16。
- 高精度基线:
BFloat16模型作为未量化的高精度基线,用于衡量量化带来的精度损失。 - 异常值缓解技术: 随机
Hadamard rotation[2],作为一种可以与量化格式结合使用的技术,以评估其对峰值因子和最终精度的影响。
6. 实验结果与分析
6.1. 张量级分析 (Tensor-wise Analysis)
6.1.1. 设置
为了在真实数据上测量 QSNR 和峰值因子,实验将 8 个 WikiText2 序列(每个长度 4096)输入到 Llama3.1-8B 模型。在前向和后向传播过程中,均在 BFloat16 精度下运行,并捕获了图 1 中所示的六种中间张量(包括权重、激活和梯度)。Llama3.1-8B 包含 224 个线性层,因此总共收集了 个张量。
- QSNR 计算:
QSNR直接对每个张量进行计算。 - 峰值因子计算: 峰值因子(
crest factor)以块为单位计算,然后对整个张量进行平均。 Hadamard rotation: 为了评估异常值抑制技术的效果,实验还应用了随机Hadamard rotation[2]。旋转矩阵的维度设置为与块大小一致(MX格式为 ,NV格式为 )。
6.1.2. 峰值因子结果 (Crest Factor Results)
以下是原文 Table 2 的结果,展示了不同块大小下峰值因子的统计数据,包括最小值、四分位数(Q1, Q3)和最大值。Q3 代表了 75% 的情况下的最差表现,是衡量典型最坏情况行为的关键指标。
| Type | Block Size | Min | Q1 | Median | Q3 | Max |
| Crest factor | -1 | 3.55 | 4.26 | 6.2 | 11.97 | 60.15 |
| 32 | 2.28 | 2.40 | 2.48 | 2.96 | 4.26 | |
| 16 | 2.04 | 2.13 | 2.16 | 2.39 | 3.16 | |
| Crest factor w/ hadamard rotatioin | -1 | 3.62 | 3.9 | 4.15 | 5.79 | 13.02 |
| 32 | 1.91 | 2.29 | 2.35 | 2.36 | 2.57 | |
| 16 | 1.77 | 2.06 | 2.1 | 2.11 | 2.21 |
- 分析:
- 粗粒度量化(块大小 -1,即通道级量化):
Q3峰值因子为 11.97。根据图 3 中的理论分析,这个值远高于INT与FP格式的所有交叉点。这表明在粗粒度量化下,FP格式在大多数情况下(超过 75%)将优于INT格式。 MX格式(块大小 32):Q3峰值因子为 2.96。- 这个值显著低于
MXINT8与MXFP8的理论交叉点 (7.55)。这意味着MXINT8在大多数情况下将优于MXFP8。 - 然而,2.96 高于
MXINT6与MXFP6(1.96) 和MXINT4与MXFP4(2.04) 的交叉点。因此,MXINT6和MXINT4在这种粒度下通常会劣于其FP对应格式。
- 这个值显著低于
Hadamard rotation后的MX格式:Q3峰值因子降至 2.39。- 虽然有所下降,但仍低于 7.55,因此
MXINT8依然保持优势。 - 但仍高于 1.96 和 2.04,所以
MXINT6和MXINT4依然落后于FP对应格式。
- 虽然有所下降,但仍低于 7.55,因此
NV格式(块大小 16):Q3峰值因子为 2.39。- 这个值恰好等于
NVINT4与NVFP4的理论交叉点。 Hadamard rotation后Q3降至 2.11,这使得NVINT4有望优于NVFP4。
- 这个值恰好等于
- 粗粒度量化(块大小 -1,即通道级量化):
6.1.3. 峰值因子 vs. QSNR 结果 (Crest Factor vs. QSNR Results)
下图(原文 Figure 4)展示了在 10752 个捕获张量上测得的实际 QSNR 值与峰值因子之间的关系。图中包含了不同量化格式(MXINT8, MXFP8, MXINT6, MXFP6, MXINT4, MXFP4, NVINT4, NVFP4)的 QSNR 表现,并通过箱线图形式呈现了数据分布。
该图像是图表,展示了不同量化格式(MXINT8、MXFP8、MXINT6、MXFP6、MXINT4、MXFP4、NVINT4、NVFP4)在不同峰值因子下的QSNR表现。图中包含了箱线图的对比数据,并标注了相关的胜率情况。
- 分析: 实际测量结果与第 4.3 节中的理论比较高度吻合。
MXINT8vs.MXFP8:MXFP8的QSNR几乎保持恒定在 31.50dB,这得益于其大的动态范围和由尾数位决定的精度上限。相反,MXINT8的平均QSNR达到 40.35dB,显著优于MXFP8,这验证了在细粒度下INT8的优势。MXINT6vs.MXFP6和MXINT4vs.MXFP4: 无论是否应用随机Hadamard rotation,MXINT6和MXINT4的QSNR始终落后于它们的FP对应格式。这与峰值因子分析(Q3值高于交叉点)一致。NVINT4vs.NVFP4: 尽管NVINT4的胜率(INT Win)达到了 64.3%,但其平均QSNR为 20.55dB,略低于NVFP4的 20.60dB。这主要是因为随着峰值因子增加,NVINT4的QSNR下降速度快于NVFP4,导致在一些极端情况下表现更差。Hadamard rotation后的NVINT4: 经过随机Hadamard rotation后,NVINT4的平均QSNR升至 21.65dB,从而超越了NVFP4的 20.35dB。值得注意的是,NVFP4的QSNR在旋转后反而从 20.60dB降至 20.35dB。这与图 3 的理论预测一致:Hadamard rotation降低了峰值因子,而当峰值因子低于 4 时,NVFP4的QSNR随峰值因子的增加而增加。因此,峰值因子的降低导致了NVFP4QSNR的轻微下降。
6.2. 直接推断 (Direct-Cast Inference)
6.2.1. 设置
- 精度: 实验比较了原文 Table 1 中列出的所有低位格式,包括
MXFP8,MXINT8,MXFP6,MXINT6,MXFP4,MXINT4,NVFP4, 和NVINT4。 - 过程: 实验从一个预训练的
BFloat16模型直接进行推断,并量化所有前向的GEMM(通用矩阵乘法)操作。 Hadamard rotation: 还在部分实验中应用了随机Hadamard rotation。这涉及到将输入激活值 与随机Hadamard矩阵 相乘(),以及对权重 进行旋转()。随机Hadamard矩阵的大小设置为与块大小一致(MX格式为 32,NV格式为 16)。- 模型: 评估了 12 个
LLMs,涵盖了从 0.6B 到 235B 参数规模的稠密和MoE架构,包括Qwen3和Llama系列模型。 - 指标: 模型的性能通过
KL散度(在WikiText2上计算)进行衡量。KL散度越小,表示量化模型的输出与BFloat16基线的输出越接近,量化效果越好。
6.2.2. 结果
以下是原文 Table 3 的结果,总结了在 12 个模型上进行直接推断时,INT 和 FP 格式之间的胜负关系。INT Win 和 FP Win 列表示在 12 个模型中有多少个模型,该格式在 KL 散度方面表现更好。
| Original | |||
|---|---|---|---|
| INT Win | FP Win | INT Win FP | |
| MXINT8 v.s. MXFP8 | 12 | 0 | 12 0 |
| MXINT6 v.s. MXFP6 | 0 | 12 | 11 |
| MXINT4 v.s. MXFP4 | 0 | 12 | 12 |
| NVINT4 v.S. NVFP4 | 0 | 12 | 0 |
- 分析:
- 不带旋转 (
Original):MXINT8在所有 12 个模型上均优于MXFP8。这进一步证实了在细粒度 8 位量化中INT格式的优势。- 然而,
MXINT6、MXINT4和NVINT4在所有 12 个模型上均表现不如其FP对应格式。 - 尽管第 6.1.3 节的张量级分析显示
NVINT4和NVFP4的平均QSNR相似,但NVINT4在直接推断中表现更差。这可能是因为在实际模型中,尽管平均QSNR接近,但较高的峰值因子导致INT格式出现更多“最坏情况”行为,从而在整体性能上落后。
- 带随机
Hadamard rotation(w/ random Hadamard rotation):MXINT8和NVINT4在所有 12 个模型上均优胜。这意味着Hadamard rotation成功缓解了NVINT4在没有旋转时遇到的问题,使其在 4 位量化中也能超越NVFP4。MXINT6在 12 个模型中仅胜出 1 个,而MXINT4在所有 12 个模型中均落败。这与第 6.1.3 节的张量级分析结果一致,表明Hadamard rotation对 6 位和 4 位MXINT格式的提升不足以使其超越FP对应格式。
- 不带旋转 (
6.3. 训练 (Training)
6.3.1. 设置
- 精度: 实验旨在实现近乎无损的低位训练,因此主要关注 8 位设置,比较了
MXINT8和MXFP8。之前的研究(如 [21, 27])已证明FP8训练可以实现近乎无损的性能,本文旨在验证MXINT8是否也能达到类似水平。 - 模型和数据集:
- 在
OLMo2-Mix-1124[33] 预训练数据集上训练 1B 和 3B 规模的Llama3-style [13] 模型。 - 1B 模型训练 100B
tokens,3B 模型训练 200Btokens。
- 在
- 指标: 训练性能通过两个指标衡量:
- 训练损失 (Training Loss): 损失曲线使用指数移动平均(系数 0.9)进行平滑处理。
- 任务准确率 (Task Accuracy): 使用
1m_eval[17] 框架,通过 5-shot 评估在六个常见的常识推理任务上计算准确率,包括WinoGrande(acc) 和HellaSwag,Arc _ Challenge,Arc _ Easy,PIQA,Openbookqa(acc_norm)。
6.3.2. 结果
下图(原文 Figure 5)展示了 BF16、MXFP8 和 MXINT8 在 Llama-1B 模型上,使用 100B tokens 训练时的损失曲线。
该图像是损失曲线比较图,展示了在 Llama-1B 上使用 BF16、MXFP8 和 MXINT8 训练的结果。横轴为训练步数,纵轴为损失值,结果由指数移动平均平滑处理,平滑系数为 0.9。
-
分析:
-
从图中可以看出,
MXFP8和MXINT8的损失曲线与BF16基线几乎完全重叠,表明两种量化训练方法都能很好地保持训练过程中的数值稳定性。 -
在放大视图中,
MXINT8始终略优于MXFP8,其损失值比MXFP8低约 0.001。这表明MXINT8在训练过程中能达到更低的损失,暗示了其在数值精度上的轻微优势。以下是原文 Table 4 的结果,展示了低位训练在 1B 和 3B 模型上的详细比较,包括最终的训练损失和六个下游任务的平均准确率。
Model size Training tokens Precision loss Arc_ E Arc C HS OB PIQA WG Avg. 1B 100B BF16 2.6727 37.80 69.40 60.20 38.40 74.43 61.09 56.89 1B 10B MXFP8 2.6767 37.03 69.82 60.28 38.00 74.37 61.64 556.86 1B 100B MXINT8 2.6758 37.95 69.45 60.02 38.80 74.54 61.38 57.02 3B 200B BF16 2.4794 46.50 75.42 72.28 45.00 78.07 69.45 64.45 3B 20B ¯MXFP8 2.4821 46.70 74.12 72.08 44.60 77.56 69.25 64.05 3B 200B MXINT8 2.4812 46.10 75.58 72.00 44.80 77.78 69.55 64.30
-
-
分析:
- 训练损失: 在 1B 和 3B 模型上,
MXINT8的最终训练损失(2.6758 和 2.4812)均略低于MXFP8(2.6767 和 2.4821),并且都非常接近BF16基线(2.6727 和 2.4794)。这与损失曲线图的观察一致,进一步证明了MXINT8在训练中的优秀性能。 - 任务准确率: 在六个常识推理任务的平均准确率方面:
- 1B 模型:
MXINT8的平均准确率(57.02)甚至略高于BF16(56.89)和MXFP8(56.86)。 - 3B 模型:
MXINT8的平均准确率(64.30)非常接近BF16(64.45),且略高于MXFP8(64.05)。
- 1B 模型:
- 结论: 这些结果共同证明,
MXINT8能够支持近乎无损的低位训练,其性能与高精度的BF16相当,并且在某些情况下甚至略优于MXFP8。这表明通过本文提出的对称裁剪等优化,INT格式不仅适用于推理,在训练场景中也具有巨大潜力,能够实现与FP8训练同等的甚至更好的效果。
- 训练损失: 在 1B 和 3B 模型上,
6.4. 硬件成本分析 (Hardware Cost Analysis)
根据第 4.4 节中的硬件模型,论文评估了支持 MX 格式的乘累加单元(MMU)的能量和面积成本。分析旨在比较在相同吞吐量下,不同低位格式的硬件效率。
以下是原文 Table 5 的结果,展示了在相同吞吐量下,低位格式的归一化能量和面积成本。MXFP8 和 被用作各自类别(单格式和混合格式)的基线,成本归一化为 1x。
| Single Format | Mixed Format | |||||
|---|---|---|---|---|---|---|
| MXFP8 | MXINT8 | NVFP4 | NVINT4 | MXFP8+NVFP4 MXINT8+NVINT4 | ||
| Energy | 1x | 0.63x | 0.55x | 0.34x | 1x | 0.75x |
| Area | 1x | 0.79x | 0.54x | 0.38x | 1x | 0.66x |
- 分析:
- 单格式成本比较:
MXINT8vs.MXFP8:MXINT8的能量成本仅为MXFP8的 0.63x,面积成本为 0.79x。这意味着MXINT8分别节省了 37% 的能量和 21% 的面积。NVINT4vs.NVFP4:NVINT4的能量成本为NVFP4的 0.34x,面积成本为 0.38x。这意味着NVINT4分别节省了 66% 的能量和 62% 的面积。这表明在 4 位格式下,INT格式的硬件效率优势更加显著。
- 混合格式成本比较:
- 混合格式配置考虑了同时支持 8 位和 4 位数据类型的情况,类似于
NVIDIA Blackwell GPUs[32],并设定 8 位与 4 位的吞吐量比为 1:2。 - 配置相较于 ,能量成本为 0.75x,面积成本为 0.66x。这意味着混合
INT配置分别节省了 25% 的能量和 34% 的面积。面积节省尤其显著,这主要是因为INT流水线的电路复用(如原文 Table 7 所述)比FP流水线更简单高效。
- 混合格式配置考虑了同时支持 8 位和 4 位数据类型的情况,类似于
- 总体结论: 这项硬件成本分析有力地证明,在相同吞吐量下,低位整数格式在硬件效率(包括面积和能量)上显著优于低位浮点格式。这一发现为
AI加速器的设计提供了重要的指导,强调了INT格式在实现更低功耗和更高效率方面的潜力。
- 单格式成本比较:
6.5. 其他详细结果 (Other Detailed Results)
6.5.1. 对称整数表示的必要性 (Necessity of Symmetric Integer Representation)
原文附录 D.2 中的 Table 10 提供了关于 INT8 量化表示范围的消融研究结果。该实验在一个 145M 模型上进行,使用 20B 训练 tokens,比较了两种 INT8 范围:(非对称)和 (对称)。
| BF16 scale | UE8M0 scale | |||
|---|---|---|---|---|
| [-128, 127] | [-127, 127] | [-128, 127] | [-127, 127] | |
| per-channel | 3.2544 | 3.2560 | 3.3602 | 3.4307 |
| 256 | 3.1340 | 3.1307 | 3.1628 | 3.1574 |
| 128 | 3.1309 | 3.1289 | 3.1353 | 3.1326 |
| 64 | 3.1312 | 3.1269 | 3.1312 | 3.1288 |
| 32 | 3.1354 | 3.1251 | 3.1299 | 3.1269 |
- 分析:
- 非对称范围对训练损失的影响: 结果表明,使用非对称的 范围进行
INT8量化会导致训练损失持续退化。 BFloat16比例因子下的影响: 在使用BFloat16比例因子时,非对称范围()甚至使得块大小 32 的量化(损失 3.1354)比块大小 256 的量化(损失 3.1340)更差。这是因为只有每个量化块中的最小值才有可能被量化为 -128,而较小的块大小意味着更多的独立量化块,从而增加了发生这种负向映射的频率。UE8M0比例因子下的影响: 非对称量化同样导致损失退化,但强度略低于BFloat16比例因子。原因在于UE8M0比例因子通常大于或等于BFloat16比例因子,导致更少的高精度数字映射到Q_min。- 结论: 这些实验有力地证明了对称表示空间对于整数量化的必要性,尤其是在低位训练场景中,它能有效避免梯度偏差并提升性能。
- 非对称范围对训练损失的影响: 结果表明,使用非对称的 范围进行
6.5.2. 数值稳定性分析 (Numerical Stability Analysis)
原文附录 D.2 中的 Algorithm 1 描述了一个程序,用于分析不同浮点精度(BFloat16, Float16, Float32)下,将一个随机矩阵归一化后映射到 -128 的元素比例。这旨在揭示低精度浮点运算在量化过程中可能引入的误差。
以下是原文 Table 11 的结果,展示了 Algorithm 1 的运行结果:
| BFloat16 | Float16 | Float32 |
| 16.82% | 0.02% | 0 |
- 分析:
BFloat16的数值稳定性问题: 在BFloat16精度下,高达 16.82% 的值在归一化后被错误地映射到了 -128,即使理论上比例因子设计为将其映射到 127。这揭示了BFloat16在处理这种精确边界条件时的数值不稳定性。Float16的情况:Float16表现稍好,只有 0.02% 的值被错误映射。Float32的理想情况:Float32没有出现此类映射错误(0%)。- 结论: 这项分析突出显示了在量化计算中使用低精度浮点格式时,可能存在的严重数值稳定性问题。
BFloat16(以及程度较轻的Float16)的固有精度不足可能导致在缩放步骤中出现溢出,将值错误地映射到预期整数范围之外。这强有力地证明了强制对称裁剪步骤对于保证量化正确性和稳定性是至关重要的,尤其是在使用低精度数据类型进行计算时。它支持了论文中引入对称裁剪方法的必要性。
7. 总结与思考
7.1. 结论总结
本文对整数(INT)和浮点(FP)量化格式进行了全面且细致的权衡研究,特别聚焦于现代 AI 硬件中日益重要的细粒度量化。研究揭示了两者之间一个关键而微妙的性能交叉点:
-
细粒度
INT8的优越性: 对于流行的 8 位细粒度格式(如块大小为 32 的MX格式),MXINT8在算法精度和硬件效率上均持续优于其FP对应格式MXFP8。这直接挑战了当前AI硬件设计中以FP为中心的普遍趋势。 -
4 位格式的细致权衡: 对于 4 位格式,
FP(例如MXFP4,NVFP4)通常具有精度优势。然而,通过应用如Hadamard rotation等异常值缓解技术,NVINT4能够超越NVFP4,表明INT在低位宽下仍有潜力。 -
INT训练的突破: 论文引入了一种创新的对称裁剪方法,成功解决了细粒度低位INT训练中的梯度偏差问题。这一方法使得MXINT8训练能够实现与BFloat16相当、近乎无损的性能,且优于MXFP8训练。 -
硬件效率的验证: 硬件成本分析明确指出,在相同吞吐量下,低位整数格式在面积和能量效率上显著优于低位浮点格式。
这些核心发现共同表明,
AI硬件领域“一刀切”地偏向FP格式是次优的。本文倡导在学术界和工业界进行战略性转变,重新评估并优先考虑细粒度INT格式,特别是MXINT8,因为它能在精度、功耗和效率之间提供更好的平衡,从而为未来的AI加速器设计提供更优的选择。
7.2. 局限性与未来工作
论文作者在研究中识别了一些局限性,并自然地引出了未来的研究方向:
- Hadamard 旋转的通用性与成本: 尽管
Hadamard rotation被证明能有效提升NVINT4的性能,但其在更广泛的模型架构、任务类型以及不同INT格式(如MXINT6,MXINT4仍未被充分提升)上的通用性和鲁棒性仍需进一步验证。此外,Hadamard rotation引入的额外计算和内存开销(即使是随机矩阵)在实际硬件部署中的成本效益分析也是一个重要考量。 - 极低位宽
INT格式的性能差距: 论文指出,对于 6 位和 4 位的INT格式(如MXINT6,MXINT4),它们在大多数情况下仍然落后于其FP对应格式。这表明在这些极低位宽下,INT格式可能需要更先进的量化算法、更精细的比例因子策略或更强大的异常值处理机制,才能弥补与FP的动态范围差距。 - 硬件成本模型的简化: 硬件成本模型为了简化分析,集中于
MAC单元、解量化器和FP32累加器,而排除了量化器、时序逻辑、布局布线和互连等复杂因素。未来的研究可以构建更全面、更细致的硬件模型,以提供更精确和实际的成本估算。 - 混合精度算法策略: 论文在硬件层面讨论了混合格式的成本优势,但在算法层面,尚未深入探讨如何动态或自适应地结合
INT和FP格式。未来的工作可以探索更智能的混合精度策略,根据模型层、数据分布或任务需求,选择最优的数值格式组合。 - 实际部署的工程挑战: 尽管论文提供了有力的理论和实验证据,但将这些研究成果转化为实际的
AI加速器硬件设计和软件栈优化,仍面临巨大的工程挑战,包括编译器支持、工具链集成和生态系统建设。
7.3. 个人启发与批判
这篇论文极具启发性,它没有简单地跟随当前 AI 硬件领域普遍偏向低精度浮点数(FP)的潮流,而是通过严谨的理论与实验分析,重新审视了整数(INT)格式在细粒度量化中的巨大潜力。
- 打破“FP万能论”的迷思: 论文最重要的启发在于,它打破了“FP 格式因其宽动态范围而始终优于 INT 格式”的简单认知。它通过揭示性能的“交叉点”,明确指出在细粒度量化(如块级量化)的特定场景下,
INT格式不仅能够提供可比甚至更优的精度,还能带来显著的硬件效率提升。这对于那些盲目追随FP硬件趋势的设计者来说,是一个非常及时的警示,促使他们进行更深入的权衡分析。 - 重视量化粒度的细微影响: 论文详细展示了量化粒度(特别是从通道级到块级)如何显著影响峰值因子,进而改变
INT和FP格式的相对性能。这强调了在设计量化方案时,必须根据数据特性和硬件能力精细选择粒度,而非一概而论。 - 软件优化对硬件价值的赋能: 对称裁剪方法的引入,是软件算法层面解决硬件约束(有符号整数的非对称范围)的典范。它以一个看似简单的调整,显著提升了
INT训练的稳定性,使其达到“近乎无损”的水平。这再次证明了算法创新能够解锁现有硬件的更多潜力,并为INT格式在训练中的应用铺平道路。 - 硬件-算法协同设计的必然性: 论文的核心主张是“挑战当前硬件轨迹”并倡导“算法-硬件协同设计”,这是
AI领域未来发展的关键。只有深入理解数值格式的数学特性、它们对算法性能的影响,以及其对应的硬件实现成本,才能设计出真正高效、节能的AI系统。这篇论文正是这种协同设计的优秀范例。 - 批判性思考:更极端场景的泛化性与复杂性:
-
极低位宽的挑战: 尽管
INT8表现出色,但 4 位INT格式(即使有Hadamard rotation)仍不如FP对应格式。这表明在极端低位宽下,INT格式可能面临更深层次的动态范围表示限制。未来的研究需要在 4 位甚至更低位宽下,探索新的INT表示方法或更激进的异常值处理技术。 -
Hadamard 旋转的实用性: 虽然
Hadamard rotation能够提升NVINT4的性能,但它增加了额外的计算步骤和内存需求。在实际部署中,这种额外的开销是否总能被节省下来的能量和面积所抵消?对于不同模型和硬件架构,其最优的集成方式和成本效益仍需更详细的分析。 -
理论模型的简化假设: 论文的理论
QSNR模型基于数据服从高斯分布的假设,这在一定程度上简化了实际LLM激活值可能存在的更复杂、非高斯分布的特性。尽管实验结果与理论趋势一致,但在面对高度定制化或非常规LLM架构时,模型的预测准确性可能需要进一步验证。总而言之,这篇论文为
AI加速器设计领域注入了一股清流,它以严谨的科学态度,重新肯定了INT格式在细粒度量化中的独特价值。它不仅为未来AI硬件的发展提供了新的思路,也激励着研究人员在算法和硬件协同设计方面进行更深入、更全面的探索。
-
相似论文推荐
基于向量语义检索推荐的相关论文。