导言
KV Cache 是自回归大模型推理中最重要的运行时状态之一。它把各层历史 token 已经算出的 Key 和 Value 留在缓存里,使后续步骤只处理新 token,而不必反复计算整个前缀。
这不是免费的加速:模型用持续增长的显存驻留换取更少的重复计算。理解这一交换,才能解释为什么生成会加快、长上下文会吃显存、并发容量可能下降,以及为什么修改提示词中间的 token 会使其后的缓存失效。
导言
KV Cache 是自回归大模型推理中最重要的运行时状态之一。它把各层历史 token 已经算出的 Key 和 Value 留在缓存里,使后续步骤只处理新 token,而不必反复计算整个前缀。
这不是免费的加速:模型用持续增长的显存驻留换取更少的重复计算。理解这一交换,才能解释为什么生成会加快、长上下文会吃显存、并发容量可能下降,以及为什么修改提示词中间的 token 会使其后的缓存失效。
Attention Cache and Sequence Parallelism
导言
KV cache 最容易造成的误解,是把所有名为 K/V 或 state 的张量都看成同一种“缓存”。事实上,训练时为反向传播保留的 K/V activation、推理时跨 decode step 存活的 KV cache、GDN 跨 token 改写的固定状态,生命周期和分布式处理都不同。
本文从一次 token 生成开始,逐对象解释 MHA、DSA 与 GDN 保存什么,再讨论 CP、USP 切开长序列后,临时 activation 和持久 cache 分别需要怎样的通信。
Attention Architecture Evolution
导言
Attention 的发展并不是从 Full Attention 排成一条单向淘汰链。更准确的结构是三条并行路线:共享或压缩 KV cache、把历史压入固定状态、对历史 token 做稀疏选择。MQA、GQA 与 MLA 仍然读取全部历史;GDN 与 KDA 改写了记忆算法;DSA 则在 MLA 前增加轻量索引器,只让主注意力读取 top-k。
本文以首个公开论文或官方发布日为时间点,并把每种结构落到版本固定的开源代码:Q/K/V 从哪里产生、什么对象进入 cache、score 如何形成、复杂度到底被搬到了哪里。