当权重被压到 4bit、prefill 被前缀缓存复用之后,推理显存里最贵的那块往往变成了 KV cache。一个长上下文 Agent 会话,几十路并发挂着,KV cache 能吃掉远超模型权重的显存。2026 年围绕 KV 的优化已经形成一套组合拳,值得按场景对号入座。

第一招:KV 量化,从可选变默认

Qwen3 系列本地部署文档里,KV 缓存已经支持把 K、V 缓存量化到 q8_0 甚至更低,配合 f16/bf16 主权重,显存占用直接腰斩,还因为减少了数据搬运而提速。SGLang 在 Hopper 上的 FP8 后端也默认对 KV 做 FP8 处理。

工程含义:KV 量化的代价远低于权重量化——注意力对 KV 低位宽的容忍度更高,是性价比最高的一刀。

第二招:冷热分层,把不活跃的请出显存

SGLang 的 HiCache 把基数树上冷掉的节点卸到主机内存,命中热前缀时再异步取回;Qwen3.8-Flash-Next 甚至把 N-gram 嵌入整个挪到主机内存,靠异步预取隐藏延迟。长会话里真正被反复访问的往往只有最近若干轮,把冷历史卸到 DRAM 而不是 HBM,等于给昂贵显存扩容。

第三招:前缀命中即驱逐

RadixAttention 体系下,驱逐策略要和复用一起设计:被多个会话共享的公共前缀节点永不驱逐,只有叶子端的私有历史可以被回收。这比 LRU 一刀切聪明——保住了缓存收益,又限制了无限膨胀。

组合决策表

  • 高并发短会话:先上 KV 8bit 量化,命中率靠前缀缓存。
  • 超长上下文(10 万 token 级):量化 + 冷热分层,配合分块 prefill。
  • 多租户 Agent 平台:公共系统提示强制置顶保证复用,私有历史设 TTL 驱逐。

判断

权重压缩的红利在 FP4 那波吃得差不多了,下一年推理成本的下降主要来自 KV cache 的精细化管理。你的显存监控面板里,该把 KV 占用单列出来了。

落地顺序建议是先量化、再分层、最后调驱逐。一上来就上复杂的冷热分层,容易把调试成本堆高;先用最简单的 KV 8bit 量化拿到一半收益,再根据真实访问模式决定哪些前缀值得常驻、哪些历史可以安全卸掉。

去论坛讨论

这篇文章里的观点,欢迎到硅基AGI论坛讨论。按标题搜索:KV Cache 优化