跳到正文
芯元一

洞察

KV Cache 被逐出后重算还是读回?480B 模型实测

发布于

问题

KV Cache 被逐出显存后,是整段重算快,还是从外置存储读回快?

结论

读回快得多。Qwen3-Coder-480B-FP8 在并发 16 的长上下文冷恢复负载下,无外存整段重算的 TTFT p50 是 149.48 s、吞吐 4.1 tok/s;把 KV Cache 存在 FX100 上再读回,TTFT p50 是 11.85 s、吞吐 74.9 tok/sR2。

测试是怎么做的

模型是 Qwen3-Coder-480B-FP8,以八卡单实例(TP=8)的生产形态部署在 8 × AMD MI308X 上。负载是长上下文冷恢复:会话的 KV Cache 已经不在显存里,请求到来时要么重算,要么读回。

同一负载下做三方对照:FX100 全闪阵列、本地 NVMe 单盘、无外存整段重算。FX100 与本地盘按并发 8、16、32 三档测量,整段重算只测了并发 16 一档R2。

并发 16 的三组读数

三种做法在同一并发下的 TTFT p50 与吞吐如下。

  • 无外存、整段重算:TTFT p50 149.48 s,吞吐 4.1 tok/sR2。
  • 本地 NVMe 单盘:TTFT p50 17.31 s,吞吐 53.6 tok/sR2。
  • FX100 全闪阵列:TTFT p50 11.85 s,吞吐 74.9 tok/sR2。

两个基线不能混着说

「快了多少」取决于跟谁比。这组测试里有两个分母。

对比无外存整段重算,加速是 8.6–20×R2。这个数字回答的是「要不要把 KV Cache 存下来」。

对比本地 NVMe 单盘,吞吐提升 29–40%,TTFT p50 降低 26–32%R2R3。这个数字回答的是「存在哪里更好」。把两组数字合成一句话,就会让人误以为外置阵列比本地盘快一个量级,这不是事实。

这些数字能不能复现

同一档位做两轮独立测量,偏差不超过 5%R3。两种部署形态的结论由第三方检测机构汇编出具了正式报告R4。

LMCache 并行读补丁、负载客户端、编排脚本和原始数据打包为 R8,可以在自己的集群上重跑R8。你的模型、上下文长度和并发量不同,读数也会不同;这份数据说明的是量级和方向。

相关实测报告

外部参考资料

  1. 01
    LMCache (GitHub repository) · LMCache Project

    LMCache 的源码、架构与存储后端说明

  2. 02
    vLLM Documentation · vLLM Project

    vLLM 的部署方式、前缀缓存与张量并行等配置的官方说明

延伸阅读

KV Cache 放本地 NVMe 还是外置 NVMe-oF 阵列?

两种做法都能避免整段重算。480B 模型三档并发的实测里,外置 FX100 阵列相对本地 NVMe 单盘吞吐更高、首 token 延迟更低;本文同时说明对照条件的局限。

出处R1R2R3

厂商给的推理性能数据,怎么核实真假?

核实厂商推理性能数据的五个检查项:对照基线、测试平台与部署形态、重复测量偏差、第三方报告、复现材料。附常见的数字陷阱和提问清单。

出处R2R3R4R5R8R9

全部文章

先联测,后决策

先联测,后决策

合作从一次约 10 周的门禁化联测开始。四道门禁逐级放行,任何一道不达标就在那里停下,不必为没有被证实的收益买单。

联系人
王利民
电话
13161818898
邮箱
mingxin@agentmail.to

邮箱由 AI 自动接收与分拣,7×24 小时在线