KV Cache 详解:新手也能理解的 LLM 推理加速技巧
在大语言模型(LLM)推理时,我们通常使用 KV Cache(Key-Value Cache) 来加速计算,避免重复计算已有的 token。这篇文章将从零开始,帮助你理解 KV Cache 的作用、工作原理,以及它如何显著提升推理效率。

1. KV Cache 在推理中的作用
在 Transformer 生成文本 时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。
对于 标准的自注意力(Self-Attention),完整计算的公式是:
其中:
-
Q:当前 token 的查询向量
-
K:所有 tokens 的键向量
-
V:所有 tokens 的值向量
在训练时,所有 K, V 都是同时计算的。但在 推理(inference) 时,我们可以用 KV Cache 来优化计算。
2. 什么是 KV Cache?

在 Transformer 生成文本的过程中,模型是 自回归(Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。例如:
-
输入:"The cat is"
-
生成:"The cat is cute"
-
继续生成:"The cat is cute and"
在标准的 Transformer 自注意力(Self-Attention)计算中,每个新 token 都需要重新计算整个序列的 Key(K)和 Value(V),即:



被折叠的 条评论
为什么被折叠?



