KV Cache分层存储如何提升大模型推理吞吐
以芯元一FX100实测为例,解析KV Cache分层存储对推理吞吐与首token延迟的优化机制,附480B模型测试数据。
核心结论
KV Cache分层存储通过将高频访问的注意力缓存放置在近存介质、将冷数据卸载至远端存储池,可在大模型长上下文推理场景中显著提升吞吐并降低首token延迟。据芯元一R2/R3实测,480B参数模型在KV分层加速下推理吞吐提升+29–40%,首token延迟降低26–32%。这一优化路径的关键在于存算分离架构下对KV Cache生命周期的精细管理,而非单纯堆叠存储带宽。
为什么KV Cache成为推理吞吐的瓶颈
大模型推理过程中,KV Cache(键值缓存)随序列长度线性增长,长上下文场景下其容量需求远超GPU显存上限。据《Efficient Memory Management for Large Language Model Serving with PagedAttention》所述,KV Cache的分页管理是解决显存碎片化的重要机制,但该论文同样指出,当序列超出物理显存时,系统仍需依赖重算或外存访问——这正是吞吐下降的根源。
芯元一在480B模型(Qwen3-Coder-480B-FP8,权重约450GB)上的测试揭示了瓶颈的量级:在无外存重算的基线配置下,并发16档的TTFT p50高达149.5s,吞吐仅4.1 tok/s【R2实测】。相比之下,启用KV Cache分层存储后,同配置TTFT降至11.85s,吞吐提升至74.9 tok/s,加速倍数达8.6–20×【R2实测】。这一对比说明,KV Cache的存取路径优化对推理延迟的改善幅度,远超单纯增加计算资源的效果。
分层存储架构的核心机制
KV Cache分层存储的工程实现,在架构层面与《Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving》所描述的以KVCache为中心的存算分离设计理念一致:将KV Cache从GPU显存卸载到远端存储池,通过池化复用提高资源利用率。但芯元一的实现差异在于存储层本身——FX100全闪NVMe-oF阵列通过RoCEv2网络直连GPU节点,单口100GbE带宽配合4盘RAID0配置,将存储延迟压至接近本地NVMe的水平【R1/R2实测平台说明】。
分层的核心逻辑是数据热度识别:热KV Cache驻留显存或本地高速介质,冷数据则按需从远端阵列读取。据《SGLang: Efficient Execution of Structured Language Model Programs》所述,RadixAttention通过前缀树复用机制显著提升多轮对话中的缓存命中率——这一机制在分层存储中同样适用:当缓存未命中需要回源读取时,存储层的随机读性能直接决定TTFT。
芯元一R1实测提供了一组对照数据:单卡、并发16、冷读盘场景(Qwen2.5-32B),启用LMCache并行读补丁后TTFT从37.97s降至9.30s,带宽从0.98 GB/s提升至5.23 GB/s(↑5.3×)【R1实测】。这表明,当KV Cache访问模式从顺序读变为高并发随机读时,存储阵列的并行读能力成为新的性能天花板——这正是传统NFS文件系统难以胜任的场景。
实测数据:分层存储的收益边界
| 指标 | 基线(无外存重算) | FX100分层存储 | 提升幅度 | 出处 |
|---|---|---|---|---|
| 吞吐(并发16,480B) | 4.1 tok/s | 74.9 tok/s | 约18× | R2实测 |
| TTFT p50(并发16,480B) | 149.5s | 11.85s | 约12.6× | R2实测 |
| 吞吐提升(并发8–16档) | — | — | +29–40% | R2/R3实测 |
| TTFT降低(TP8三档并发) | — | — | ↓26–32% | R2实测 |
| 模型加载(DeepSeek-70B,昇腾910B) | 1399s(NFS) | 150s | 9.3× | R9实测 |
表1:KV Cache分层存储关键实测数据汇总(出处均为芯元一实测报告编号)
上表数据揭示了两个重要边界。其一,吞吐提升幅度(+29–40%)与TTFT降低幅度(↓26–32%)并非线性对应——前者是稳态吞吐指标,后者是冷启动延迟指标,两者受不同环节制约【R2/R3实测】。其二,加速倍数在极端场景(无外存重算对比)下可达8.6–20×,但在生产部署形态(已有部分缓存命中)下收敛至29–40%的区间【R2实测】。这意味着,分层存储的收益高度依赖工作负载的缓存命中率,选型时需以实际并发形态和上下文长度作为约束条件。
值得注意的还有训练侧的连带收益。据R1实测,8卡32B LoRA训练中,每份65.6GB整模型快照的Checkpoint保存时间从178s降至94s(1.9×),持续写带宽从3.26提升至6.40 GB/s(+96%)【R1实测】。虽然这是训练场景而非推理,但同一存储阵列同时服务推理KV Cache与训练Checkpoint,意味着分层存储架构可以统一算力中心的存储底座。
选型判断:分层存储不是万能解
分层存储的收益有明确的适用前提。据NVIDIA CMX产品页公开口径,其将CMX定义为AI原生上下文存储层,并声称相对传统存储最高约5×吞吐与5×能效提升——但这一数字是厂商口径,且针对的是BlueField-4与DOCA Memos的特定软硬组合。芯元一的实测数据来自AMD MI308X平台(ROCm 7.2 + vLLM 0.20.1),两者架构路径不同,不能直接对比。
对技术决策者而言,判断是否引入KV Cache分层存储,应关注三个约束:其一,上下文长度是否经常突破单卡显存上限(如480B模型的数万token长上下文);其二,并发形态是否会产生大量冷读请求(如多实例共享同一模型前缀);其三,现有存储是否成为吞吐瓶颈——据《NVIDIA GPUDirect Storage Documentation》所述,GPU直连存储可绕过CPU bounce buffer,但前提是存储端支持RDMA且网络无拥塞。若这三个条件均满足,分层存储的吞吐收益大概率落在芯元一实测的+29–40%区间内【R2/R3实测】;若上下文较短或缓存命中率高,收益可能收窄至个位数百分比。
结语
KV Cache分层存储的吞吐优化本质上是存储架构对推理调度的适配:通过将冷KV Cache卸载至高性能NVMe-oF阵列,释放显存空间并降低重算概率。芯元一FX100系列(PCIe 3.0至PCIe 6.0,IOPS从16M至140M)提供不同档位的存储性能选择,其10周门禁化联测流程可在真实负载下验证TTFT降幅≥25%与吞吐+29–40%的指标带【合作模式说明】。如需在自有平台验证分层存储收益,可联系芯元一技术团队开展联合测试。
本文要点问答
Q:KV Cache分层存储对推理吞吐的提升幅度有多大? A:据芯元一R2/R3实测,480B模型生产部署形态下吞吐提升+29–40%,最优工作点(并发16档)为上界+40%。若基线为无外存重算,加速倍数可达8.6–20×。
Q:分层存储的收益受什么因素制约? A:主要受缓存命中率影响。热数据驻留显存时收益有限,冷读请求占比越高、上下文越长,收益越接近实测上界。选型需以实际并发形态和上下文长度为准。
Q:芯元一FX100的实测平台是什么? A:8×AMD MI308X(每卡192GB HBM)+ 2×AMD EPYC 9654,ROCm 7.2 + vLLM 0.20.1,存储为FX100全闪NVMe-oF阵列(RoCEv2,单口100GbE)。数据出自R1/R2/R3/R9实测报告。
References
- Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving — https://arxiv.org/abs/2407.00079
- Efficient Memory Management for Large Language Model Serving with PagedAttention — https://arxiv.org/abs/2309.06180
- SGLang: Efficient Execution of Structured Language Model Programs — https://arxiv.org/abs/2312.07104
- NVIDIA GPUDirect Storage Documentation — https://docs.nvidia.com/gpudirect-storage/index.html
- NVIDIA CMX Context Memory Storage Platform — https://www.nvidia.com/en-us/data-center/ai-storage/cmx/