ReelOS.AI 禅定|先看懂这条推理链
KV Cache 不是缓存小优化,而是推理系统的状态战争。
- GPU 很贵。
- 但推理时代,GPU 不只消耗算力,也消耗显存状态。
- 每个会话读过的上下文,都会变成 KV Cache。
- 上下文越长,KV Cache 越大。
- 并发越高,显存压力越大。
- 显存被占满,请求就排队。
- HBM 带宽被 KV Cache 反复读取,Decode 就变慢。
- Decode 变慢,token 输出就变慢。
- 所以推理瓶颈正在从“算力不足”转向“状态管理不足”。
- PagedAttention 是少浪费。
- Prefix Cache 是少重复。
- KV 量化是少占空间。
- 分层缓存 / Offload 是少搬数据。
- Prefill 负责读入上下文,Decode 负责持续生成 token。
- P/D 解耦,是把两类负载分开优化。
- KV Cache 的本质,是把大模型推理从 GPU 计算问题,变成上下文状态运营问题。
过去谈 AI 基础设施,大家最先想到的是 GPU。
训练时代,这个判断没错。模型越大,训练越复杂,GPU 算力、集群规模和高速互连就越重要。
但当大模型开始进入企业知识库、代码助手、多轮对话、长文档分析和 Agent 工作流之后,推理系统的核心矛盾开始变化。
问题不再只是:
模型能不能算出来?
而是变成:
模型读过的上下文放在哪里?
几百万个会话同时在线时,谁来管理这些不断增长的状态?
长上下文、工具调用、多轮任务带来的缓存,如何复用、迁移、压缩和隔离?
这就是 KV Cache 变得重要的原因。
KV Cache 原本只是 Transformer 推理里的一个内部机制:在自回归生成中保存每一层注意力的 Key / Value 中间状态,避免每生成一个 token 都重新计算历史上下文。
但今天,它已经不只是“缓存优化”。
它正在变成大模型推理基础设施里的状态层。
一句话判断:
大模型推理的瓶颈,正在从“单次算力”转向“持续状态管理”。KV Cache 是这场变化里最昂贵、最动态、最需要被调度的一类状态。
一、学习地图:先建立 KV Cache 的系统坐标
理解 KV Cache,不要只从模型算法看,要从完整推理系统看。
| 层级 | 要理解的问题 | 核心概念 |
|---|---|---|
| Transformer 层 | 为什么生成下一个 token 要看历史 token | Attention / QKV |
| 推理机制层 | 为什么不能每次重新计算历史上下文 | KV Cache |
| 成本结构层 | 为什么上下文越长,显存压力越大 | KV Cache 尺寸公式 |
| 服务系统层 | 为什么 GPU 算力没满,请求却开始排队 | 显存水位 / HBM 带宽 / 调度 |
| 优化层 | 怎么减少浪费、重复和搬运 | PagedAttention / Prefix Cache / Quantization |
| 架构层 | 为什么 Prefill 和 Decode 开始拆开 | P/D Disaggregation |
| 数据中心层 | 为什么推理越来越像内存系统竞争 | HBM / DRAM / SSD / RDMA / KV Pool |
| 产品层 | 为什么 prompt、工具描述和上下文组织会影响成本 | Cache-aware Prompt Design |
这张地图的关键是:
KV Cache 不是模型内部的一个小优化,而是推理系统从算力问题走向状态问题的入口。
二、核心概念:KV Cache 到底是什么?
大模型生成文本时,通常不是一次性输出完整答案,而是一个 token、一个 token 地自回归生成。
每生成一个新 token,模型都要参考前面已经出现过的 token。
如果每生成一个 token,都重新计算一遍完整上下文,成本会非常高。
所以推理系统会把前面 token 在注意力层里计算出的 Key 和 Value 保存下来。后续生成时,只需要为新 token 计算新的 Query,并复用历史 Key / Value。
这份被保存下来的中间状态,就是 KV Cache。
可以用一句话理解:
KV Cache 是模型在当前上下文中已经计算过的注意力状态。
更严格地说,它不是长期记忆,也不是模型学到的新知识,而是当前推理会话里每一层 attention 的 key / value 张量。
这点很重要。
| 概念 | 存在哪里 | 作用 | 是否长期存在 |
|---|---|---|---|
| 模型参数 | GPU / 加速卡显存 | 决定模型能力 | 是 |
| KV Cache | 推理运行时显存 / 内存 | 复用当前上下文计算 | 通常是短期状态 |
| RAG 向量库 | 数据库 / 向量存储 | 检索外部知识 | 是 |
| Agent Memory | 应用层数据库 | 记录长期偏好、任务状态 | 是 |
| Prompt Cache | 服务端缓存层 | 复用重复 prompt 的计算结果 | 取决于 provider 策略 |
所以,最准确的说法不是“KV Cache 是模型记忆”,而是:
KV Cache 是大模型推理时的上下文状态层。
“记忆”是一个好比喻,但不能把它和 Agent 长期记忆、用户画像、知识库混为一谈。
三、为什么 KV Cache 会变成内存战争?
核心原因很简单:
模型权重通常加载一份,但 KV Cache 会随着上下文长度、并发请求和生成 token 数持续增长。
KV Cache 的大小可以粗略理解为:
KV Cache 大小 ≈
2 × 层数 × token 数 × KV head 数 × head_dim × 每个元素字节数 × 并发序列数
这里的 2,代表 Key 和 Value 两份张量。
| 参数 | 含义 |
|---|---|
| 层数 | Transformer 有多少层 |
| token 数 | 输入上下文 + 已生成内容 |
| KV head 数 | Attention 结构决定,例如 MHA / GQA / MQA / MLA |
| head_dim | 每个注意力头的维度 |
| 每个元素字节数 | FP16 / BF16 通常是 2 bytes,量化后更低 |
| 并发序列数 | 同时服务多少请求或会话 |
这个公式说明了一件事:
KV Cache 会随着上下文长度和并发数线性增长。
这就是长上下文模型为什么贵。
如果上下文从 8K 提升到 128K,单个会话的 KV Cache 压力理论上可以放大 16 倍。再叠加高并发、多轮对话和 Agent 工具调用,显存很容易先于算力成为瓶颈。
所以推理服务器经常会出现一个看似矛盾的现象:
GPU 计算单元还没有完全跑满,但新请求已经开始排队。
原因不一定是算得不够快,而可能是:
- 显存已经被 KV Cache 占满;
- HBM 带宽被 decode 阶段反复读取 KV Cache 消耗;
- 请求长度差异导致显存碎片;
- 长上下文请求挤占短请求;
- 公共上下文没有被复用;
- 热缓存和冷缓存没有分层管理。
这就是“内存战争”的本质。
不是只有显存容量问题,而是:
容量、带宽、碎片、复用、迁移、隔离和调度的综合问题。
四、系统位置:KV Cache 在推理系统里处于哪一层?
要理解 KV Cache 的产业价值,必须把它放进完整推理链路里。
用户请求
↓
应用层:System Prompt / RAG / 工具描述 / Agent 历史
↓
路由层:模型选择 / Provider 选择 / 限流 / 计费
↓
调度层:Batching / Prefix Cache / 会话调度
↓
推理引擎:vLLM / TensorRT-LLM / SGLang / TGI
↓
Attention Kernel:PagedAttention / FlashInfer / CUDA Kernel
↓
硬件层:GPU HBM / CPU DRAM / SSD / RDMA 网络
KV Cache 贯穿其中。
它不是只属于模型层,也不是只属于 GPU 层。
| 层级 | KV Cache 相关问题 |
|---|---|
| 应用层 | Prompt 是否稳定?工具描述是否重复?上下文是否可复用? |
| 路由层 | 哪些请求应该发到有缓存命中的实例? |
| 调度层 | 如何做连续批处理、前缀复用、缓存淘汰? |
| 推理引擎层 | 如何管理 KV block、减少碎片、提升吞吐? |
| Kernel 层 | 如何高效读取不同布局的 KV Cache? |
| 硬件层 | HBM、DRAM、SSD、网络之间如何分层? |
| 安全层 | 多租户 KV Cache 是否隔离?是否可能泄露上下文? |
这也是为什么 KV Cache 会从一个模型内部机制,变成 AI 基础设施的系统控制点。
五、推理负载不是一种:Prefill 和 Decode 是两类不同的工作
大模型推理通常分为两个阶段。
1. Prefill:先读完整上下文
用户把问题、历史对话、文档、代码、工具结果交给模型后,模型要先处理这些输入 token,并生成对应的 KV Cache。
这个阶段叫 Prefill。
它更像:
快速读完一本书。
Prefill 的关键指标是 TTFT:
Time To First Token,首 token 延迟。
也就是用户从发出请求到看到第一个输出 token 的时间。
2. Decode:再逐 token 生成
模型开始一个 token、一个 token 输出答案。
每生成一个 token,都要读取此前保存的 KV Cache,并把新 token 的状态继续追加进去。
这个阶段叫 Decode。
它更像:
一边写答案,一边反复翻阅刚刚读过的整本书。
Decode 的关键指标是 TPOT 或 ITL。
| 指标 | 含义 |
|---|---|
| TPOT | Time Per Output Token,每个输出 token 的耗时 |
| ITL | Inter-token Latency,相邻 token 之间的延迟 |
| TBT | Time Between Tokens,token 间隔时间 |
DistServe 论文明确指出,LLM serving 里的 Prefill 和 Decode 有不同的延迟目标:Prefill 关注 TTFT,Decode 关注 TPOT;把两者混合在同一组 GPU 上会带来干扰,因此 DistServe 将 Prefill 和 Decode 分配到不同 GPU 上优化。
| 阶段 | 工作特征 | 核心瓶颈 | 关键指标 |
|---|---|---|---|
| Prefill | 处理大量输入 token | 计算吞吐、batching | TTFT |
| Decode | 逐 token 生成 | HBM 带宽、KV Cache 读取 | TPOT / ITL |
| P/D 解耦 | 两类资源分开调度 | KV Cache 跨节点传输 | Goodput / SLO |
到这里,KV Cache 已经不只是缓存。
它变成了 Prefill 节点和 Decode 节点之间要传输、调度和复用的核心数据资产。
六、KV Cache 优化的四件事
理解 KV Cache 优化,不要陷入技术名词。
本质上就四件事:
少浪费、少重复、少占空间、少搬数据。
1. 少浪费:像操作系统管理内存一样管理 KV Cache
早期推理系统中,每个请求往往需要预留一段连续显存。
但真实请求长度高度不均匀:
- 有的人只问一句话;
- 有的人上传几十页文档;
- 有的人要求长答案;
- 有的人中途断开;
- 有的人持续多轮对话。
如果按最大长度预留连续显存,就会产生大量浪费和碎片。
vLLM 的 PagedAttention 就是为了解决这个问题。它借鉴操作系统虚拟内存和分页思想,把 KV Cache 切成 block,按需分配,而不是为每个请求预留一大段连续空间。
所以 vLLM 的意义不只是“推理更快”。
更准确地说:
vLLM 把 KV Cache 从一段临时显存,变成了可分页、可复用、可淘汰、可调度的资源对象。
未来看一张 GPU,不只看它有多少 GB 显存,还要看:
这部分显存有没有被有效管理。
2. 少重复:把公共上下文变成可复用资产
很多企业级请求并不是完全不同的。
| 场景 | 容易重复的上下文 |
|---|---|
| 企业知识库 | 系统提示词、权限规则、产品说明 |
| 代码助手 | 项目结构、依赖信息、公共文件 |
| Agent | 工具描述、执行规则、任务模板 |
| 客服机器人 | 品牌语气、FAQ、政策文本 |
| 数据分析助手 | 表结构、字段说明、指标口径 |
如果每次请求都重新处理这些公共上下文,就会重复消耗 Prefill 计算。
Prefix Cache 的目标,就是复用相同前缀的 KV Cache。
这里有一个容易被忽视的点:
Prefix Cache 通常不是“语义相似”就能复用,而是要求 token 级别的相同前缀。
所以产品设计会直接影响推理成本。
| 应用层设计 | 对缓存命中的影响 |
|---|---|
| System Prompt 稳定 | 提高公共前缀复用 |
| 工具描述顺序固定 | 避免 token 前缀变化 |
| 动态变量后置 | 防止早期 token 改动破坏缓存 |
| 文档结构固定 | 提高长文档复用率 |
| Agent 中间结果隔离 | 避免工具输出污染可缓存前缀 |
这意味着:
Prompt Engineering 正在变成 Cache Engineering。
对 Agent 产品来说,这尤其重要。
3. 少占空间:不仅要压缩模型,也要压缩上下文状态
过去讨论模型部署优化,大家第一反应是模型量化。
比如把 FP16 / BF16 权重压到 INT8、INT4,减少模型参数占用。
但在长上下文、高并发场景里,模型权重不一定是唯一大头。
KV Cache 也会占据大量显存。
所以,KV Cache Quantization 正在成为独立方向。
这里的关键判断是:
模型量化解决的是“权重成本”,KV Cache 量化解决的是“上下文状态成本”。
长上下文时代,后者会越来越重要。
但 KV Cache 量化不是越低越好。
| 优化目标 | 可能收益 | 风险 |
|---|---|---|
| 降低 bit 数 | 减少显存占用 | 可能损伤生成质量 |
| 压缩 KV Cache | 提升 batch size | 解压可能带来额外开销 |
| 降低带宽压力 | 提升 decode 吞吐 | Kernel 支持复杂 |
| 分层保存 | 扩大可服务上下文 | 恢复延迟增加 |
真正有效的方案,需要在模型质量、显存节省、带宽效率和硬件执行效率之间取得平衡。
更进一步,模型架构本身也开始围绕 KV Cache 做优化。
例如 DeepSeek-V2 使用 MLA,Multi-head Latent Attention,通过将 KV Cache 压缩成 latent vector 来提升推理效率。
这说明:
KV Cache 优化已经从 serving framework 前移到模型架构设计阶段。
未来模型之间的竞争,不只是 benchmark 分数,也包括:
- 单 token KV Cache 成本;
- 长上下文推理成本;
- HBM 带宽压力;
- 是否适合高并发部署;
- 是否能被高效量化、缓存和调度。
4. 少搬数据:热、温、冷缓存要分层管理
并不是所有 KV Cache 都必须一直放在 GPU HBM 里。
可以粗略分成三类:
| 缓存热度 | 典型状态 | 适合位置 |
|---|---|---|
| 热缓存 | 正在 decode 的会话 | GPU HBM |
| 温缓存 | 用户可能很快继续追问 | CPU DRAM / 共享内存池 |
| 冷缓存 | 暂时不活跃的长上下文 | SSD / 远端 KV Store / 存储层 |
但这里必须强调:
KV Cache offload 不是免费午餐。
Decode 阶段每生成一个 token 都要频繁读取历史 KV Cache。如果热缓存被搬到 CPU、SSD 或远端节点,PCIe、CXL、RDMA、网络和存储延迟都可能进入关键路径。
所以真正的问题不是“把缓存从 GPU 卸出去”,而是:
哪些缓存必须靠近计算,哪些可以下沉,什么时候迁移,迁移成本是否值得。
Mooncake 就是这个方向的重要案例。它将自己定位为 KVCache-centric 的解耦架构:分离 Prefill 和 Decode 集群,并利用 CPU、DRAM、SSD、NIC 等资源建立分布式 KVCache。
这代表一个趋势:
推理系统正在从 GPU-centric 走向 KVCache-centric。
也就是说,调度系统不再只围绕 GPU 空闲率调度,而要围绕上下文状态的位置、热度、复用价值和迁移成本调度。
七、产业逻辑:大模型推理正在从“卖算力”走向“运营状态”
训练时代,基础设施竞争往往围绕:
- GPU 数量;
- 单卡算力;
- 集群互连;
- 训练吞吐;
- 故障恢复。
推理时代,尤其是长上下文和 Agent 普及后,竞争维度开始变化。
| 训练时代 | 推理时代 |
|---|---|
| 峰值 FLOPS | 单位 token 成本 |
| GPU 集群规模 | 并发会话承载能力 |
| 训练吞吐 | TTFT / TPOT / ITL |
| 参数规模 | 上下文状态规模 |
| 数据并行 / 张量并行 | Prefix Cache / Paged KV / P-D 解耦 |
| 一次性训练任务 | 持续在线服务 |
| 算力利用率 | 状态管理效率 |
大模型推理的商业本质,越来越像运营一套在线状态系统。
这套系统要同时回答:
- 哪些请求应该被合批?
- 哪些上下文可以复用?
- 哪些缓存应该保留?
- 哪些缓存应该淘汰?
- 哪些缓存应该迁移?
- 哪些租户之间必须隔离?
- 哪些请求因为显存不足排队?
- 哪些请求因为 Prefill 队列过长导致 TTFT 升高?
- 哪些请求因为 Decode 带宽不足导致 token 输出变慢?
这会带来一套新的推理运营指标。
| 指标 | 含义 |
|---|---|
| TTFT P50/P95/P99 | 首 token 延迟 |
| TPOT / ITL | 输出 token 间隔 |
| Prefill throughput | 输入 token 处理吞吐 |
| Decode throughput | 输出 token 生成吞吐 |
| KV Cache 显存占用 | 当前上下文状态占用多少显存 |
| KV bytes/token | 单 token 缓存成本 |
| Prefix cache hit rate | 公共前缀缓存命中率 |
| Cache eviction rate | 缓存淘汰频率 |
| Offload restore latency | 从 CPU/SSD/远端恢复缓存的延迟 |
| GPU memory fragmentation | 显存碎片情况 |
| Queue reason | 请求因算力、显存、并发还是限流排队 |
| Tenant isolation status | 多租户缓存隔离状态 |
如果你在做 AI Router、模型中转、企业推理平台或私有化模型服务,未来后台不能只看 RPM / TPM。
还要看:
状态水位、缓存命中率、首 token 延迟、token 间隔、KV Cache 占用和排队原因。
这才是真实的推理运营面板。
八、常见误区:哪些地方容易被误读?
误区一:KV Cache 等于模型长期记忆
不对。
KV Cache 是当前上下文的 attention 中间状态,不是长期记忆,不是知识库,也不是用户画像。
更准确的理解是:
KV Cache 是当前推理现场的状态缓存。
长期记忆应该在应用层、数据库层、向量检索层或 Agent Memory 系统里管理。
误区二:上下文越长,模型就越聪明
不一定。
长上下文只意味着模型可以接收更多 token,但并不保证模型能稳定利用全部信息。
从基础设施角度看,长上下文首先意味着:
- 更大的 KV Cache;
- 更高的 HBM 占用;
- 更高的读取带宽压力;
- 更高的 TTFT;
- 更复杂的缓存复用和淘汰策略。
所以长上下文不是免费能力。
它是一种昂贵能力。
误区三:Prefix Cache 可以复用“意思差不多”的内容
通常不对。
主流 Prefix Cache 更强调相同 token 前缀,而不是语义相似。
如果系统提示词、工具描述、动态时间戳、用户变量、权限规则顺序经常变化,就会破坏缓存命中。
所以应用层要为缓存设计上下文结构。
误区四:把 KV Cache 搬到 CPU 或 SSD 就能解决显存问题
不对。
Offload 可以缓解显存压力,但会引入传输延迟。
热路径上的 Decode 仍然高度依赖 GPU HBM 和带宽。
所以分层存储的关键不是“搬出去”,而是:
热数据留近,冷数据放远,温数据看复用概率和恢复成本。
误区五:推理芯片只需要比 TOPS / FLOPS
不够。
长上下文推理要看的是完整内存系统能力。
| 传统指标 | 仍然重要吗 | 但还不够 |
|---|---|---|
| FLOPS / TOPS | 重要 | 不能解释 KV Cache 瓶颈 |
| 显存容量 | 重要 | 还要看管理方式 |
| HBM 带宽 | 很重要 | Decode 阶段尤其关键 |
| 互连带宽 | 重要 | P/D 解耦和 KV 迁移需要 |
| 软件栈 | 极其重要 | 决定缓存复用和调度效率 |
未来推理竞争不是单芯片竞争,而是:
模型架构 + 推理引擎 + 显存管理 + 网络传输 + 调度系统 + 多租户安全的系统竞争。
九、判断框架:如何判断一个推理系统是否真的懂 KV Cache?
可以用下面这张表评估。
| 维度 | 初级系统 | 成熟系统 |
|---|---|---|
| 显存管理 | 静态预留,容易碎片 | Paged KV / 动态分配 |
| 上下文复用 | 每次重新 Prefill | Prefix Cache / RadixAttention |
| 长文档处理 | 重复读全文 | 公共上下文缓存 |
| 多轮对话 | 重算历史消息 | 可复用历史 KV |
| Agent 工具调用 | 动态内容破坏缓存 | 动态内容后置、结构稳定 |
| P/D 架构 | Prefill 和 Decode 混跑 | P/D 解耦或动态调度 |
| 缓存压缩 | 只做模型量化 | KV Cache 量化 / MLA |
| 分层存储 | 只用 GPU HBM | HBM / DRAM / SSD / KV Pool |
| 观测指标 | 只看 RPM / TPM | TTFT / TPOT / Cache Hit / KV 水位 |
| 安全隔离 | 默认共享 | 租户级缓存隔离和审计 |
如果一个系统只能告诉你“GPU 利用率多少、RPM 多少、TPM 多少”,但无法告诉你:
- KV Cache 占了多少显存;
- 哪些请求命中了缓存;
- 哪些请求因为显存排队;
- 哪些公共 prompt 被重复计算;
- 哪些缓存被淘汰;
- 哪些租户的缓存需要隔离;
那它还不是一个成熟的推理基础设施系统。
十、对创业者、产品经理和基础设施团队的启发
1. 对创业者:机会不只在模型,也在状态管理
未来 AI 基础设施的机会,不只是做更强模型,也不是简单卖 GPU。
更有价值的方向包括:
| 方向 | 机会 |
|---|---|
| AI Router | 基于缓存命中、延迟和成本做智能路由 |
| 推理运营后台 | 管理 TTFT、TPOT、KV 水位、排队原因 |
| Prompt Cache 平台 | 帮企业复用公共上下文 |
| Agent Runtime | 为多轮工具调用设计缓存友好的上下文结构 |
| KV Cache Observability | 监控缓存占用、命中、淘汰、迁移 |
| 私有化推理优化 | 为企业知识库和代码库做 prefix reuse |
| 多租户安全 | 防止上下文状态跨租户泄露 |
一句话:
卖模型是第一层,卖推理能力是第二层,管理上下文状态才是第三层。
2. 对产品经理:Prompt 结构会直接影响推理成本
过去产品经理设计 Prompt,主要关心输出质量。
未来还要关心缓存命中率。
| Prompt 设计方式 | 成本影响 |
|---|---|
| 每次动态拼接 system prompt | 容易破坏缓存 |
| 工具描述顺序随机 | 降低 prefix hit |
| 用户变量放在最前面 | 公共前缀难以复用 |
| 文档结构不稳定 | 长文档重复 Prefill |
| 动态工具结果混入静态规则 | Agent 缓存难命中 |
更好的设计是:
- 静态规则前置;
- 动态变量后置;
- 工具描述稳定排序;
- 长文档结构固定;
- 公共上下文模块化;
- Agent 中间结果与可缓存前缀分离。
未来高级 Prompt Designer,本质上也要懂一点 Cache Design。
3. 对基础设施团队:不要只建 GPU 集群,要建推理状态系统
基础设施团队要关注的不是单点推理速度,而是端到端服务质量。
至少要回答五类问题:
| 问题 | 对应能力 |
|---|---|
| 请求为什么慢? | TTFT / TPOT / Queue reason |
| 显存为什么满? | KV Cache 水位和碎片监控 |
| 为什么重复计算? | Prefix cache hit rate |
| 长上下文如何服务? | Paged KV / 分层缓存 |
| 多租户是否安全? | Cache isolation / audit |
真正成熟的推理平台,应该具备:
- Continuous Batching;
- Paged KV 管理;
- Prefix Cache;
- P/D 解耦;
- KV Cache offload;
- Cache-aware routing;
- KV Cache observability;
- 多租户隔离;
- 按模型、租户、业务线统计单位 token 成本。
这才是推理基础设施从“能跑”到“可运营”的分水岭。
4. 对国产算力:机会不只是一颗更快的芯片
KV Cache 对国产算力有一个重要启发:
推理性能不是单芯片问题,而是模型架构、内存系统、推理框架和调度软件共同决定的。
可以拆成三层机会。
| 层级 | 机会 | 关键能力 |
|---|---|---|
| 模型架构层 | MQA / GQA / MLA / 稀疏注意力 | 原生减少 KV Cache |
| 推理运行时层 | Paged KV / Prefix Cache / P-D 解耦 | 提升硬件利用率 |
| 系统基础设施层 | HBM / DRAM / SSD / RDMA / CXL / DPU | 管理状态迁移和隔离 |
DPU、SmartNIC、安全加速和数据中心基础软件也会有机会,但不要把它们包装成“解决 KV Cache 的万能芯片”。
更准确的定位是:
DPU / SmartNIC 的价值不在于替代 GPU 读取热 KV Cache,而在于跨节点迁移、安全隔离、网络卸载、多租户治理和资源调度。
KV Cache 里可能包含用户输入、企业文档、系统提示词、工具调用结果和多轮任务状态。
谁能更好地管理这些状态,谁就更接近未来 AI 基础设施的控制点。
十一、结语:推理基础设施正在围绕“上下文状态”重构
过去,AI 基础设施的关键词是训练集群、GPU 数量、峰值算力和高速互连。
但随着大模型进入真实业务,推理正在成为更长期、更高频、更复杂的资源消耗。
尤其是长上下文、企业知识库、代码助手和 Agent 工作流普及后,模型不再只是回答一个孤立问题。
它要持续保存、读取、更新和迁移大量上下文状态。
KV Cache 正是这场变化的缩影。
它让推理系统的核心矛盾,从“算力够不够”,进一步变成:
- 显存够不够;
- HBM 带宽够不够;
- 上下文能不能复用;
- 缓存能不能压缩;
- 状态能不能迁移;
- 多租户能不能隔离;
- 调度系统能不能按状态而不是只按 GPU 空闲率决策。
未来的大模型推理基础设施,不会只是一排更强的 GPU。
它会越来越像一套围绕“上下文状态”构建的新型计算系统:
有高带宽内存,有分层缓存,有高速网络,有状态调度,也有安全隔离。
大模型开始需要的不只是更大的脑子。
它还需要一套更会管理记忆的系统。
但这里的“记忆”,不是玄学意义上的记忆。
而是可计算、可缓存、可迁移、可压缩、可计量、可隔离的上下文状态。
这就是 KV Cache 真正重要的地方。
参考资料
- Hugging Face Transformers:KV Cache / Cache strategies
- vLLM / PagedAttention:Efficient Memory Management for Large Language Model Serving
- vLLM Automatic Prefix Caching
- NVIDIA TensorRT-LLM:KV Cache Reuse
- DistServe:Disaggregating Prefill and Decoding for Goodput-optimized LLM Serving
- Mooncake:A KVCache-centric Disaggregated Architecture for LLM Serving
- KIVI:A Tuning-Free Asymmetric 2bit Quantization for KV Cache
- DeepSeek-V2:Multi-head Latent Attention 与 KV Cache 压缩
- SGLang / RadixAttention
- OpenAI Prompt Caching