FlatQuant: Flatness Matters for LLM Quantization
作者: Yuxuan Sun, Ruikang Liu, Haoli Bai, Han Bao, Kang Zhao, Yuening Li, Jiaxin Hu, Xianzhi Yu, Lu Hou, Chun Yuan, Xin Jiang, Wulong Liu, Jun Yao
分类: cs.CL, cs.LG
发布日期: 2024-10-12 (更新: 2025-08-10)
备注: 27 pages, accepted to ICML 2025
🔗 代码/项目: GITHUB
💡 一句话要点
FlatQuant:通过优化权重分布,显著提升LLM量化性能。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型量化 训练后量化 仿射变换 模型压缩 推理加速
📋 核心要点
- 现有LLM量化方法难以有效处理权重和激活中存在的陡峭和分散分布,导致量化误差增大。
- FlatQuant通过学习最优仿射变换来展平权重和激活的分布,从而减少量化误差并提升模型精度。
- 实验表明,FlatQuant在LLaMA-3-70B模型上实现了优异的W4A4量化性能,并显著提升了推理速度。
📝 摘要(中文)
近年来,量化技术被广泛应用于大型语言模型(LLM)的压缩和加速。由于LLM中存在异常值,因此展平权重和激活,以最小化具有等间距量化点的量化误差至关重要。先前的研究探索了各种量化前转换来抑制异常值,例如逐通道缩放和Hadamard变换。然而,我们观察到这些转换后的权重和激活仍然表现出陡峭和分散的分布。在本文中,我们提出了FlatQuant(快速且可学习的仿射变换),这是一种新的训练后量化方法,可增强权重和激活的平坦性。我们的方法为每个线性层识别最佳仿射变换,并通过轻量级目标在数小时内进行校准。为了减少仿射变换的运行时开销,我们应用克罗内克积与两个轻量级矩阵,并将FlatQuant中的所有操作融合到单个内核中。大量实验表明,FlatQuant为量化建立了新的最先进的基准。例如,它在LLaMA-3-70B模型上实现了低于1%的W4A4量化精度下降,超过了SpinQuant 7.5%。此外,与FP16模型相比,它提供了高达2.3倍的预填充加速和1.7倍的解码加速。
🔬 方法详解
问题定义:论文旨在解决大型语言模型(LLM)量化过程中,权重和激活值分布不均匀(存在异常值),导致量化误差增大的问题。现有方法如逐通道缩放和Hadamard变换,虽然尝试抑制异常值,但无法彻底解决分布陡峭和分散的问题。
核心思路:FlatQuant的核心思路是通过学习最优的仿射变换,将权重和激活值的分布“展平”,使其更均匀,从而减少量化误差。仿射变换能够调整数据的尺度和偏移,使其更适合量化。
技术框架:FlatQuant是一种训练后量化(Post-Training Quantization, PTQ)方法,无需重新训练模型。其主要流程包括:1) 对LLM的每个线性层,学习一个仿射变换;2) 使用轻量级目标函数,在少量数据上进行校准,确定最优的仿射变换参数;3) 利用克罗内克积和核融合技术,优化仿射变换的计算效率。
关键创新:FlatQuant的关键创新在于提出了可学习的仿射变换,能够自适应地调整权重和激活的分布,从而更有效地减少量化误差。与传统的预量化转换方法相比,FlatQuant能够更好地处理复杂的分布形态。
关键设计:FlatQuant使用克罗内克积来降低仿射变换的计算复杂度。具体来说,将仿射变换矩阵分解为两个轻量级矩阵的克罗内克积,从而减少参数量和计算量。此外,FlatQuant将所有操作融合到单个内核中,进一步提升了推理速度。损失函数的设计目标是最小化量化误差,同时保持模型的性能。
🖼️ 关键图片
📊 实验亮点
FlatQuant在LLaMA-3-70B模型上实现了低于1%的W4A4量化精度下降,超越了SpinQuant 7.5%。此外,与FP16模型相比,FlatQuant提供了高达2.3倍的预填充加速和1.7倍的解码加速。这些结果表明,FlatQuant在量化性能和推理速度方面都取得了显著的提升。
🎯 应用场景
FlatQuant可应用于各种需要压缩和加速LLM的场景,例如移动设备、边缘计算和资源受限的服务器。通过降低模型大小和计算复杂度,FlatQuant能够使LLM在更多平台上部署和应用,从而推动人工智能技术的普及。
📄 摘要(原文)
Recently, quantization has been widely used for the compression and acceleration of large language models (LLMs). Due to the outliers in LLMs, it is crucial to flatten weights and activations to minimize quantization error with equally spaced quantization points. Prior research explores various pre-quantization transformations to suppress outliers, such as per-channel scaling and Hadamard transformation. However, we observe that these transformed weights and activations can still exhibit steep and dispersed distributions. In this paper, we propose FlatQuant (Fast and Learnable Affine Transformation), a new post-training quantization approach that enhances the flatness of weights and activations. Our approach identifies optimal affine transformations for each linear layer, calibrated in hours via a lightweight objective. To reduce runtime overhead of affine transformation, we apply Kronecker product with two lightweight matrices, and fuse all operations in FlatQuant into a single kernel. Extensive experiments demonstrate that FlatQuant establishes a new state-of-the-art benchmark for quantization. For example, it achieves less than 1\% accuracy drop for W4A4 quantization on the LLaMA-3-70B model, surpassing SpinQuant by 7.5\%. Additionally, it provides up to 2.3x prefill speedup and 1.7x decoding speedup compared to the FP16 model. Code is available at: https://github.com/ruikangliu/FlatQuant.