HiFloat8:高效低比特推理之路

HiFloat8:高效低比特推理之路

2026-02-25

以下文章来源于微信公众号——全球计算联盟GCC

欢迎阅览GCC CompuWave 之「计算前沿」版块

本期带来由GCC智算产发委特别策划

「智能计算专题 – HiF8 专栏」系列文章

以专业视角拆解智算领域关键命题,

解锁算力时代底层逻辑

1 关于低比特推理

深度学习模型在训练和推理阶段通常使用FP32 (32位浮点数)或BF16/FP16 (16位浮点数)格式。然而,随着模型规模的不断增大(尤其是大型语言模型 LLM),对计算效率、显存占用和能耗的要求也越来越高。低比特推理(Low-Bit Inference)应运而生,其核心思想是使用更少的比特位来表示模型参数(权重)和中间计算结果(激活值)。最常见的低比特格式包括INT8 (8位整数)和FP8 (8位浮点数),如下图一所示。其有如下几点优势:

1、内存减少:将数据类型从16位/32位降至8位,理论上可以减少2x到4x的显存占用。

2、计算加速:降低位宽可以提高计算吞吐量(Operations Per Second)。

3、能耗降低:减少数据传输和计算量,从而降低整体能耗。FP8作为一种8位浮点格式,因其具有比定点INT8更宽的动态范围和更强的离群值(Outlier)鲁棒性,成为当前大模型低比特推理的主流选择之一。FP8主要有两个标准变体:E4M3(4位指数,3位尾数)和E5M2(5位指数,2位尾数),分别侧重于精度和动态范围。

2 FP8量化对细粒度

缩放(Scaling)的依赖

将高精度数据类型(如32位浮点数FP32)转换为低比特数据类型(如8位浮点数FP8)一般需要进行缩放处理(Scaling). 假设给定一种量化粒度获得一个数据块记为X,scaling的过程是给X乘上一个系数,使得所有值比较安全地转化到低比特的表达范围内,这个系数被称之为缩放因子(或者称为scaling factor),公式(1)和公式(2)描述了量化过程中Scaling执行缩放的原理。其中F8max是指该8比特浮点可表示的最大值(例如FP8-E4M3为448)。Amax是指X中所有数值统计的最大绝对值。公式(1)计算得到的Scale变量即等价于缩放因子。公式(2)表示从高精度数据缩放到低比特表达范围内的过程。

FP8 虽然具有浮点数的动态范围优势,但其 8 位表示的精度和动态范围仍然有限。为了最大限度地减少从高精度(如 FP16)到 FP8 量化引入的精度损失,FP8 通常需要采用细粒度的量化(Fine-Grained Quantization)策略,如下图二所示,即引入更多的缩放因子(Scaling Factor) 来调整数据的范围。这种细粒度量化主要体现在以下几个层面:

1、Per-token细粒度(通常用于激活值):由于 LLM 中的激活值(Activation)通常在不同的 Token 维度上具有极大的动态范围差异和频繁的离群值。Per-Token 缩放为每个输入Token(或 Tile)应用一个独立的缩放因子,以确保每个Token的核心数据范围能被 FP8 格式有效覆盖,从而保持准确性。

2、Per-channel/Per-Block细粒度(通常用于权重):模型权重(Weight)的分布在不同的输出通道(Channel)或权重块(Block)之间也存在差异。Per-Channel/Per-Block 缩放通过对每通道或每块权重应用独立的缩放因子,来进一步降低量化误差,提升模型的推理精度。典型的 Block 大小为128*128。然而引入大量的Per-Token/Channel/Block 缩放因子,会显著增加硬件实现和控制逻辑的复杂性。在推理过程中,需要频繁地加载、存储和应用这些额外的缩放因子,这会引入额外的内存带宽开销和计算延迟。FP8 本身带来的加速效益反而会被这些额外的操作部分抵消。

3 HiF8格式优点:

无需依赖细粒度缩放

HiF8 (HiFloat8) 是一种新型的 8 位浮点格式,它旨在通过优化格式本身的动态范围和精度平衡,来摆脱对复杂细粒度缩放的依赖,从而实现更高效的推理。HiF8 格式的核心优势是其创新的即时可译变长前缀码编码的点位域Dot设计。其详细设计示意图如下图三所示。Normal模式下,HiF8的数值解析式和传统IEEE 754格式一样,是标准的二进制科学计数法表示。为了支持更大的动态范围,HiF8还采用了不同于IEEE 754风格的Subnormal/Denormal方案。如图2的Denormal表达式,当Dot域指示该数值为Denromal模式时,HiF8没有指数域,多的3-bit“尾数”(编码0~7八个数值),直接用于扩展HiF8的小值指数范围。HiF8 Denormal模式在Normal模式支持的[-15, 15]共31个指数的基础上,额外扩展了[-22, -16]共7个指数(-23用于表示特殊值Zero和NaN),综合形成了[-22, 15]共38个指数的大动态范围,非常接近FP16的[-24, 15]的40个指数范围。并且由于[-15, -8]本身是1-bit尾数,扩展的[-22, -16]的0-bit尾数也属于精度渐变,并非跳变。正是由于这种渐变机制:对于具有较大绝对值和较小绝对值(需要更广动态范围)的离群值,它分配更大的指数范围和更少的尾数位;对于靠近一的众数周边的数值(需要更高精度),它分配更多的尾数位。

这种设计使得 HiF8 在没有外部缩放因子的情况下,也能更好地覆盖深度学习模型权重和激活值的宽动态范围和高精度需求。它甚至通过 Subnormal Value(非规格化数)编码来扩展动态范围,以更接近FP16的覆盖围。由于 HiF8 格式自身提供了足够的动态范围和平衡的精度,对于大多数推理任务而言,它可以直接采用更粗粒度的量化策略,如 Per-Tensor(对整个张量)甚至无缩放(Scale-Free)转换,而无需复杂的 Per-Token/Per-Channel(需在张量子维度维护和索引缩放因子)或 Per-Block(进一步地,在算子层面影响Matmul规约连续性,显著降低数据复用与计算吞吐)缩放。这样可以消除大量缩放因子的管理和应用,大幅简化了推理框架和硬件加速器的设计。无需执行频繁的缩放因子查找和乘法操作,降低了内存带宽和计算开销,从而能更充分地发挥8位计算的加速潜力。从而能够保证后训练量化(PTQ)过程更简单、更快。

4 HiF8格式推理验证:

LongCat大模型推理展示

为了验证HiF8格式在推理效率和准确性上的优势,本工作选取当前最新的美团LongCat-Chat-562B模型进行测试(后续会更新更多大模型的推理结果)。LongCat-Chat采用创新的 MoE(混合专家)架构,旨在以更少的激活参数实现更高的性能,从而大幅提升推理速度并降低成本。其模型的Attention模块借鉴Deepseek MLA的设计,如下图四所示。其中标绿色模块是本工作在模型推理过程中引入的Linear层量化部分,标红色的模块是被引入的KV Cache量化部分。此外,其FFN部分则是区别于传统的MoE大模型,采用MoE层和常规的FFN层间隔交替使用,如图五所示,标绿色模块是该实验引入的量化部分。对于MoE模块,实验中只量化每个专家(expert)对应的Linear层,MoE的路由(router)不参与量化;对于FFN层则是量化其对应的Linear层部分。

上文中给出了LongCat 模型HiF8格式量化部分,整个量化过程都采用的A8W8,8即HiF8量化格式。本工作首先采用 HiF8 格式对大型语言模型(LLM)进行量化。在简单多选题(Multiple-Choice Question, MCQ)数据集(如图六所示)上的测试结果显示,BF16的推理准确率与官方论文报告结果基本一致,确认了实验基线的可靠性。在引入HiF8量化后,首先采用最简单的A8W8直接转换(Direct Conversion) 方案,即激活值(Activation)和权重(Weight)均直接转换为 HiF8 格式(A-直转,W-直转),测试结果如图六所示 (HiF8-A8W8直转),平均精度仅下降(掉点) 0.36 个百分点,这表明 HiF8 格式即使在不进行任何复杂优化和校准的前提下,也能保持较高的精度。为了进一步提升精度,实验引入了 W-Per-Tensor (W-PTS) 粗粒度量化策略。根据HiF8数据格式的特性,其动态范围设计使其对量化范围(Amax)有特定偏好。实验中将权重的 Amax 值设置为 16。通过这一优化,平均精度掉点从 0.36 个百分点进一步缩小至 0.34 个百分点。这证实了利用 HiF8 格式的自身特点进行简单参数调整,即可实现精度提升的可行性。随后,本工作对比了 Per-Tensor 量化(粗粒度)和 Per-Channel 量化(细粒度)对 HiF8 权重部分的影响。 一个关键的发现是:无论是 Per-Tensor 量化 还是 Per-Channel 量化,对于 HiF8 权重的量化处理都可以在离线(Offline)阶段完成,这意味着,这两种量化方案在实际的在线推理性能上没有差距。相比于 FP8 量化需要复杂的 Per-Token/Per-Channel 在线缩放操作,HiF8 的特性避免了推理时引入额外计算开销和内存带宽瓶颈。通过每个tensor的FP32 Scale值,将其最大绝对值Amax缩放到HiF8高精度范围上限16上去,此时权重可用的指数范围是[-22, 4],共27个指数位,最大程度保证了权重的精度和动态范围,留存信息量极大。

为了全面验证 HiF8 格式在不同推理场景下的鲁棒性,本工作将测试范围扩展到了对精度要求极高的复杂推理数据集,包括数学(如 GSM8K,MATH500)和代码生成(LiveCodeBench)等任务, 如下图七所示。在这些复杂的推理数据集上,此前得出的结论依然成立:HiF8 A8W8 直转(即 A-直转,W-直转)策略依然能确保绝大部分数据集的精度下降保持在 1 个百分点以内。对于极少数精度下降超过 1 个百分点的数据集,本工作探索了一系列性能上无额外开销的细粒度量化策略作为选择,例如 Weight 的 Per-Tensor 或 Per-Channel 量化。用户可以根据任务对精度的敏感程度,灵活选择最佳的量化方案

在 LLM 推理过程中,KV Cache(Key-Value Cache)的内存占用是影响性能和可部署性的关键因素,尤其是在长序列推理任务中,其内存开销会随上下文长度线性增长。因此,本工作将量化策略进一步扩展到 KV Cache,形成了 A8W8KV8 策略(Activation、Weight、以及 Key/Value Cache 均采用 8 位量化)。目前的实验结果展示,即使KV Cache 仅采用简单的直接转换(Direct Conversion)方式进行量化、未引入任何额外的缩放或校准操作,绝大部分数据集的精度下降仍然符合1个百分点以内的要求。这一结果至关重要,它意味着在通过 A8W8KV8 策略大幅减少内存占用的同时,几乎不损失推理精度,极大地提升了 LLM 推理的整体效率。

尤其需要强调的是,在所有上述的量化策略中,激活值(Input A)始终采用的是HiF8直转(Direct Conversion)的方式。这充分体现了HiF8数据格式的内在优越性:它凭借其优化的动态范围和精度平衡设计,能够有效地覆盖激活值固有的宽动态范围和频繁出现的离群值,避免了部分FP8所需的复杂且耗性能的 激活值Per-Token 在线缩放操作。这类缩放通常需要在运行时逐token对完整激活向量进行统计(如: 跨channel在线计算Amax),并据此动态生成缩放因子。这不仅引入额外的归约与数据访问开销,在典型LLM架构中还难以与MatMul的归约主循环(常对应跨channel方向)高效融合,显著制约推理性能。与之相对的,HiF8 方案在复杂场景下,既能维持高精度,又能实现最大的推理性能加速。考虑HiF8具备充足的动态范围,后续仍可进一步探索针对激活值 A的静态离线量化方案。例如,在部署或校准阶段对Amax进行统计,选取合适的缩放参数,以在不引入运行时的额外开销前提下,进一步拓展 HiF8在特定模型或场景下的适用性。

5 Summary

HiF8 格式的核心优势在于其创新设计实现了高精度和高效率的解耦,从而超越了传统 FP8 的限制。FP8 格式为维持精度,必须依赖复杂的 Per-Token 在线缩放等细粒度量化(A),这会引入显著的内存带宽和计算开销,削弱了 8 位计算的加速效果。相比之下,HiF8 凭借其优化的渐变精度设计,将量化所需的鲁棒性和动态范围能力内建于格式本身,使得其可以采用最简单的A8W8直转策略,甚至在复杂的数学、代码任务以及引入KV Cache 量化时,仍能将绝大部分数据集的精度损失控制在1个百分点以内。这种对细粒度在线缩放的消除,不仅极大地简化了硬件和软件部署,更重要的是,它保证了HiF8方案能够最大限度地发挥8位计算的潜能,实现更纯粹、更高效、且性能零损失的推理加速。此外,HiF8应用于推理方面还有以下优化空间:

1、引入动态自适应量化范围(Learned Amax)和精细的混合精度策略,以最小化对精度敏感的复杂任务上的误差,并解决极少数掉点较大的数据集问题。

2、将HiF8 应用扩展到多模态模型和更广泛的 LLM 训练/微调场景中,并探索其与稀疏化、剪枝等技术结合的可能性,以实现叠加的效率提升。

3、推动HiF8格式在主流深度学习框架和硬件平台中的标准化与通用支持,同时优化内存带宽和算子融合,以充分发挥8bit节省的潜力。