# KV Cache 分层是什么？原理、收益与适用边界

> KV Cache 分层把溢出显存的 KV Cache 存到主机内存和外置全闪存储，会话回来时直接读回而不重算。本文说明三层结构、实测收益和不适用的场景。

网页地址: https://vuke.top/insights/what-is-kv-cache-tiering · 更新于 2026 年 11 月 12 日

发布于: 2026-11-12

**问题**: KV Cache 分层是什么？

**结论**: KV Cache 分层是把大模型推理时溢出显存的 KV Cache 依次存到主机内存和外置全闪存储，会话再次到来时直接读回，而不是让 GPU 把整段上下文重新计算。在 480B 模型的实测中，相对无外存整段重算，首 token 延迟 p50 从 149.5 s 降到 11.85 s [R2](https://vuke.top/evidence/R2)。

## 为什么需要分层

大模型每处理一个 token，都会在各注意力层留下一份 Key / Value 张量，也就是 KV Cache。有了它，生成下一个 token 时不必重新计算前面的上下文。上下文越长，这份缓存越大。

显存要同时放模型权重和所有活跃会话的 KV Cache。会话一多，较早的缓存就被逐出。被逐出的会话再发来请求时，模型只能把整段上下文重新预填充一遍，首 token 延迟随之飙升。

分层的思路很直接：被逐出的 KV Cache 不丢弃，而是换个地方存着。

## 三层各放什么

缓存按访问热度放在三种介质上。前两层由推理框架管理，第三层需要单独的存储设备。

- 显存：当前活跃的会话，由 vLLM 管理。
- 主机内存：近期用过的会话，由 LMCache 管理。
- 外置全闪存储：全部历史会话，并且可以让多个推理实例共享同一份缓存。

## 实测收益有多大

测试对象是 Qwen3-Coder-480B-FP8，以 TP=8 的生产形态部署在 8 × AMD MI308X 上，负载为长上下文冷恢复。有两个对照基线，要分开看。

对比无外存、整段重算：加速 8.6–20× [R2](https://vuke.top/evidence/R2)。

对比本地 NVMe 单盘：吞吐提升 29–40%，TTFT p50 降低 26–32% [R2](https://vuke.top/evidence/R2) [R3](https://vuke.top/evidence/R3)。也就是说，同样是把 KV Cache 存下来再读，放在外置全闪阵列上比放在服务器本地的一块盘上更快。

## 什么时候不适用

收益来自缓存命中。短对话、低并发的场景里，会话很少被逐出，也很少回来，这一层就没有多少内容可读。长上下文、多轮对话、Agent 和代码助手这类会话恢复频繁的负载，收益才明显。

所以在决定采购之前，应该先用自己的会话长度分布和并发量测一遍。

## 相关问题

### 做 KV Cache 分层需要改造推理引擎吗？

不需要重写。实测使用的是开源的 vLLM + LMCache 组合，外加一个 LMCache 并行读补丁；补丁、编排脚本和原始数据都打包在 R8 里，可以在自己的集群上重跑 [R8](https://vuke.top/evidence/R8)。

### KV Cache 分层和前缀缓存是什么关系？

前缀缓存决定哪些 KV Cache 可以被后续请求复用，分层决定这些 KV Cache 存在哪里。两者配合使用：前缀命中之后，分层保证被命中的缓存即使已经离开显存，也能从内存或外置存储读回。

## 相关实测报告

- [R2](https://vuke.top/evidence/R2) · FX100 KV Cache 性能测试报告（480B · TP8 长上下文） (AMD Instinct MI308X × 8 · ROCm 7.2)
- [R3](https://vuke.top/evidence/R3) · FX100 KV Cache 性能测试汇总报告（480B · TP4×2 · 全指标） (AMD Instinct MI308X × 8 · ROCm 7.2)
- [R8](https://vuke.top/evidence/R8) · FX100 KV Cache 测试代码导出包与原始测试数据 (AMD Instinct MI308X · ROCm 7.2)

## 外部参考资料

- [Efficient Memory Management for Large Language Model Serving with PagedAttention](https://arxiv.org/abs/2309.06180) · arXiv (SOSP '23). vLLM 的 PagedAttention 显存管理与 KV Cache 分页的设计动机
- [LMCache (GitHub repository)](https://github.com/LMCache/LMCache) · LMCache Project. LMCache 的源码、架构与存储后端说明
- [vLLM Documentation](https://docs.vllm.ai/) · vLLM Project. vLLM 的部署方式、前缀缓存与张量并行等配置的官方说明
