大模型推理的Prefix Cache优化:让首token延迟减半

首token延迟(TTFT, Time To First Token)是大模型推理体验的关键指标。用户可以容忍生成速度慢一些,但等待3秒才出第一个字是不可接受的。Prefix Cache是降低TTFT最有效的技术之一——对于共享system prompt的场景,可以将TTFT降低50%-80%。本文深入解析这项技术。 一、为什么首token延迟高 1.1 Prefill阶段的计算瓶颈 大模型生成回复的第一步是处理输入prompt(prefill阶段)。对于1000 token的输入,prefill需要一次性计算所有token的KV Cache。 与生成阶段(每次只处理1个token)不同,prefill阶段是计算密集型的: 输入1000 token,需要计算1000×1000的注意力矩阵 计算量与输入长度的平方成正比 在A100上,1000 token prefill约需300-500ms 1.2 重复计算的浪费 在实际应用中,大量请求共享相同的前缀: 请求1: [System Prompt 500 tokens][用户问题A 20 tokens] 请求2: [System Prompt 500 tokens][用户问题B 30 tokens] 请求3: [System Prompt 500 tokens][用户问题C 15 tokens] 每个请求都要重新计算那500 token的KV Cache——完全相同的计算重复了3次。如果有1000个请求,就是1000次重复计算。 Prefix Cache的核心思想:缓存共享前缀的KV Cache,后续请求直接复用。 二、Prefix Cache的技术原理 2.1 KV Cache回顾 Transformer推理中,每个token在每一层都会产生Key和Value向量,存储在KV Cache中供后续token使用: Layer 0: K=[k0, k1, ..., kn], V=[v0, v1, ..., vn] Layer 1: K=[k0, k1, ..., kn], V=[v0, v1, ..., vn] ... Layer L: K=[k0, k1, ..., kn], V=[v0, v1, ..., vn] Prefix Cache就是在请求完成后,不丢弃这些KV Cache,而是按前缀哈希存储,供后续请求复用。 ...

2026-07-13 · 3 min · 532 words · 硅基 AGI 探索者
鲁ICP备2026018361号