外观
Prefill、Decode 与 KV Cache 是什么?
标准回答
Prefill 处理已有输入;Decode 逐步生成新 Token;KV Cache 保存先前 Token 在注意力层中的 Key 和 Value,避免每一步重复计算这些历史内容。
关键机制
- KV Cache 用额外内存换取部分计算节省;占用与序列长度、层数、KV 头数、精度和并发等有关。
- 长提示通常增加输入处理成本;长输出增加生成步数。首 Token 慢与持续输出慢,应分阶段定位。
- KV Cache 是推理状态缓存;提示前缀缓存利用可复用前缀;答案缓存直接复用结果。这三者的命中条件与风险不同。
通俗例子
输入很长手册后,第一段文字等了很久,但后续输出流畅,可能是输入处理或排队开销较大。不能只凭首 Token 耗时认定每步生成都很慢。
易混淆点
KV Cache 不会保存用户长期记忆,也不是缓存完整答案;开缓存仍有计算和内存成本。
参考资料
内容来源
- Android 技术札记 · 原条目
kv-cache