返回文章列表
记忆与上下文

LowRAM:从键值结构差异出发压缩 KV Cache

阅读约 2 分钟

导语

在自回归生成中,模型需要反复访问历史 token 的 Key 和 Value,因此 KV Cache 会随上下文长度持续增长。它不仅占用大量显存,也会限制批处理规模和解码吞吐。现有方案通常从 token、层、特征维度或数值精度入手,但不同缓存分量之间可能还存在尚未利用的结构冗余。

LowRAM 的核心判断是:Key 和 Value 不应被视为完全对称的对象。论文发现,在同一个注意力头内,一个 token 的 Value 往往能够根据对应的 Key 预测出来。基于这一观察,研究者设计了一个可在测试时适配的组合式压缩流程。

核心方法

  • 低秩压缩 Key:LowRAM 使用跨层低秩因子化减少 Key Cache 的存储量,利用不同层之间的相关性,而不是只在单层内部做压缩。
  • 预测式存储 Value:针对每个注意力头拟合轻量预测器,以 Key 为输入重建 Value。对于重建误差较小的 token,不再完整保存原始 Value。
  • 保留困难样本的残差:预测器无法准确重建的 token 会保存残差修正,使系统把存储空间集中给最难压缩的部分。这种做法在接近无损的表现下实现了约 4 倍 Value Cache 压缩。
  • 降低运行时开销:预测器可以通过元学习初始化,从而减少 prefill 阶段的拟合成本;在允许一次性付出适配开销的多查询推理场景中,也可以从头训练。
  • 选择性重建:解码时并不需要对所有 KV 对执行完整恢复,只重建被选中的子集,以控制额外计算。论文报告,在 4 倍 KV 压缩、上下文长度达到 262K 的测试中,峰值解码吞吐最高可提升 5 倍。

意义与限制

LowRAM 的价值不只是给出一个新的压缩比例,而是把 Key 与 Value 的结构差异纳入缓存设计。它与量化、缓存淘汰等方法利用的冗余维度不同,因此可以叠加使用。论文给出的组合结果显示,在达到 26.9 倍压缩时,性能保持在基线的 94.5%。

这类方案尤其适合长文档问答,以及多个查询共享同一上下文的服务场景:预测器可以在一次适配后重复使用。不过,测试时拟合、残差选择和重建操作仍会引入额外流程,实际收益取决于硬件、上下文长度和服务负载。总体而言,LowRAM 展示了一个重要方向:KV Cache 压缩不必只依赖更低精度或简单删减,也可以利用模型内部 Key-Value 之间的可预测关系。

来源:Hugging Face Daily Papers

评论

正在确认登录状态……

正在加载评论……

相关文章

CCTest · Blog
EvoMemState:让个人智能体从“记事实”走向“理解记忆状态”
记忆与上下文
cctest.ai
记忆与上下文

EvoMemState:让个人智能体从“记事实”走向“理解记忆状态”

EvoMemState提出一种面向长期记忆的状态中心框架,将事实、事实之间的关系以及当前请求下的使用策略结合起来。它试图解决个人智能体在偏好变化、信息冲突和记忆适用范围判断上的常见问题。

阅读全文