CBQ: Cross-Block Quantization for Large Language Models

📄 arXiv: 2312.07950v5 📥 PDF

作者: Xin Ding, Xiaoyu Liu, Zhijun Tu, Yun Zhang, Wei Li, Jie Hu, Hanting Chen, Yehui Tang, Zhiwei Xiong, Baoqun Yin, Yunhe Wang

分类: cs.LG, cs.CL

发布日期: 2023-12-13 (更新: 2025-02-25)


💡 一句话要点

提出CBQ:一种跨块量化方法,用于高效压缩大型语言模型。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 后训练量化 低比特量化 跨块量化 模型压缩

📋 核心要点

  1. 现有PTQ方法忽略了LLM中块间的依赖关系,导致低比特量化时性能显著下降。
  2. CBQ通过跨块重建和同源重构,建立长程依赖,从而减少量化误差累积。
  3. CBQ结合粗到精的预处理和自适应LoRA-Rounding,有效处理异常值并提高量化精度。

📝 摘要(中文)

后训练量化(PTQ)在以极低成本压缩大型语言模型(LLMs)方面发挥了关键作用。然而,现有的PTQ方法仅关注于处理单层或单块内的异常值,忽略了块之间的依赖关系,导致低比特设置下性能严重下降。本文提出CBQ,一种基于跨块重建的LLM的PTQ方法。CBQ采用同源重建方案,利用跨块依赖关系,建立跨多个块的长程依赖,以最小化误差累积。此外,CBQ结合了粗到精的预处理(CFP)策略,用于抑制权重和激活异常值,并结合自适应LoRA-Rounding技术,实现精确的权重量化。这些创新使CBQ不仅能有效处理极端异常值,还能提高整体量化精度。大量实验表明,CBQ在各种LLM和数据集上实现了卓越的低比特量化(W4A4, W4A8, W2A16),并优于现有的最先进方法。值得注意的是,CBQ仅用单GPU在4.3小时内量化了4比特的LLAMA1-65B模型,在性能和量化效率之间实现了值得称赞的权衡。

🔬 方法详解

问题定义:现有后训练量化(PTQ)方法在压缩大型语言模型时,主要关注单个层或块内的异常值处理,忽略了不同块之间的依赖关系。这种孤立的处理方式导致误差在模型中累积,尤其是在低比特量化设置下,模型性能会急剧下降。因此,如何有效地在低比特条件下量化大型语言模型,同时保持其性能,是一个亟待解决的问题。

核心思路:CBQ的核心思路是利用跨块的依赖关系来提高量化精度。通过建立跨多个块的长程依赖,CBQ能够更好地捕捉模型中的信息流动,从而减少量化误差的累积。此外,CBQ还通过预处理策略抑制异常值,并通过自适应的量化技术提高量化精度。这种综合性的方法旨在在低比特量化条件下,最大限度地保留模型的性能。

技术框架:CBQ的整体框架包含以下几个主要阶段:1) 跨块依赖建模:通过同源重建方案,建立跨多个块的长程依赖关系。2) 粗到精的预处理(CFP):首先进行粗略的预处理,抑制显著的异常值,然后进行精细的预处理,进一步优化权重和激活值的分布。3) 自适应LoRA-Rounding:利用LoRA技术,自适应地调整量化参数,实现更精确的权重量化。这些阶段协同工作,共同提高量化精度和模型性能。

关键创新:CBQ的关键创新在于其跨块量化的思想。与传统的PTQ方法不同,CBQ不再孤立地处理每个块,而是考虑了块之间的依赖关系,从而能够更有效地减少量化误差的累积。此外,CBQ的粗到精的预处理策略和自适应LoRA-Rounding技术也为提高量化精度提供了有效的手段。

关键设计:CBQ的关键设计包括:1) 同源重建方案:具体实现未知,但其目的是建立跨块的长程依赖。2) 粗到精的预处理(CFP):具体实现未知,但其目的是抑制权重和激活异常值。3) 自适应LoRA-Rounding:利用LoRA技术,通过优化LoRA参数来调整量化参数,从而实现更精确的权重量化。损失函数的设计未知,但其目标是最小化量化误差,同时保持模型的性能。

📊 实验亮点

CBQ在多种LLM和数据集上取得了显著的性能提升,尤其是在低比特量化设置下。例如,CBQ能够在单GPU上仅用4.3小时量化4比特的LLAMA1-65B模型,并在性能和量化效率之间实现了良好的平衡。实验结果表明,CBQ优于现有的最先进方法,证明了其在低比特量化方面的优越性。

🎯 应用场景

CBQ的应用场景广泛,包括在资源受限的设备上部署大型语言模型,例如移动设备、嵌入式系统和边缘计算设备。通过高效的低比特量化,CBQ可以显著降低模型的存储空间和计算复杂度,从而实现更快的推理速度和更低的功耗。这对于推动大型语言模型在实际应用中的普及具有重要意义,例如智能助手、自然语言处理和机器翻译等。

📄 摘要(原文)

Post-training quantization (PTQ) has played a key role in compressing large language models (LLMs) with ultra-low costs. However, existing PTQ methods only focus on handling the outliers within one layer or one block, which ignores the dependency of blocks and leads to severe performance degradation in low-bit settings. In this paper, we propose CBQ, a cross-block reconstruction-based PTQ method for LLMs. CBQ employs a cross-block dependency using a homologous reconstruction scheme, establishing long-range dependencies across multiple blocks to minimize error accumulation. Furthermore, CBQ incorporates a coarse-to-fine preprocessing (CFP) strategy for suppressing weight and activation outliers, coupled with an adaptive LoRA-Rounding technique for precise weight quantization. These innovations enable CBQ to not only handle extreme outliers effectively but also improve overall quantization accuracy. Extensive experiments show that CBQ achieves superior low-bit quantization (W4A4, W4A8, W2A16) and outperforms existing state-of-the-art methods across various LLMs and datasets. Notably, CBQ quantizes the 4-bit LLAMA1-65B model within only 4.3 hours on a single GPU, achieving a commendable tradeoff between performance and quantization efficiency.