Prefix Cache
Prefix Cache前缀缓存是大模型推理引擎如 vLLM、SGLang、TensorRT-LLM中用于跨请求复用已计算 KV Cache的核心内存与计算优化技术。它的核心目的在于彻底消除重复 Prompt 的 Prefill 阶段计算将首字延迟TTFT降低数倍乃至数十倍。一、 核心工作原理分块与链式哈希Block Hashing基于 PagedAttention 机制将 Prompt 切分成固定大小的 Block如 16 或 32 个 Token。利用Hash(Prev_Hash, Current_Tokens)计算出每个 Block 的链式哈希值。前缀树索引Radix Tree / LRU Cache推理框架在 HBM/内存中维护一棵 Radix Tree如 SGLang 的 RadixAttention或全局哈希表。节点的路径即代表 Token 序列的前缀路径。前缀匹配与零拷贝Zero-Copy Mapping新请求到达时引擎扫描 Prompt 并计算各 Block 的 Hash。在 Radix Tree 中检索最长可命中的连续前缀 Block。命中部分直接将已存在于显存中的物理 KV 块映射给当前请求仅增加引用计数 Ref Count零计算、零拷贝。未命中部分仅对未命中的后缀 Token 执行正常的 Prefill 计算。写时复制与回收COW LRU Eviction被共享的物理 Block 为只读状态当请求生成新的 Token 时为其分配独立的私有 BlockCopy-On-Write。显存不足时采用 LRU最近最少使用策略将 Ref Count 为 0 的未命中前缀块释放或换出到 CPU 内存。二、 典型应用场景固定 System Prompt / Agent 模板如包含数千 Token 的系统设定或工具调用说明计算一次后所有并发请求秒级响应。多轮对话Multi-Turn Chat无需在每轮对话中重新计算之前的整段历史只需 Prefill 用户刚发送的最新增量消息。RAG 与 Few-Shot 提示词多个请求共享相同的检索参考文档或示例上下文时显存与计算自动复用。三、 性能收益与代价收益TTFT 与吞吐首字延迟TTFT从秒级骤降至毫秒级仅需做哈希查找与指针映射。显存吞吐大幅减少对 GPU 计算单元Tensor Core和 HBM 带宽的重复挤占。代价开销占用额外的 CPU/HBM 内存用于维护 Radix Tree 结构与元数据Block Metadata。需要更复杂的显存垃圾回收Garbage Collection与引用计数管理逻辑。