Prhub

#43097 [Docs][PD][NIXL] Bidirectional kv-cache transfer

原始 PR 作者 NickLucche 合并时间 2026-05-20 15:02 文件变更 1 提交数 1 评论 3 代码增减 +164 / -0

执行摘要

新增双向 KV 缓存传输的完整文档

在多轮对话中,标准单向 KV 传输会导致预填充端每轮重新计算全部 KV 缓存,效率低下。双向传输允许预填充端从解码端拉取已有的 KV 块,仅计算新 token,从而显著减少首 token 延迟。本文档解释该功能的原理、配置和部署方式。

建议阅读,以了解 vLLM 的 KV 传输新特性。设计决策中关于代理状态管理的讨论值得关注。

讨论亮点

在 review 中,markmc 对文档中提到的代理自定义 KV 传输参数表示忧虑,询问为何不能依赖某种标准协议。作者回复将在此 issue #43094 中进一步讨论路由器责任方案。该讨论表明社区对代理协议标准化还有疑虑。

实现拆解

本文档仅包含文档变更,无代码逻辑变更。文档结构如下:

  1. 介绍双向 KV 传输的动机和原理
  2. 序列图展示两轮交互的流程
  3. 配置参数:kv_transfer_paramsdecoder_kv_blocks_ttl
  4. 代理设置步骤:启动状态代理服务器并运行示例脚本
  5. 注意事项:硬件支持和推理模型问题
文件 模块 状态 重要度
docs/features/nixl_connector_usage.md 文档 modified 4.65

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

代理自定义 KV 传输参数缺乏标准 设计

markmc 质疑为何不能依赖标准协议而是让代理自定义参数,认为当前方案不完整。

结论:作者回复指向 issue #43094,表示将在该 issue 中继续讨论路由器责任方案。 · unresolved

风险与影响

此 PR 仅为文档变更,无代码风险。但文档描述的功能可能在后续版本中调整,导致文档过时或误导。用户应参考实际代码配置。

对用户:提供清晰的双向 KV 传输使用指南,降低部署门槛。对系统:无运行时影响。对团队:文档维护需保持同步。

文档与实现不同步风险

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论