当 KV 缓存比 GPU 更慢:为上下文并行预填充扩展远程 KV 层级

Hugging Face Daily Papers 论文

摘要

该论文研究长上下文 LLM 服务中远程 KV 缓存层级的性能瓶颈,提出按并行 rank 分片 MLA KV 存储、异步加载等优化,将 p99 延迟从 83.32 秒降至 0.67 秒,并显著提升预填充吞吐。

在长上下文 LLM 服务中,跨请求复用注意力 KV 缓存是降低预填充开销的标准手段,生产系统中越来越多地采用所有引擎共享的远程层级来支撑每个引擎的本地缓存。我们在 GLM-5.3 的分离式部署中研究了这样一种远程层级——GLM-5.3 是一个 FP8 混合专家(MoE)模型,采用多头潜在注意力(MLA),运行在 8xB300 节点上并启用预填充上下文并行(PCP8)。启用远程层级(LMCache + Valkey 存储)后,首 token 中位延迟没有变化,但 16k token 场景下的 p99 从 3.96 秒上升到 17.3 秒。通过在隔离引擎上重放生产请求流,我们发现远程命中耗时 0.88 秒,而重新计算提示词仅需 0.31 秒;同步加载将命中率较高的请求流变成不稳定的排队:p99 高达 83.32 秒,而 GPU 利用率仅为 7%。一个两项式成本模型可以解释这两种现象:只有当远程层级的交付带宽超过 B* = sR(该模型和 GPU 下为 2.53 GB/s)时,命中才有收益;而每次命中存在固定引擎开销(T0 ≈ 0.33 秒),意味着对于短于约 17k token 的提示词,无论带宽多高,命中都无法胜过重新计算。在模型的指导下,我们做了以下工作:(i) 将 MLA KV 存储按 PCP rank 分片,并证明现有的最小 rank 查询方式能返回最长的已缓存前缀,同时设计了一种加载协议,确保集合通信绝不会失同步;(ii) 按 rank 划分远程层级,每个 rank 独立运行一个服务器实例,无需任何协调,将 GET 带宽提升 6.3 倍至 10.76 GB/s;(iii) 为分片存储添加异步加载;(iv) 修复了三个导致无限期阻塞的客户端 bug。在命中率较高的请求流中(98.5% 的提示词 token 由远程层级提供服务),p99 从 83.32 秒降至 0.67 秒。分片存储使预填充吞吐提升 14%,与上游内核修复叠加后提升 34%。所有改动均已提交至 LMCache 上游。
查看原文
查看缓存全文

缓存时间: 2026/10/16 11:03

论文页面 - 当 KV Cache 比 GPU 还慢:面向 Context-Parallel Prefill 的远程 KV 层扩展

来源:https://huggingface.co/papers/2610.21500

摘要

用于长上下文 LLM 服务的远程 KV 缓存如果未按并行 rank 分片存储、异步加载并配合高带宽检索,可能会严重增加延迟;而做好这些之后则可带来巨大的吞吐量提升。

在长上下文 LLM 服务中,跨请求复用注意力 KV 缓存是降低 prefill 成本的标准做法,生产系统也越来越多地为每个引擎配备一个所有引擎共享的远程层。我们在 GLM-5.3 的分离式部署中研究了这样一个远程层——GLM-5.3 是一个 FP8 混合专家(MoE)模型,采用多头潜注意力(MLA),运行在 8 节点 × B300 上,并开启 prefill context parallelism(PCP8)。启用远程层(LMCache 搭配 Valkey 存储)后,首 token 时间的中位数没有变化,但 16k token 的 p99 延迟从 3.96 秒飙升至 17.3 秒。在隔离引擎上重放生产请求流时,我们发现一次远程命中需要 0.88 秒,而重新计算提示词只需 0.31 秒;同步加载使一个以命中为主的请求流变成了不稳定的队列:p99 达到 83.32 秒,而 GPU 利用率仅为 7%。一个两项成本模型可以解释这两种现象:只有当远程层的带宽超过 B* = sR(对本模型和 GPU 而言为 2.53 GB/s)时,命中才划算;而每次命中存在一个固定的引擎开销 T₀ ≈ 0.33 秒,这意味着对于短于约 17k token 的提示词,无论带宽多高,命中都无法胜过重算。在该模型的指导下,我们:(i) 将 MLA KV 存储按 PCP rank 分片,并证明现有的跨 rank 取最小值查找方式能返回最长的已缓存前缀,同时提出了一种永远不会导致集合通信失步的加载协议;(ii) 将远程层按 rank 划分——每个 rank 一个服务实例,无需任何协调——使 GET 带宽提升 6.3 倍,达到 10.76 GB/s;(iii) 为分片存储加入异步加载;(iv) 修复了三个导致无限期停顿的客户端 bug。在以命中为主的请求流上,当 98.5% 的提示词 token 由远程层提供时,p99 从 83.32 秒降至 0.67 秒。分片存储将 prefill 吞吐量提升 14%,与上游内核修复配合后共提升 34%。所有修改均已提交至 LMCache 上游。

查看 arXiv 页面 (https://arxiv.org/abs/2610.21500) 查看 PDF (https://arxiv.org/pdf/2610.21500) 加入收藏 (https://huggingface.co/login?next=%2Fpapers%2F2610.21500)

在你的 agent 中获取这篇论文:

hf papers read 2610.21500

没有最新版 CLI?curl \-LsSf https://hf\.co/cli/install\.sh \| bash

引用本文的模型 0

暂无模型关联此论文

在模型 README.md 中引用 arxiv.org/abs/2610.21500,即可在此页面建立链接。

引用本文的数据集 0

暂无数据集关联此论文

在数据集 README.md 中引用 arxiv.org/abs/2610.21500,即可在此页面建立链接。

引用本文的 Spaces 0

暂无 Space 关联此论文

在 Space README.md 中引用 arxiv.org/abs/2610.21500,即可在此页面建立链接。

包含本文的合集 0

暂无合集包含此论文

将本文添加到合集,即可在此页面建立链接。

相似文章

KV-Repurpose:用于评估非前缀 KV 缓存复用的测试平台

arXiv cs.CL

本文提出 KV-Repurpose,一个基于 vLLM 的开源测试平台,用于评估超越精确前缀匹配的分段 KV 缓存复用;在服从 Zipf 分布的检索增强生成(RAG)负载下,其词元级缓存命中率达到 63.9%,远高于前缀缓存的 3.3%,并显著降低首词元生成时间(TTFT)。