VPTQ: Extreme Low-bit Vector Post-Training Quantization for Large Language Models

📄 arXiv: 2409.17066v2 📥 PDF

作者: Yifei Liu, Jicheng Wen, Yang Wang, Shengyu Ye, Li Lyna Zhang, Ting Cao, Cheng Li, Mao Yang

分类: cs.AI

发布日期: 2024-09-25 (更新: 2024-10-22)

备注: EMNLP 2024, Main, Poster


💡 一句话要点

VPTQ:面向大语言模型的极低比特向量后训练量化方法

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

关键词: 大语言模型 模型量化 向量量化 后训练量化 低比特量化 二阶优化 模型压缩

📋 核心要点

  1. 现有标量量化方法在极低比特量化LLM权重时,受数值表示限制,难以保证模型性能。
  2. VPTQ利用向量量化,通过二阶优化公式化LLM量化问题,并设计算法求解,实现极低比特量化。
  3. 实验表明,VPTQ在多种LLM上显著降低了困惑度,提高了QA任务准确率,并提升了推理吞吐量。

📝 摘要(中文)

大语言模型(LLMs)的规模化给部署和推理带来了巨大挑战。由于LLM权重中存在冗余,近期的研究集中于将权重仅量化推向极低比特(甚至低至2比特)。这降低了内存需求,优化了存储成本,并减少了推理期间的内存带宽需求。然而,由于数值表示的限制,传统的基于标量的权重量化难以实现这种极低的比特。最近关于LLM的向量量化(VQ)的研究表明,通过使用查找表将向量压缩成索引,极低比特模型量化是可行的。本文提出了一种用于LLM极低比特量化的向量后训练量化(VPTQ)方法。我们使用二阶优化来公式化LLM VQ问题,并通过求解优化来指导我们的量化算法设计。我们进一步使用通道独立的二阶优化来细化权重,以实现细粒度的VQ。此外,通过分解优化问题,我们提出了一种简洁有效的码本初始化算法。我们还将VPTQ扩展到支持残差和离群值量化,从而提高模型精度并进一步压缩模型。实验结果表明,在2比特量化下,VPTQ在LLaMA-2上将模型困惑度降低了0.01-0.34,在Mistral-7B上降低了0.38-0.68,在LLaMA-3上降低了4.41-7.34,并且在QA任务上,LLaMA-2的平均准确率提高了0.79-1.5%,Mistral-7B提高了1%,LLaMA-3提高了11-22%。我们的量化算法执行时间仅占SOTA的10.4-18.6%,从而使推理吞吐量提高了1.6-1.8倍。

🔬 方法详解

问题定义:论文旨在解决大语言模型(LLM)在极低比特量化下的性能下降问题。现有的标量量化方法在极低比特(如2比特)时,由于数值表示范围有限,会导致严重的精度损失,难以满足实际应用的需求。此外,传统的向量量化方法可能效率较低,难以适应LLM的大规模参数量。

核心思路:VPTQ的核心思路是利用向量量化(VQ)的优势,将LLM的权重向量压缩成索引,从而实现极低比特的表示。为了优化量化过程,论文采用二阶优化方法来公式化LLM VQ问题,并通过求解该优化问题来指导量化算法的设计。此外,论文还通过通道独立的二阶优化来进一步细化权重,以提高量化精度。

技术框架:VPTQ的整体框架包括以下几个主要阶段: 1. 码本初始化:提出了一种简洁有效的码本初始化算法,为后续的量化过程提供良好的起点。 2. 向量量化:使用二阶优化方法对LLM的权重向量进行量化,将其映射到码本中的索引。 3. 权重细化:通过通道独立的二阶优化来进一步细化量化后的权重,以提高量化精度。 4. 残差和离群值量化:扩展VPTQ以支持残差和离群值量化,进一步提高模型精度和压缩率。

关键创新:VPTQ的关键创新点在于: 1. 二阶优化公式化:将LLM的向量量化问题形式化为二阶优化问题,并利用优化算法来指导量化过程,从而获得更好的量化结果。 2. 通道独立的权重细化:通过通道独立的二阶优化来细化量化后的权重,可以更精细地调整每个通道的权重,从而提高量化精度。 3. 简洁有效的码本初始化:提出了一种简洁有效的码本初始化算法,可以快速生成高质量的码本,为后续的量化过程提供良好的基础。

关键设计:VPTQ的关键设计包括: 1. 二阶优化目标函数:具体的目标函数形式未知,但根据描述,其目的是最小化量化误差,并可能包含正则化项以防止过拟合。 2. 通道独立的二阶优化:具体实现细节未知,但可以推测其目的是针对每个通道独立地进行优化,以更好地适应不同通道的特性。 3. 残差和离群值量化:具体实现细节未知,但可以推测其目的是对量化误差较大的残差和离群值进行特殊处理,以提高整体量化精度。

📊 实验亮点

VPTQ在LLaMA-2、Mistral-7B和LLaMA-3等模型上进行了实验,结果表明,在2比特量化下,VPTQ显著降低了模型困惑度,例如在LLaMA-3上降低了4.41-7.34。在QA任务上,VPTQ也取得了显著的准确率提升,例如LLaMA-3的平均准确率提高了11-22%。此外,VPTQ的量化算法执行时间仅占SOTA的10.4-18.6%,推理吞吐量提高了1.6-1.8倍。

🎯 应用场景

VPTQ可应用于大语言模型的轻量化部署和推理加速,尤其是在资源受限的边缘设备上。通过极低比特量化,可以显著降低模型存储空间和内存带宽需求,从而实现更高效的推理。该技术对于移动设备、嵌入式系统以及其他需要低功耗和低延迟的应用场景具有重要价值。未来,VPTQ有望推动大语言模型在更广泛领域的应用。

📄 摘要(原文)

Scaling model size significantly challenges the deployment and inference of Large Language Models (LLMs). Due to the redundancy in LLM weights, recent research has focused on pushing weight-only quantization to extremely low-bit (even down to 2 bits). It reduces memory requirements, optimizes storage costs, and decreases memory bandwidth needs during inference. However, due to numerical representation limitations, traditional scalar-based weight quantization struggles to achieve such extreme low-bit. Recent research on Vector Quantization (VQ) for LLMs has demonstrated the potential for extremely low-bit model quantization by compressing vectors into indices using lookup tables. In this paper, we introduce Vector Post-Training Quantization (VPTQ) for extremely low-bit quantization of LLMs. We use Second-Order Optimization to formulate the LLM VQ problem and guide our quantization algorithm design by solving the optimization. We further refine the weights using Channel-Independent Second-Order Optimization for a granular VQ. In addition, by decomposing the optimization problem, we propose a brief and effective codebook initialization algorithm. We also extend VPTQ to support residual and outlier quantization, which enhances model accuracy and further compresses the model. Our experimental results show that VPTQ reduces model quantization perplexity by $0.01$-$0.34$ on LLaMA-2, $0.38$-$0.68$ on Mistral-7B, $4.41$-$7.34$ on LLaMA-3 over SOTA at 2-bit, with an average accuracy improvement of $0.79$-$1.5\%$ on LLaMA-2, $1\%$ on Mistral-7B, $11$-$22\%$ on LLaMA-3 on QA tasks on average. We only utilize $10.4$-$18.6\%$ of the quantization algorithm execution time, resulting in a $1.6$-$1.8\times$ increase in inference throughput compared to SOTA.