返回 大语言模型 思维导图
中文·English
大语言模型ID: kv-cache-management

KV Cache 管理

KV Cache Management
🎯核心定义
自回归解码时每个新 token 都要 attend 全部历史,把历史 K/V 缓存起来避免重复计算;缓存大小 =22LHdsb= 2 \cdot 2 \cdot L \cdot H \cdot d \cdot s \cdot b(fp16 每元素 2 字节 × K/V 两份 × 层数 × 头数 × 每头维度 × 序列长 × batch);LLaMA-3 70B 在 s=8192s = 8192b=32b = 32 时约 687GB,远超其 140GB 权重,GQA 8 组后约 86GB。管理手段:PagedAttention(vLLM) 以 16 token 为块用页表管理,消除碎片;StreamingLLM 用 attention sink + 滚动窗口;PD 分离把 Prefill 与 Decode 拆到不同实例。
💡使用场景
所有自回归推理与长上下文服务;面试高频:给定层数/头数/维度/序列长估算 KV 显存,并比较 GQA/MLA/量化对缓存的影响(跨模块,详见 AI_Infra 的 KV Cache 与 PagedAttention 指南)。
解决的核心痛点
缓存随序列线性增长、是推理第一大显存开销,且固定预分配造成 50-60% 以上碎片浪费;PagedAttention 把"占用与位置"解耦,碎片降到接近 0,吞吐提升 2-4 倍(vLLM 论文最高 24 倍对比 FasterTransformer);StreamingLLM 把每层缓存压到固定窗口,支持超长流式对话;PD 分离避免 Prefill 的高算力请求拖慢 Decode 的低算力请求。
🎯5 个高频面试考点 (Exam Points)
1
KV cache 显存公式 22LHdsb2 \cdot 2 \cdot L \cdot H \cdot d \cdot s \cdot b 每项含义?给一组具体数字?
2
为什么 KV cache 只在推理出现、训练不需要?(训练并行算整序列,推理串行生成)
3
PagedAttention 的原理?块大小、页表如何减少碎片?
4
StreamingLLM 的 attention sink 是什么?为什么前几个 token 特殊?
5
GQA、MLA、INT4 量化分别把 KV cache 降到多少?(687 → 86GB 等)
更新于 2026-08-12
🎯
检验攻克程度:针对「KV Cache 管理」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点推测解码(跨模块)下一个知识点缩放点积注意力

🔗 更多 大语言模型 知识点卡片

Agent 与工具调用对齐税与偏好数据注意力变体 MHA/MQA/GQA评测基准 MMLU/GSM8K