返回 AI 基础设施 思维导图
中文·English
🖥️ AI 基础设施ID: kv-cache-optimization

KV 缓存优化

KV Cache Optimization
🎯核心定义
KV Cache 优化 = 压缩自回归推理中逐层缓存的 K/V 张量,破解长上下文与大批次的显存瓶颈。显存公式: 2×2×L×H×d×s×b2 \times 2 \times L \times H \times d \times s \times b 字节(每 token 的 K、V 两张 × FP16 的 2 字节 × 层数 × 头数 × 头维 × 序列长 × 批大小)。四条主线: ① 结构压缩 —— GQA 让多个 Q 头共享一组 KV 头(如 64 → 8,显存 /8);MLA(DeepSeek-V2)把每层的 K/V 压缩成低秩潜在向量 ctKV=WDKVhtc_t^{KV} = W^{DKV} h_t,推理时 WUKW^{UK} 的投影被吸收进 WQW^Q 与输出投影,只缓存潜在向量——对照 MHA 的 86GB,KV 显存降到 5.1GB(降 93.3%);② KV 量化 —— K/V 用 INT8/FP8 存储,显存减半且精度损失小;③ StreamingLLM —— 保留“attention sink”(前 4 个 token)+ 滑动窗口,长会话显存从 O(s)O(s) 降为 O(窗口)O(窗口);④ H2O 稀疏 —— 按累计注意力分数只保留 heavy-hitter token,动态替换。
💡使用场景
长上下文(32K/128K)在线推理、多轮对话服务、PD 分离的 decode 侧;面试高频“KV Cache 显存公式”“GQA 与 MHA 区别”“MLA 如何省显存”“长对话显存爆炸怎么办”。
解决的核心痛点
大批次 + 长序列下 KV 显存增速远超权重(每 token 新增 2×2×L×H×d2 \times 2 \times L \times H \times d 字节),直接限制并发与上下文长度。GQA/MLA 从结构上减一个数量级(MLA 86GB → 5.1GB),KV 量化再减半,StreamingLLM/H2O 把显存变成与窗口相关而非全长——多种手段叠加后,同卡可服务数倍的并发连接与更长的上下文。
🎯5 个高频面试考点 (Exam Points)
1
写出 KV Cache 显存公式 2×2×L×H×d×s×b2 \times 2 \times L \times H \times d \times s \times b 并解释每个因子的含义;70B(如 80 层、64 头、128 头维)在 8K 上下文、批 1 时约为多少 GB?
2
GQA 与 MHA/MQA 的对比: 为什么共享 KV 头(如 64 → 8)几乎不掉精度(注意力头冗余),显存降多少?
3
MLA 的低秩压缩: ctKV=WDKVhtc_t^{KV} = W^{DKV} h_t 如何把逐层 KV 压成潜在向量;推理时为什么能吸收进 WQW^Q/WUW^U 融合;对照数字 86GB → 5.1GB?
4
KV 量化(INT8/FP8): 为什么 K/V 比激活更适合量化(数值范围稳定);显存减半的代价与 GQA/MLA 如何叠加?
5
StreamingLLM 的 attention sink 为什么必须保留(softmax 归一化稳定性,前 4 个 token);H2O 如何按累计注意力分数保留 heavy-hitter token,与滑动窗口的区别?
更新于 2026-08-12
🎯
检验攻克程度:针对「KV 缓存优化」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点FlashAttention 与 Online Softmax下一个知识点Prefill/Decode 分离

🔗 更多 AI 基础设施 知识点卡片

激活显存估算Agent 运行时(跨模块)弹性伸缩与成本优化检查点与故障恢复