问题
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 的三组读数
两个基线不能混着说
这些数字能不能复现
相关实测报告
- R2FX100 KV Cache 性能测试报告(480B · TP8 长上下文)Qwen3-Coder-480B-FP8 以八卡单实例(TP=8)的标准生产形态部署,在长上下文冷恢复负载下做三方对照:FX100、本地 NVMe 单盘、无外存整段重算,并按并发 8 / 16 / 32 做梯度。本站引用最多的吞吐与 TTFT 数字出自这份报告。
AMD Instinct MI308X × 8 · ROCm 7.2 - R3FX100 KV Cache 性能测试汇总报告(480B · TP4×2 · 全指标)同一台 8 卡服务器改为四卡双实例(TP4×2)部署,九档负载记录全部指标:TTFT 的 p50 / p90 / p99、TPOT、吞吐与盘带宽。这份报告还验证了两件事:fs:// 共享池能让两个实例热共享同一份缓存;同一档位做两轮独立测量,偏差不超过 5%。
AMD Instinct MI308X × 8 · ROCm 7.2 - R4FX100 KV Cache 性能测试报告(480B · 多实例形态 · 编号 -006)R2 与 R3 的正式汇编版,由第三方检测机构出具,报告编号 -006。如果你的采购或合规流程需要一份出自第三方机构的文件,引用这一份。
AMD Instinct MI308X × 8 · ROCm 7.2 - R8FX100 KV Cache 测试代码导出包与原始测试数据让第三方能自己重跑一遍的全部材料:LMCache 并行读补丁(git patch 与修改前后全文)、负载客户端、编排脚本、探针取证脚本,以及原始测试数据。
AMD Instinct MI308X · ROCm 7.2
外部参考资料
- 01
- 02
延伸阅读
KV Cache 分层是什么?原理、收益与适用边界
KV Cache 分层把溢出显存的 KV Cache 存到主机内存和外置全闪存储,会话回来时直接读回而不重算。本文说明三层结构、实测收益和不适用的场景。
出处R2R3R8
KV Cache 放本地 NVMe 还是外置 NVMe-oF 阵列?
两种做法都能避免整段重算。480B 模型三档并发的实测里,外置 FX100 阵列相对本地 NVMe 单盘吞吐更高、首 token 延迟更低;本文同时说明对照条件的局限。
出处R1R2R3
厂商给的推理性能数据,怎么核实真假?
核实厂商推理性能数据的五个检查项:对照基线、测试平台与部署形态、重复测量偏差、第三方报告、复现材料。附常见的数字陷阱和提问清单。
出处R2R3R4R5R8R9