KV Cache 技术体系

一个 32K token 的 prompt,80 层 LLaMA-2 70B,batch=8——KV Cache 吃掉 320 GB 显存,是模型权重本身的 2 倍以上。KV Cache 是 LLM 推理最大的显存消费者,也是几乎所有推理优化的主战场。 25 篇文章,从”KV Cache 到底是什么”到”如何在数十节点的集群上高效传输和复用”,覆盖了这一技术栈的完整纵深。

建议阅读路径:§1 基础原理 → §2 核心优化技术 → §3 进阶架构与系统 → §4 容量规划。每篇文章独立可读,前后交叉引用。

1. 基础原理

在深入优化之前,首先要回答三个基础问题:KV Cache 存了什么、为什么只存 K 和 V 不存 Q、不同注意力架构下存储的形态有何不同。

2. 核心优化技术

知道了 KV Cache 存什么、怎么存之后,下一个问题必然是:怎么让它存得更少、复用得更多、传输得更快? 这是推理引擎中最活跃的优化方向——四条主线各自独立、在实践中叠加使用。

2.1 Prefix Caching

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

2.2 调度、传输与执行优化

探讨独立于具体系统的架构级优化——调度策略如何改变 KV Cache 的分配时序、跨节点传输如何隐藏延迟、执行模型如何容纳动态 block table。

2.2.1 调度

  • vLLM Chunked Prefill 如何改变 KV Cache 管理:拆解将长 prompt 切成小块逐步 Prefill 后,KV Cache 分配从”一次性申请全部 block”变为”逐步申请逐批增长”,以及与 Prefix Caching 的交互约束。
  • 投机解码如何与 KV Cache 交互:拆解投机解码引入的三个 KV Cache 操作——Placeholder 预留槽位、num_computed_tokens 回退实现猜错撤销、draft/target KV 形状对齐。

2.2.2 PD 分离传输

  • PD 分离架构下的 KV Cache 传输:从 Push/Pull、Eager/Pipelined/Lazy、完整/增量三个维度,对比 vLLM KV Connector V1、LMCache PD Backend 和 Mooncake 的设计选择。

2.2.3 卸载与预取

2.2.4 执行模型

  • CUDA Graph 与 KV Cache:Full / Piecewise / FULL_AND_PIECEWISE 三种模式如何容纳动态 block table——可变输入缓冲区、多尺寸预录制、re-capture 触发条件。

2.3 压缩与量化机制

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

  • KV Cache 压缩技术详解:原理、架构与趋势 (配套 PPT):系统解析了通过量化(如 INT8/FP8/INT4)、稀疏化(如 StreamingLLM、H2O)以及注意力机制优化等手段,大幅降低大语言模型长上下文场景下的显存占用与传输带宽需求。
  • KV Cache 量化深度解析:拆解三种量化粒度——Per-Tensor、Per-Token-Head(FP8/INT8)、NVFP4——的精度差异、工程实现与 vLLM 配置,以及量化对 Prefix Caching 和误差传播的影响。

2.4 淘汰策略

压缩减小每个 token 的体量,淘汰则直接减少存储的 token 数量——当压缩做到极致后,淘汰是唯一可以继续缩容的手段。从 Attention Sinks 的发现出发,回答”滑动窗口为什么不够”和”哪些 token 的 KV 值得保留”。

  • KV Cache 淘汰策略:从滑动窗口到注意力引导的精确淘汰:Attention Sinks 作为淘汰必须遵守的硬约束,在此之上 H2O(累积注意力 → Heavy Hitter)、SnapKV(观察窗口投票)、StreamingLLM(Sink + Window)三条 Informed Eviction 路线通过注意力分数区分 token 信息价值,以及 vLLM Preemption 在系统层的配合机制。
  • Key-Key Semantic Affinity:用 Key 向量替代注意力分数的 KV Cache 重要性评估:系统介绍 SamKV (AAAI 2026) 提出的 Key-Key 语义亲和度方法——不再依赖 QK^T 注意力分数,而是用 Key 向量自身的语义距离评估 block 重要性。从循环悖论出发,分析 H2O/SnapKV 的全局累积偏差,详解高维正交性原理与浓度不等式保证,并给出层次化选择、Per-Step 集成和稳定性过滤三项工程落地路径。

3. 进阶架构与管理系统

§2 的优化都在单个推理实例内进行。但当上下文推到百万级、集群规模到数十节点时,KV Cache 的管理从”进程内”变成了”分布式系统”问题——跨节点传输、一致性协议、全局调度。以下是业界五个代表性方案,从中心化到去中心化,各有不同的取舍。

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 本质是一次「用存储成本换计算成本」的投资——合理的分层容量与命中率假设决定整体 ROI。以下推演以 GLM-5 与 Agent 业务负载为基准。


5. 核心参考文献

以下为各篇文章中反复引用的核心论文,按主题分类。每篇文章自身的完整引用见文内脚注。

5.1 基础架构与注意力机制

  • FlashAttention: Dao et al., “FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness,” NeurIPS 2022.
  • FlashAttention-3: Shah et al., “FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision,” 2024.
  • PagedAttention: Kwon et al., “Efficient Memory Management for Large Language Model Serving with PagedAttention,” SOSP 2023.
  • GQA: Ainslie et al., “GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints,” EMNLP 2023.
  • MLA: DeepSeek-AI, “DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model,” 2024.
  • RoPE: Su et al., “RoFormer: Enhanced Transformer with Rotary Position Embedding,” 2021.

5.2 KV Cache 淘汰与压缩

  • StreamingLLM & Attention Sinks: Xiao et al., “Efficient Streaming Language Models with Attention Sinks,” ICLR 2024.
  • H₂O: Zhang et al., “H₂O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models,” NeurIPS 2023.
  • SnapKV: Li et al., “SnapKV: LLM Knows What You are Looking for Before Generation,” NeurIPS 2024.
  • SamKV: Cao et al., “Sparse Attention across Multiple-context KV Cache,” AAAI 2026. arXiv:2508.11661.
  • KIVI: Liu et al., “KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache,” 2024.

5.3 系统架构与传输

  • vLLM: Kwon et al., “Efficient Memory Management for Large Language Model Serving with PagedAttention,” SOSP 2023.
  • SGLang: Zheng et al., “SGLang: Efficient Execution of Structured Language Model Programs,” NeurIPS 2024.
  • Mooncake: Qin et al., “Mooncake: A KVCache-Centric Disaggregated Architecture for LLM Serving,” 2024.
  • LMCache: LMCache Project. https://github.com/LMCache/LMCache
  • CacheBlend: Yao et al., “CacheBlend: Fast Large Language Model Serving for RAG with Cached Knowledge Fusion,” EuroSys 2025.
  • NIXL: NVIDIA Inc. https://github.com/ai-dynamo/nixl

5.4 Prefetch 与执行优化

  • KV Cache Prefetching: Zhao et al., “Asynchronous KV Cache Prefetching for LLM Inference,” arXiv:2504.06319, 2025.
  • Speculative Decoding: Leviathan et al., “Fast Inference from Transformers via Speculative Decoding,” ICML 2023.
  • Eagle: Li et al., “Eagle: Speculative Decoding Requires Rethinking Feature Uncertainty,” 2024.

5.5 第三方资源