KV 缓存(KV Cache)是大模型推理优化中最基础、最重要的技术之一。大模型生成文本是一步一步来的:每生成一个词,都要让新词与之前所有词做“注意力计算”。如果不缓存,每步都要重算之前全部词的处理结果,计算量随生成步数线性增长,又慢又贵。
核心思路
- K、V 是什么:注意力机制中,每个词都会被转换成 Query(Q)、Key(K)、Value(V)三组向量,K 和 V 代表“这个词提供了什么信息”
- 缓存 K/V:已经生成的词的 K、V 向量保持不变,存起来复用
- 避免重复计算:新词生成时只需算自己的 Q,去匹配缓存中的 K/V
- 大幅降低推理耗时和算力成本
- 让长对话、长文档生成成为可能(否则上下文越长越慢)
- 显存占用:上下文越长,KV 缓存占用的显存越大
- 优化方向:KV 量化(把缓存从高精度压到低精度)、KV 共享、PagedAttention 等分页管理技术(vLLM 等推理引擎采用)