论文

SPECTRA:通过频谱变换编码将 KV 缓存推向 2 位悬崖

SPECTRA: Pushing the KV Cache Beyond the 2-Bit Cliff via Spectral Transform Coding

模型推理KV Cache

摘要

大语言模型 (LLM) 在代理时代越来越多地阅读长输入,从整个文档和代码库到多轮对话。然后,它们的推理内存由键值 (KV) 缓存、存储的注意力键以及模型读取和生成的每个标记的值主导。由于缓存随着上下文长度而增长,并且在每个生成的词元时都会重新完整读取,因此较长的上下文意味着更多的 GPU 内存。为了降低成本,大多数现有方法通过将每个存储值降低到相同的低精度来压缩 KV 缓存,这种技术称为量化。他们可以将每个值推至近两位,但很少进一步,因为质量在这个 2 位悬崖处急剧下降:四个级别对于高速缓存的异常值来说太少了,其中一些大条目消耗了级别并将其余的崩溃为噪声。一种自然的补救措施是在重要的通道(特征维度)上花费更多的比特,而在其他通道上花费更少的比特,但是原始缓存不提供句柄:它的通道是强相关的,因此没有一个通道更重要。我们的分析表明,一旦缓存旋转到根据其自身统计数据计算的坐标系中,该句柄就会出现,从而消除这些相关性。在那里,一小部分渠道承载了几乎所有信息,将预算花在这少数渠道上比平均分配要准确得多。在此分析的指导下,我们开发了 SPECTRA,这是一种 无需训练 嵌入式编解码器,它将缓存重新编码到该坐标系中,并将比特预算集中在承载信号的通道上。在 Llama-3.1-8B 和 Qwen2.5-7B 的长上下文基准测试中,SPECTRA 在 4 倍压缩下几乎无损,在统一量化已崩溃的 8 倍压缩下具有竞争力,并达到 12 倍,将可用压缩推向 2 位悬崖,因此相同的 GPU 可以容纳更长的上下文和更大的批次。