Nvidia研究团队推出了一种名为KV Cache Transform Coding (KVTC)的新技术,能够将大语言模型的内存占用压缩高达20倍,同时保持99%以上的准确率。这项技术的突破之处在于——无需修改模型权重本身。

解决KV缓存瓶颈

在现代LLM服务中,键值缓存(KV Cache)是支持多轮对话和长上下文任务的核心机制。它存储了对话历史中每个token的隐藏表示,让模型无需重新计算整个对话历史。

然而,这个缓存会快速增长到数十GB,成为GPU内存的严重瓶颈。当多用户并发时,内存耗尽往往比计算能力更早成为限制因素。

现有的压缩方案各有缺陷:网络传输压缩率低、实时计算开销大、量化技术可能导致精度损失,而稀疏化方法则需要永久修改模型权重。

借鉴媒体压缩的智慧

KVTC的核心灵感来自JPEG等媒体压缩格式。它采用三步流程:

首先,使用主成分分析(PCA)对KV缓存数据进行特征对齐。这一步在初始校准阶段离线完成,不会影响推理速度。

其次,通过动态规划算法自动分配每个数据维度的存储预算——关键特征获得高精度,次要特征获得较少位数或被丢弃。

最后,将优化后的量化数据打包并通过nvCOMP库进行熵编码,全部在GPU上并行完成。

解压缩时采用分块并行策略,让模型能够在解压第一批数据的同时开始计算响应,显著降低首token延迟。

性能验证

在Llama 3系列、Mistral NeMo和Qwen 2.5等模型上的测试显示:

  • 20倍压缩率下,准确率损失不到1个百分点
  • 8倍压缩时,Qwen 2.5 1.5B的编码准确率仅下降0.3个百分点
  • 对比KIVI和GEAR方法在5倍压缩时就开始大幅降质
  • 8000 token提示下,首token延迟从3秒降至380毫秒,提升8倍

企业部署建议

Nvidia研究员Adrian Lancucki建议,KVTC最适合长上下文、多轮对话场景,如编程助手、代理推理工作流和迭代式RAG应用。对于短对话则收益有限,因为最新token的滑动窗口占主导地位。

该技术将集成到Dynamo框架的KV Block Manager中,与vLLM等主流推理引擎兼容。由于不改变模型的注意力机制,KVTC理论上可与Dynamic Memory Sparsification等token驱逐技术配合使用。

随着模型向数百万token上下文窗口演进,KV缓存压缩很可能成为AI基础设施的标准化组件,就像视频流媒体中的压缩协议一样。