← 返回题库
推理与部署中等

KV Cache 是什么?如何降低其显存占用?

#KV Cache#自回归解码#显存占用#优化策略

题目

请解释大模型推理中 KV Cache 的作用,并说明其显存占用如何随规模增长,有哪些降低占用的策略。

参考答案

KV Cache 的作用:大模型自回归解码时,每生成一个新 token,需对”整段历史”做注意力。若每步都重算所有历史 token 的 K/V 会非常慢。因此把每层、每头的历史 K/V 缓存下来,新 token 只需计算自己的 Q 去查缓存——用显存换算力

显存占用公式

KV 显存2×L×nkv×dhead×s×batch×bytes\text{KV 显存} \approx 2 \times L \times n_{kv} \times d_{head} \times s \times \text{batch} \times \text{bytes}

其中 LL 为层数、nkvn_{kv} 为 KV 头数、ss 为序列长度。占用随序列长度线性增长,是长上下文推理的显存大头(常超过模型权重本身)。

举例:70B 模型、128K 上下文,单请求 KV Cache 可达数十 GB。

降低占用的策略

  1. GQA / MQA:分组查询注意力让多个 Q 头共享 KV 头,直接减少 nkvn_{kv},从结构上压缩 KV Cache。LLaMA-3、Qwen2 普遍采用。
  2. PagedAttention:分页管理 KV,消除碎片、提升利用率(见 vLLM)。
  3. KV Cache 量化:把缓存压到 INT8/INT4。
  4. KV 淘汰/压缩:H2O、StreamingLLM 等保留关键 token、丢弃冗余。
  5. Prefix Caching:共享系统提示词等公共前缀的 KV。

面试加分点:能写出显存公式,并指出长上下文场景下 KV Cache 才是瓶颈(而非权重),是 Infra 岗的关键区分点。

出处:推理部署面试题(CSDN《大模型最新面试题系列:模型部署》)、vLLM 相关面经。

内容来源

整理自推理部署面试题与 vLLM 相关面经

本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。