用一个例子理解
生成一段话时,已经处理的前文不必每出一个新词都重新计算所有历史键和值。缓存把可复用部分留下,新一步追加自己的键和值,再完成当前注意力计算。
看图理解把过程看清楚
01处理前文
计算各层历史 K / V
02保存并复用
下一步读取已有缓存
03追加新词元
计算新的 K / V 并继续
再深入一层
在常见因果自回归模型中,旧位置不会因为未来新词元出现而改变其历史键和值,因此可以按层复用。当前查询仍需要和允许的历史内容交互,缓存不是完全免去计算。缓存通常随序列增长,占用显存或内存。
它不能说明什么
KV 缓存是推理计算状态,不是用户偏好记忆,也不是数据库。它不会自动扩大模型宣称支持的上下文;不同架构、滑动窗口或缓存策略有各自限制。
接下来可以了解
资料依据
- Hugging Face · Caching:自回归推理中按层复用历史 K/V;注意力 Q/K/V 和缓存内存开销。
资料核验于 2026-09-09;原论文用于说明机制,文中例子为教学示例。