转写说明

本文基于已校验的公开原文进行结构化转写与事实梳理,非原文转载。 转写保留可核验的技术事实,并将工程建议与来源观点明确分开。

核心结论

KV Cache 通过缓存已计算的 Key 与 Value 向量,避免在逐 token 生成时重复执行注意力计算。引入 KV Cache 后,单步 attention 复杂度从 O(N²) 降至 O(N),累计生成成本从 O(L_gen³) 降至 O(P² + P·L_gen + L_gen²)。Decode 阶段转为 memory-bound 操作,吞吐瓶颈从计算转向显存带宽。

KV Cache 显存与并发数和序列长度呈乘积关系,长上下文配合高并发可使 KV Cache 超过模型权重本身。PagedAttention 通过块级物理管理将浪费率压缩至 4% 以下,吞吐提升 2 至 4 倍。

Prompt Caching 是 KV Cache 在服务层的延伸,实现跨请求的前缀 KV 复用。OpenAI 自动以 128 token 为粒度缓存公共前缀,命中可降低 TTFT 约 80%、输入成本约 90%。Anthropic 通过 cache_control 显式标记缓存断点,命中可降低输入成本约 90%、TTFT 约 85%。

能力机制

Prefill 阶段接收完整 prompt,并行计算所有 token 的 K 和 V 向量并存入 cache,同时产出第一个输出 token。该阶段计算密度高,属于 compute-bound 操作。

Decode 阶段每步仅输入最新生成的 token,计算其 Q、K、V 后将 K 和 V 追加至 cache,随后使用全部历史 K 和 V 计算注意力并输出下一个 token。该阶段大量时间消耗在读取 cache 而非计算,属于 memory-bound 操作。

Q 不缓存的原因在于因果掩码机制:Q_{t+1} 的查询范围是 K1 到 K_{t+1},永远不需要查询 Q_t。缓存不会被再次访问的数据会浪费显存。以 LLaMA-2 70B 为例,K 和 V 各约 1.25 GB,而若额外存储 64 个 Q head 则需约 5 GB 且永不使用。

显存估算公式为 Memory_KV ≈ 2 × b_kv × L × B × S × H × (N_kv / N_attn),其中 2 代表 K 和 V 各一份,b_kv 为字节数,L 为层数,B 为并发请求数,S 为平均序列长度,H 为 hidden size,N_kv/N_attn 为 GQA 下的比例因子。

PagedAttention 将 KV 块映射抽象为逻辑块表,物理块按需分配并通过软件查表完成 gather 操作,支持 prefix caching、offloading 和 block 级量化。

快速开始

KV Cache 对用户通常透明,框架通过 use_cache 参数控制行为。自托管部署时可选用 vLLM,该框架在 PagedAttention 之上实现 automatic prefix caching,相同前缀的 block 可直接复用。

OpenAI API 在输入满足 1024 token 以上时自动缓存公共前缀,Anthropic API 需要在代码中通过 cache_control 标记缓存断点。前缀内容应保持静态,动态信息如时间戳建议放入 metadata。

适用边界

KV Cache 显存占用与 S × B 乘积成正比,高并发场景下显存压力显著增大。连续预分配方式的有效利用率常仅为 20% 至 40%,PagedAttention 可改善但需底层框架支持。

Prompt Caching 要求前缀逐字节一致,前缀内容修改会导致后续缓存全部失效。OpenAI 自动缓存不可控制,适用于前缀相对固定的系统;Anthropic 手动标记灵活性更高但需要显式开发。

两者解决不同问题:KV Cache 优化单次生成内的重复计算,Prompt Caching 优化多次请求间的重复 Prefill,完整的服务优化需要两者配合。

核验清单

确认推理框架已启用 KV Cache 相关优化选项。检查显存容量是否满足预期并发数下的 KV Cache 需求。对于自托管部署,验证 PagedAttention 或等效块管理机制已启用。

若使用 Prompt Caching,验证前缀内容的稳定性策略:静态内容与动态内容分离存放。确认 API 调用方式与平台要求一致,OpenAI 自动缓存无需额外配置,Anthropic 需要在代码中显式添加 cache_control。

评估是否需要 GQA 等分组注意力机制以降低 N_kv/N_attn 比例,从而减少每 token 的 KV Cache 显存占用。对于超长上下文场景,考虑 block 级 offloading 或量化方案的兼容性。

来源与核验

  • 原始文章
  • 页面事实以原始来源及其引用的官方资料为准;版本、星标和模型能力会随时间变化。
  • AI Stack 不公开抓取到的全文快照,只发布独立转写与来源入口。

站内链接

相关文章