SQ-format:一种用于大语言模型高效推理的稀疏量化数据格式 / SQ-format: A Unified Sparse-Quantized Hardware-friendly Data Format for LLMs
1️⃣ 一句话总结
本文提出了一种名为SQ-format的新型硬件友好数据格式,通过将激活值或权重量化为稀疏的高精度组件和密集的低精度组件,在保持模型精度的同时显著提升推理吞吐量,实现了精度与效率的帕累托改进。
2️⃣ 论文创新点
1. SQ-format:统一的稀疏量化数据格式
- 创新点:提出了一种新的硬件友好数据格式,旨在统一支持混合精度的量化和稀疏压缩。它将矩阵划分为固定大小的组(bank),并为每个组动态或静态地分配高精度(如INT8)和低精度(如INT4)部分。
- 区别/改进:通过将大部分计算转移到更快的低精度路径,同时保留关键部分的高精度,克服了现有W4A8等格式因缺乏硬件原生支持而无法实现理论性能增益的问题,也优于GPU支持的2:4半结构化稀疏格式。
- 意义:为下一代AI加速器提供了硬件与算法协同设计的新范式,有望在保持模型精度的同时显著提升推理吞吐量。
2. 基于SQ-format的后训练量化算法
- 创新点:针对权重和激活值,分别开发了基于SQ-format的后训练量化算法。权重算法结合了GPTQ和SmoothQuant思想,通过重要性分数选择高/低精度元素。对于动态的激活值,提出了静态策略,通过在校准集上分析激活-权重乘积贡献来预先确定高精度组件。
- 区别/改进:改进了传统PTQ过程,通过按重要性动态分配精度,在保持整体低比特位宽的同时,对关键部分保留高精度,从而在压缩和精度间取得更好平衡。静态策略消除了昂贵的运行时操作,使解决方案对硬件更友好。
- 意义:为混合精度量化提供了系统性的算法框架,使SQ-format能够实际应用于大模型,并为硬件实现奠定基础。
3. 硬件-算法协同设计与可行性验证
- 创新点:提出了原生支持SQ-format的专用硬件加速器设计,并通过RTL实现和TSMC 12nm工艺库综合验证了其可行性。实验表明,即使包含动态掩码所需的额外收集单元,整体硅面积相比标准的12位I/O整数MAC阵列基线也减少了35.8%。
- 区别/改进:克服了SQ-format在通用硬件上效率低下的问题,通过定制化数据流和计算单元,充分挖掘了SQ-format在提升准确性和吞吐量方面的潜力。
- 意义:证明了SQ-format的硬件可行性和高效性,为实现高效率、低精度的模型推理提供了硬件架构蓝图,有助于推动下一代AI芯片的发展。
4. 精度-吞吐量的帕累托改进
- 创新点:SQ-format通过分离不同精度的计算(如A4和A8),将大部分W4A8计算任务转换为W4A4计算,在显著提升吞吐量的同时保持模型精度。
- 区别/改进:相比直接W4A8(GPU会回退到W8A8执行),SQ-format实现了更高的计算效率。在Llama-3-70B上获得了1.71倍加速,捕获了约90%的理论W4A4加速潜力。
- 意义:有效弥合了高精度(W4A8)与高效率(W4A4)之间的鸿沟,为大规模模型的高效部署提供了实用方案。
3️⃣ 主要结果与价值
结果亮点
- 在多个LLM(如Llama-3-8B/70B, Qwen3-30B)上的广泛实验表明,SQ-format实现了精度与吞吐量的帕累托改进。例如,在Llama-3-70B上实现1.71倍加速,精度损失极小。
- 通过引入稀疏的高精度元素(如W(SQ6)A4配置),可以经济地提升W4A4量化模型的精度,使其接近W4A8的水平,且无需专用的INT6张量核心硬件支持。
- 静态激活量化策略与动态策略相比,能在吞吐量上获得实际收益,同时性能损失极小(平均精度变化在±1%以内),解决了动态策略在GPU上影响实际吞吐量的问题。
- 硬件设计验证表明,支持SQ-format的专用加速器单元相比标准12位MAC阵列,硅面积减少35.8%,证明了其高效率和可行性。
实际价值
- 为当前GPU和下一代AI加速器提供了可行的硬件实现方案,使得在现有硬件上无需完全定制即可获得性能提升。
- 提供了一套全面的实验框架,用于公平比较稀疏量化方法的有效性,并展示了SQ-format在保持高精度的同时实现显著压缩的潜力。
- 通过硬件-算法协同设计分析,为实际部署中根据硬件计算能力和存储限制选择最佳精度与稀疏度配置提供了实证指导。
- 提出的静态激活量化策略降低了对大量校准数据的依赖,使其更易于在实际场景中部署。
4️⃣ 术语表
- SQ-format:稀疏量化格式。一种新型的硬件友好数据格式,支持混合精度计算。它将操作数矩阵划分为固定大小的组(bank),并为每个组动态或静态地选择高精度或低精度表示,旨在平衡精度、吞吐量和硬件效率。
- W4A8:一种混合精度量化方案,指权重为4位(INT4),激活值为8位(INT8)。由于当前GPU缺乏对INT4与INT8矩阵乘法的原生支持,其理论性能增益难以实现。
- Post-Training Quantization (PTQ):后训练量化。在模型完成全精度预训练后,将其权重和/或激活值转换为低精度数据类型的压缩方法。
- GPTQ:一种后训练量化方法,用于近似信息损失,常与Hessian矩阵结合使用。
- Precision Mask:精度掩码。在SQ-format中用于指示哪些元素应使用高精度(h_high)进行量化,哪些应使用低精度(h_low)进行量化的二进制掩码。根据重要性分数生成。
- WxA(SQy):一种量化配置表示法,其中权重(W)使用x位整数格式,激活(A)使用等效位数为y的SQ-format。等效位数y由公式 y = (1 - s) * h_high + s * h_low 计算,其中s是稀疏率。
- bank_size:在SQ-format中,为了便于硬件实现,将操作数矩阵分割成的组(bank)的大小。它是影响精度划分灵活性的关键参数之一。
- hhigh/hlow:SQ-format中的配置参数,分别代表混合精度中高精度部分和低精度部分的位宽(如INT8和INT4)。
- LLM Quantization:大语言模型量化。一种通过降低权重和/或激活值的数值精度来压缩模型并加速推理的技术。