Unlocking Data-free Low-bit Quantization with Matrix Decomposition for KV Cache Compression

📄 arXiv: 2405.12591v1 📥 PDF

作者: Peiyu Liu, Ze-Feng Gao, Wayne Xin Zhao, Yipeng Ma, Tao Wang, Ji-Rong Wen

分类: cs.CL

发布日期: 2024-05-21

备注: 11 pages, 6 figures


💡 一句话要点

提出DecoQuant,一种基于矩阵分解的无数据低比特量化方法,用于压缩KV缓存。

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

关键词: KV缓存压缩 低比特量化 张量分解 无数据量化 大语言模型 模型推理加速

📋 核心要点

  1. 现有KV缓存压缩方法通常需要在精度和数据依赖性之间进行权衡,限制了其在实际LLM部署中的应用。
  2. DecoQuant通过张量分解调整矩阵的异常值分布,将量化难度转移到局部张量,从而实现无数据低比特量化。
  3. 实验表明,DecoQuant在保持生成质量的同时,显著降低了内存占用,最高可达75%的压缩率。

📝 摘要(中文)

本文提出DecoQuant,一种新颖的基于张量分解的无数据低比特量化技术,旨在有效压缩大型语言模型(LLM)的KV缓存。现有方法通常牺牲精度或需要额外数据进行校准,限制了其在LLM部署中的实用性。DecoQuant的核心思想是通过执行张量分解来调整原始矩阵的异常值分布,从而将量化难题从矩阵转移到分解后的局部张量。研究发现,异常值主要集中在小的局部张量上,而大的张量往往具有较窄的值范围。基于此,DecoQuant对大的张量应用低比特量化,同时保持小张量的高精度表示。此外,利用所提出的量化方法压缩LLM的KV缓存以加速推理,并开发了专门为DecoQuant量身定制的高效反量化内核。实验结果表明,DecoQuant表现出显著的效率提升,在保持相当的生成质量的同时,内存占用减少高达约75%。

🔬 方法详解

问题定义:大型语言模型(LLM)的KV缓存占用大量内存,成为推理加速的瓶颈。现有的KV缓存压缩方法,如量化,通常需要额外的校准数据或会显著降低模型精度,难以满足实际部署需求。因此,如何在不依赖额外数据且不损失过多精度的情况下,有效压缩KV缓存是一个关键问题。

核心思路:DecoQuant的核心思路是利用张量分解技术,将原始KV缓存矩阵分解为多个局部张量。通过这种分解,原始矩阵中的异常值会被集中到少数几个小的局部张量中,而大部分较大的张量则具有更窄的值范围。这样,就可以对大的张量进行低比特量化,而对包含异常值的小张量保持高精度,从而在整体上实现高效的压缩。

技术框架:DecoQuant的整体框架包括以下几个步骤:1) 对KV缓存矩阵进行张量分解,例如使用SVD或其他矩阵分解方法。2) 分析分解后的局部张量的数值分布,识别包含异常值的小张量和值范围较窄的大张量。3) 对大张量应用低比特量化,例如INT4或INT8量化。4) 对小张量保持高精度表示,例如FP16或FP32。5) 开发高效的反量化内核,用于在推理时将量化后的张量恢复到原始精度。

关键创新:DecoQuant的关键创新在于其无数据(data-free)的量化方法。与需要额外数据进行校准的量化方法不同,DecoQuant仅依赖于KV缓存矩阵本身的结构和数值分布,通过张量分解来调整量化难度。这种方法避免了对额外数据的依赖,使其更易于部署和应用。

关键设计:DecoQuant的关键设计包括:1) 选择合适的张量分解方法,以有效地将异常值集中到少数局部张量中。2) 设计一种自适应的量化策略,根据局部张量的数值分布动态调整量化比特数。3) 开发高效的反量化内核,以减少量化和反量化带来的额外计算开销。具体的参数设置和损失函数取决于所选择的张量分解方法和量化策略。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,DecoQuant在压缩KV缓存方面表现出色,能够在保持与原始模型相当的生成质量的前提下,将内存占用减少高达75%。与现有的量化方法相比,DecoQuant无需额外数据进行校准,且能够实现更高的压缩率和更低的精度损失。这些结果证明了DecoQuant在LLM部署中的实用性和有效性。

🎯 应用场景

DecoQuant可广泛应用于各种需要加速LLM推理的场景,例如云端服务器、边缘设备和移动设备。通过降低KV缓存的内存占用,DecoQuant可以显著提高LLM的推理速度和吞吐量,降低部署成本,并使LLM能够在资源受限的设备上运行。该技术还有助于推动LLM在自然语言处理、机器翻译、文本生成等领域的更广泛应用。

📄 摘要(原文)

Key-value~(KV) caching is an important technique to accelerate the inference of large language models~(LLMs), but incurs significant memory overhead. To compress the size of KV cache, existing methods often compromise precision or require extra data for calibration, limiting their practicality in LLM deployment. In this paper, we introduce \textbf{DecoQuant}, a novel data-free low-bit quantization technique based on tensor decomposition methods, to effectively compress KV cache. Our core idea is to adjust the outlier distribution of the original matrix by performing tensor decomposition, so that the quantization difficulties are migrated from the matrix to decomposed local tensors. Specially, we find that outliers mainly concentrate on small local tensors, while large tensors tend to have a narrower value range. Based on this finding, we propose to apply low-bit quantization to the large tensor, while maintaining high-precision representation for the small tensor. Furthermore, we utilize the proposed quantization method to compress the KV cache of LLMs to accelerate the inference and develop an efficient dequantization kernel tailored specifically for DecoQuant. Through extensive experiments, DecoQuant demonstrates remarkable efficiency gains, showcasing up to a $\sim$75\% reduction in memory footprint while maintaining comparable generation quality.