跳转至

KV-Latent: Dimensional-level KV Cache Reduction with Frequency-aware Rotary Positional Embedding

会议: ACL 2025 (Long Paper)
arXiv: 2507.11273
代码: https://github.com/ShiLuohe/KV-Latent
领域: 模型压缩 / LLM推理效率
关键词: KV Cache压缩, 维度降采样, RoPE, 潜空间, 推理加速

一句话总结

提出KV-Latent范式,通过对KV头的维度进行降采样将其映射到潜空间,仅需不到1%预训练量的额外训练即可恢复性能,在LLaMA-3-8B上KV Cache减少50%(dqk=dvo=64→50%缓存),同时TTFT延迟降低8%。

背景与动机

LLM推理中KV Cache随序列长度线性增长,成为内存和带宽瓶颈。已有压缩方法分为三个层级:(1) 注意力头级(MQA/GQA,多头共享KV头);(2) 层级(跨层复用,如YOCO、CLA);(3) Token级(驱逐/合并,如H2O、PyramidInfer)。但维度级压缩——直接缩小每个KV头的维度——仍然是未被充分探索的方向。作者观察到KV本质上是将d维隐状态低秩投影到dh维空间,这个潜空间维度可以进一步压缩。

核心问题

  1. 能否直接缩小KV头维度来减少缓存大小?
  2. 降维后RoPE会引入什么问题?如何解决?
  3. Key维度和Value维度对性能的影响是否对称?

方法详解

整体框架

将预训练LLM的WK和WV矩阵做维度降采样(dh→更小的dqk/dvo),然后通过两阶段训练恢复性能。推理时KV Cache存储的是降维后的向量,体积直接缩小。

关键设计

  1. 维度降采样初始化: 利用RoPE的通道分组特性,对KV权重矩阵做均匀降采样(每隔k列取一列)。同时对Q和O做对应的降采样以保持兼容。FFN层添加LoRA以适应修改后的注意力。关键insight:由于RoPE的旋转对称性,均匀采样足以保留信息,不需要SVD等复杂方法。

  2. 两阶段训练策略: Stage I(In-Layer蒸馏):逐层对齐原模型和压缩模型的隐状态,保留层级表征。Stage II(端到端微调):常规语言建模损失微调。总训练量仅需10亿token(不到LLaMA-3预训练的1%)。

  3. 频率感知RoPE改进: 发现RoPE在低维度下不稳定——高频分量的周期太短,在长序列中产生噪声而非有用的位置信息。解决方案:修改频率采样,排除高频部分、放大低频部分。具体做法:将原始RoPE的频率θ_j = θ^{-(j-1)/δ}中的δ从d/2改为降维后的维度,使得保留的频率分量都是低频的。这使得16维的RoPE也能保持稳定的长距离衰减。

损失函数 / 训练策略

  • Stage I: MSE蒸馏损失,逐层对齐隐状态
  • Stage II: 标准语言建模交叉熵损失
  • 数据:FineWeb-edu 1B token子集
  • 硬件:8×A100 80G

实验关键数据

模型 dqk/dvo 方法 MMLU OBQA ARC 平均 NIH KV Cache 缓存减少
L3-8B 128/128 基线 35.3 35.5 55.5 42.1 92% 491MB -
L3-8B 64/64 Train 35.0 35.1 53.8 41.3 92% 245MB ↓50%
L3-8B 16/16 Train 31.0 29.5 38.5 33.0 6% 64MB ↓87%
L2-7B 128/128 基线 28.9 29.4 30.7 29.7 32% 1966MB -
L2-7B 64/64 Train 28.9 30.0 32.8 30.6 32% 983MB ↓50%
  • TTFT延迟降低8-13%
  • dqk=dvo=64时性能几乎无损(平均42.1→41.3)
  • dqk=dvo=16时性能严重下降(特别是NIH从92%→6%),存在下界

消融实验要点

  • Key vs Value敏感度: 模型对dvo(Value维度)更敏感——dvo缩小导致的性能下降大于dqk缩小,因为Value直接影响输出而Key只影响注意力权重
  • 最优dqk/dvo组合: dqk=32, dvo=64是一个好的balance(缓存比64/64更小但性能损失小)
  • RoPE改进效果: 频率感知RoPE在低维度(16/32维)下显著提升NIH通过率
  • 蒸馏 vs 直接训练: 在1B token预算下,蒸馏方法未必优于直接训练(信息传递需要更多数据)
  • LoRA rank: rank=256效果最好,过小影响FFN适应能力
  • GQA模型更难压缩: LLaMA-3(已有GQA)比LLaMA-2(MHA)更难通过KV-Latent获益

亮点

  • 新视角: 在"头级-层级-Token级"之外开辟了"维度级"KV缓存压缩的新方向
  • 低成本: 仅需1%预训练量的额外训练,工程友好
  • Key/Value不对称发现: 首次系统验证dqk和dvo可以独立设置,Value维度影响更大
  • RoPE频率分析: 对低维RoPE不稳定性的分析和修复有独立学术价值

局限性 / 可改进方向

  • 训练数据仅1B token,更多token可能恢复更好的性能
  • dqk=dvo=16时完全失败,维度下界的理论分析缺乏
  • 仅在LLaMA-2/3上验证,未测试Qwen/Mistral等架构
  • 蒸馏策略未充分优化(逐层MSE可能不是最优蒸馏目标)
  • 与MLA(DeepSeek的Multi-head Latent Attention)的详细对比缺失

与相关工作的对比

  • vs MLA (DeepSeek-V2): MLA也做KV的潜空间投影,但是从预训练开始就redesign的架构;KV-Latent可以从已有模型续训,更灵活
  • vs GQA: GQA在头数维度压缩,KV-Latent在头维度压缩,二者正交可叠加
  • vs Token级方法(H2O等): Token级方法动态决定哪些token保留,KV-Latent对所有token均匀降维,二者也可叠加

启发与关联

  • KV-Latent和GQA的正交性意味着可以同时使用,获得更大的缓存压缩
  • Value维度比Key维度重要的发现,可能影响未来模型架构设计(asymmetric attention head)
  • 频率感知RoPE的修改可以独立应用到任何需要低维位置编码的场景

评分

  • 新颖性: ⭐⭐⭐⭐ 维度级KV压缩是新角度,但idea相对直觉
  • 实验充分度: ⭐⭐⭐ 只在两个模型上验证,benchmark较少
  • 写作质量: ⭐⭐⭐⭐ RoPE分析部分特别清晰
  • 价值: ⭐⭐⭐⭐ 打开了KV缓存压缩的新维度,与已有方法互补