KV Cache 技术体系

KV Cache(键值缓存) 是现代 LLM 推理系统的核心基础设施——它通过缓存 Attention 的 Key/Value 矩阵把自回归生成的单步计算复杂度从 $O(N^2)$ 降至 $O(N)$,直接决定 TTFT、吞吐与长上下文可行性。围绕这一数据结构,业界已从单机显存缓存演进出涵盖 Prefix Caching、分层存储、跨实例共享、预填充-解码分离的完整技术栈。

1. 基础原理

自回归生成天然存在重复计算——每生成一个 Token 都需对全部历史 Token 重算 Attention。缓存 Key/Value 矩阵后,Prefill 阶段批量构造、Decode 阶段增量追加,整体计算量从 $O(N^3)$ 压缩到 $O(N^2)$,而显存占用则与 layer × head × d_head × seq_len × dtype 线性相关,构成后续所有优化的权衡起点。

  • KV Cache 原理简介 (配套 PPT):详细解析了自回归生成的挑战、KV Cache 的工作机制(Prefill 与 Decode 阶段)以及显存占用分析。

2. 核心优化技术

跨方案共性的技术议题主要聚焦于复用命中率与传输开销的权衡,涵盖基于 Hash/Radix Tree 的前缀复用、Offloading 策略的吞吐带宽取舍,以及掩盖 PD 分离传输延迟的层级流水并行。

2.1 Prefix Caching

多轮对话、System Prompt、Few-shot 模板等场景下输入前缀高度重复——Prefix Caching 通过 Hash 或 Radix Tree 索引复用已计算的 KV 块,将命中请求的 Prefill 成本压到接近零,是长对话与 RAG 场景下 TTFT 优化的第一道防线。

2.2 卸载与传输架构

探讨独立于具体系统的架构级优化,重点解决容量限制与网络 I/O 瓶颈。

2.3 压缩与量化机制

针对超长上下文带来的显存压力,探索如何通过量化、剪枝等技术压缩 KV Cache 的物理体积。


3. 进阶架构与管理系统

百万级上下文与分离式推理把 KV Cache 推出了单卡显存——业界沿着「分层存储(GPU/CPU/SSD/远程)+ 跨实例共享 + 元数据一致性」三条主线构建了五套代表性方案,设计取舍主要体现在中心化程度、传输协议(RDMA / NIXL / GDS)与面向的推理拓扑上。

3.1 LMCache

LMCache 通过多层级存储架构(GPU/CPU/Disk/Remote)实现跨实例的 KV Cache 重用,支持分布式环境下的状态共享与预填充-解码分离。

3.2 Tair KVCache

Tair KVCache 依托 Tair 数据库构建中心化元数据与分布式存储架构,通过两阶段写入与滑动窗口匹配,提供企业级的高性能 KV Cache 共享与一致性保障。

  • Tair KVCache 架构与设计深度分析:深入分析了 Tair KVCache Manager (KVCM) 的架构。它采用中心化元数据管理 + 分布式存储的模式,支持 KV 匹配、前缀匹配和滑动窗口匹配,并实现了两阶段写入机制以保障数据一致性。

3.3 NVIDIA KVBM (KV Block Manager)

KVBM 作为 NVIDIA Dynamo 项目的核心组件,通过统一内存 API 管理异构存储(GPU/CPU/SSD),并结合 NIXL 库(GDS/RDMA)实现高效数据传输,服务于 TensorRT-LLM 等高性能推理框架。

3.4 Mooncake 架构

Mooncake 采用以 KV Cache 为中心的分离式推理架构,通过分块管道并行(CPP)与全局调度器(Conductor),实现超长上下文场景下的资源极致利用。

3.5 SGLang HiCache

HiCache 是 SGLang 自带的分层 KV Cache 架构,将 GPU 显存、宿主机内存与分布式存储后端(如 Mooncake、HF3FS)统一为 L1/L2/L3 三级缓存,突破单节点显存天花板并实现跨实例的前缀共享。

  • HiCache 深入详解:系统梳理 HiCache 的演进背景、HiRadixTree 元数据拓扑、三种预取策略(best_effort / wait_complete / timeout)与三种写回策略(write_through / write_through_selective / write_back)、page_first 内存布局与 GPU 辅助 I/O 算子、存储后端热插拔控制面,以及根据容量 / 异构 TP / PD 一致性 / 存储成本 四维度展开的架构权衡与启动参数示例。

3.6 NIXL 网络传输库

NIXL 是 NVIDIA 开源的高性能网络传输抽象层,为 LMCache、KVBM 等 KV Cache 系统提供统一的 RDMA、GDS 与跨节点数据传输能力。


4. 容量规划与 ROI 分析

KV Cache 本质是一次「用存储成本换计算成本」的投资——合理的分层容量(显存/CPU 内存/NVMe)与命中率假设决定整体 ROI,相关推演以 GLM-5 与 Agent 业务负载为基准。


5. 参考资料

5.1 学术论文

  • [1] Junhao Hu et al., “EPIC: Efficient Position-Independent Caching for Serving Large Language Models,” arXiv preprint arXiv:2410.15332, 2024.

5.2 第三方资料

  • [1] marsggbo. easy-kvcache[EB/OL]. (2026-05-10)[2026-05-10]. https://github.com/marsggbo/easy-kvcache.