新 KV 缓存压缩技术在不损失准确性的情况下将 LLM 内存降低 50 倍
Source: VentureBeat
Source: …
企业级大语言模型的内存瓶颈
大文档或长时程 AI 应用很快会遇到 内存瓶颈。随着上下文长度的增长,存放模型工作记忆(键值对)的 KV cache 也会等比例扩大,消耗昂贵的硬件资源。
KV Cache 问题
- 顺序生成 – LLM 逐 token 生成。为避免对每个新 token 重新计算整个对话历史,它们会存储每个已处理 token 的数学表示(键向量和值向量)。
- 线性扩展 – KV cache 随每个 token 增长,在企业场景下(例如海量法律合同、多轮客服对话、自治编码代理)单次请求的内存很快膨胀至数 GB。
- 性能影响 – 正如论文合著者 Adam Zweiger 对 VentureBeat 所述:
“实际上,KV cache 内存是超长上下文服务模型的最大瓶颈。它限制并发度,迫使使用更小的批次,或需要更激进的卸载策略。”
现有压缩策略
| 策略 | 工作原理 | 局限性 |
|---|---|---|
| Token 驱逐 / 合并 | 删除或合并不重要的 token。 | 仅适用于轻度压缩;在高压缩比下质量急剧下降。 |
| 简单截断 | 达到内存上限后丢弃最旧的上下文。 | 丢失旧信息,削弱下游性能。 |
| 上下文摘要 | 暂停生成,对旧上下文生成简短摘要,用摘要替换原始记忆。 | 损失严重,可能丢弃关键细节。 |
| Cartridges(基于梯度) | 通过端到端优化训练潜在 KV‑cache 模型。 | 需要在昂贵 GPU 上耗时数小时才能处理单个上下文——对实时企业使用不切实际。 |
注意匹配:快速、高压缩率的 KV‑Cache 压缩
MIT 研究人员提出的一项新技术——Attention Matching——能够在几乎不损失质量的情况下将 KV 缓存压缩至 50×,且速度比基于梯度的方法快几个数量级。
核心洞见
要忠实地模拟模型与记忆的交互,在压缩原始键‑值向量时必须保持两个数学属性:
- 注意力输出 – 模型查询记忆时实际检索到的信息。
- 注意力质量(Attention mass) – 相比所有其他 token,某个 token 所贡献的相对权重。
只要压缩后的记忆同时匹配这两者,即使面对未见过的提示,也会表现得与原始记忆无异。
“注意匹配在某种程度上是进行潜在上下文压缩的‘正确’目标,因为它直接针对压缩后每个注意力头的行为进行保留,” Zweiger 解释道。
压缩流程
-
生成参考查询 – 小规模探测查询,用来近似模型在给定上下文上将要执行的内部搜索类型。
- 重复‑预填充:追加一个隐藏提示,让模型重复先前的上下文。
- 自我学习:提示模型执行合成任务(例如提取关键事实、将日期/数字格式化为 JSON)。
-
选择代表性键 – 根据诸如最高注意力值等信号,挑选出要保留的键子集。
-
拟合匹配值 – 使用参考查询和选中的键,求解能够保持注意力质量的值(以及一个标量偏置项)。
- 这一步使用 普通最小二乘 (OLS) 或 非负最小二乘 (NNLS) 等简单代数方法完成——无需梯度下降。
-
分块压缩(可选) – 将 KV 缓存划分为可管理的块进行处理,以高效应对超长上下文。
为什么更快
- 无需基于梯度的训练 – 整个优化过程归结为求解线性方程组,计算成本极低。
- 直接目标 – 通过直接针对注意力行为而非间接启发式进行优化,方法可瞬间收敛。
企业部署要点
- 可扩展内存 – 在不牺牲答案质量的前提下,实现 KV‑cache 大小最高 50 倍的缩减,使相同硬件上能够处理更长的上下文。
- 实时可行性 – 压缩耗时为毫秒到秒级,适用于生产工作负载。
- 兼容性 – 可直接替换现有 KV‑cache 处理方式;无需重新训练模型。
Attention Matching 因此提供了一种实用的高性能解决方案,突破了长期限制企业 AI 应用的 KV‑cache 内存瓶颈。
Source: …
注意力匹配实战
为了了解该方法在真实场景中的表现,研究人员使用 Llama 3.1 和 Qwen‑3 等流行开源模型,对两类企业数据集进行了系列压力测试。
| 数据集 | 描述 |
|---|---|
| QuALITY | 一个标准阅读理解基准,使用 5 000–8 000 字的文档。 |
| LongHealth | 一个高度密集的 60 000 token 数据集,包含多位患者的复杂病历。 |
关键发现
- KV‑缓存压缩: 注意力匹配可以将模型的 KV 缓存压缩 50×,且不降低准确率,文档处理时间仅为几秒。
- 速度与已有方法的对比: 之前,Cartridges 需要 数小时的高强度 GPU 计算 才能在相同上下文下达到可比的质量。
- 密集医学记录: 标准行业解决方案完全失效。摘要导致模型准确率下降到 “无上下文” 基线——即 AI 表现得好像根本没有阅读文档。
“主要的实际权衡在于,如果你想在信息高度密集的任务中几乎保留所有上下文,通常需要使用较温和的压缩比率以保持强准确性。” – Zweiger
压缩权衡
| 压缩比率 | 结果 |
|---|---|
| 50×(默认) | 对大多数任务而言,速度与质量的最佳平衡。 |
| 100×(极端) | 基于梯度的 Cartridges 在高度复杂数据上优于注意力匹配。 |
| 200×(组合) | 通过在标准文本摘要之上运行注意力匹配实现;在使用极小内存占用的同时,准确率与仅摘要相当。 |
在线压缩(概念验证)
- 在 AIME 数学推理基准上进行测试。
- 强制模型在严格的物理内存上限下求解问题。
- 每当内存满时,系统 暂停,使用注意力匹配即时压缩工作内存 50 %,随后恢复。
- 即使 KV 缓存在思考过程中被连续 六次 缩小,模型的解题表现仍可与无限内存模型相媲美。
实现注意事项
- 代码可用性: 研究人员已发布注意力匹配的代码,但它 不是即插即用的更新。
- 模型层技术: Zweiger 说明:“我认为潜在压缩最好被视为一种模型层技术。虽然可以在任何现有模型之上使用,但需要访问模型权重。”
- 闭源 API 限制: 仅依赖闭源 API 的企业无法自行实现,需要 开源权重模型。
集成挑战
- 现有商业推理引擎使用 前缀缓存、可变长度内存打包 等技巧来提升服务器效率。
- 将这项新压缩技术无缝嵌入这些系统将需要 专门的工程投入。
立即的企业使用案例
“我们认为在摄取后进行压缩是一个有前景的用例,即在处理完大型工具调用输出或长文档后立即进行压缩。” – Zweiger
前景展望
- 向 机械、潜在空间压缩 的转变与主要 AI 公司的未来产品路线图相吻合。
- Zweiger 认为:“我们看到压缩正从企业自行实现,转向模型提供商直接交付。”
- OpenAI 现已提供一个 黑盒压缩端点,返回不透明对象而非纯文本摘要,体现了供应商管理潜在压缩的趋势。