TRANSFORMER · INTERACTIVE LAB

KV Cache 到底缓存了什么?

把自回归生成看成一次不断变长的离散计算:每生成一个新 token,旧 token 的 Key / Value 不会改变。KV Cache 用显存保存它们,从而避免重复投影。

Attention(Q,K,V) = softmax(QKᵀ/√d) V
本步 QKV 投影次数1仅新 token
累计投影工作量4 vs 10有缓存 vs 无缓存
单请求 KV 显存2.0 MiBFP16,示例维度 4096
缓存换来的代价空间换时间上下文越长,占用越大

一次解码步里发生了什么

切换模式,观察同一个生成步骤中哪些旧 token 被重新计算。
token 序列正在生成 token 4
Q / K / V 线性投影蓝色 = 本步真正执行
因果注意力 QKᵀ(第 i 行只能看 0…i)
本步计算已缓存 K已缓存 V