题目
请解释大模型推理中 KV Cache 的作用,并说明其显存占用如何随规模增长,有哪些降低占用的策略。
参考答案
KV Cache 的作用:大模型自回归解码时,每生成一个新 token,需对”整段历史”做注意力。若每步都重算所有历史 token 的 K/V 会非常慢。因此把每层、每头的历史 K/V 缓存下来,新 token 只需计算自己的 Q 去查缓存——用显存换算力。
显存占用公式:
其中 为层数、 为 KV 头数、 为序列长度。占用随序列长度线性增长,是长上下文推理的显存大头(常超过模型权重本身)。
举例:70B 模型、128K 上下文,单请求 KV Cache 可达数十 GB。
降低占用的策略:
- GQA / MQA:分组查询注意力让多个 Q 头共享 KV 头,直接减少 ,从结构上压缩 KV Cache。LLaMA-3、Qwen2 普遍采用。
- PagedAttention:分页管理 KV,消除碎片、提升利用率(见 vLLM)。
- KV Cache 量化:把缓存压到 INT8/INT4。
- KV 淘汰/压缩:H2O、StreamingLLM 等保留关键 token、丢弃冗余。
- Prefix Caching:共享系统提示词等公共前缀的 KV。
面试加分点:能写出显存公式,并指出长上下文场景下 KV Cache 才是瓶颈(而非权重),是 Infra 岗的关键区分点。
出处:推理部署面试题(CSDN《大模型最新面试题系列:模型部署》)、vLLM 相关面经。
内容来源
整理自推理部署面试题与 vLLM 相关面经
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。