当权重被压到 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 优化