Skip to content
阅读进度

如何理解Transformer 注意力与 KV Cache? ​

返回 大模型基础 目录

标准回答 ​

注意力以 Query 与 Key 的匹配决定如何汇聚 Value;经典缩放点积形式是 softmax(QKᵀ / √dₖ)V。多头机制让不同子空间参与表示。因果生成通过掩码限制当前位置读取未来 Token,模型仍需位置相关信息表达顺序。

常见自回归服务可以区分处理输入的 prefill 与逐步生成的 decode。KV Cache 复用历史位置的 Key / Value,减少每一步重复计算,但缓存会随上下文和并发请求占用内存。长输入、长输出与大批次对资源的影响不同。

因此首个有效 Token 时延、后续 Token 速度和整个任务完成时间应分开测量。模型服务加并发可能改善吞吐,也可能增加排队和显存压力;具体架构、注意力实现和缓存策略需要按实际模型核对。

追问与回答 ​

为什么每次只生成一个 Token 仍占很多内存 ​

模型权重、KV Cache、激活与运行缓冲共同占用内存;输出步长小不代表历史上下文无需保存。

上下文加倍是否一定让耗时加倍 ​

不能简单线性推导,注意力阶段、缓存、硬件和实现不同;要分别测 prefill、decode 与排队。

易混淆点 ​

  • 仅用输出字数解释完整请求成本。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。