
KV Cache 原理详解:为什么它决定了推理速度
KV Cache:大模型推理的内存瓶颈 如果说 Transformer 架构决定了一个模型的智力上限,那么 KV Cache 就决定了它在实际应用中的性能下限。在 2026 年,KV Cache 已经成为大模型推理系统最核心的优化对象——理解它,是掌握大模型工程的第一课。 一、什么是 KV Cache 1.1 问题:为什么需要缓存 在 Transformer 的自回归推理中,生成第 $t$ 个 Token 时需要计算它与之前所有 Token 的注意力: $$\text{Attention}(q_t, K_{1:t}, V_{1:t}) = \text{softmax}\left(\frac{q_t K_{1:t}^T}{\sqrt{d_k}}\right) V_{1:t}$$ 注意:$K_{1:t}$ 和 $V_{1:t}$ 包含了从第 1 到第 $t$ 个位置的 Key 和 Value。 如果没有缓存:每生成一个新 Token,都需要重新计算所有历史 Token 的 $K$ 和 $V$,这导致了 $O(t^2)$ 的重复计算。 有了缓存:只需计算当前 Token 的 $q_t$,从缓存中读取 $K_{1:t-1}$ 和 $V_{1:t-1}$,再计算新的 $k_t, v_t$ 并追加到缓存。 ┌─────────────────────────────────────────────┐ │ 自回归推理第 t 步 │ ├─────────────────────────────────────────────┤ │ │ │ 无缓存: X_1..t → 全部重新计算 → Y_t │ │ (计算量: O(t)) │ │ │ │ 有缓存: X_t → Q_t ───────────→ Y_t │ │ ↑ │ │ KV Cache (K_1..t-1, V_1..t-1) │ │ (计算量: O(1)) │ │ │ └─────────────────────────────────────────────┘ 1.2 KV Cache 的存储内容 每个 Transformer 层、每个 Token 需要存储: ...