NixlConnector 兼容性矩阵¶
本页面记录了使用 NixlConnector 进行解耦预填充 (disaggregated prefilling) 的功能兼容性。有关常规使用说明,请参阅 NixlConnector 使用指南。有关解耦预填充的概述,请参阅 解耦预填充。
注意
本页面反映了当前代码库的状态,并可能随功能的演进发生变化。标记为 🟠 或 ❌ 的条目可能链接到跟踪问题。查看 NIXL 连接器路线图 以了解即将开发的功能。
图例
- ✅ = 完全支持
- 🟠 = 部分支持(请参阅脚注)
- ❌ = 不支持
- ❔ = 未知 / 尚未验证
- 🚧 = 开发中
通用支持功能
以下功能在使用 NixlConnector PD 解耦服务时支持所有模型架构
分块预填充 (Chunked Prefill) | APC (前缀缓存) | 数据并行 | CUDA 图 | Logprobs | Prompt Logprobs | Prompt Embeds | 多种 NIXL 后端 (UCX, GDS, LIBFABRIC 等)
模型架构 x 能力¶
| 模型类型 | 基础 PD | 推测解码 | 异构 TP | 跨层块 | SWA | 主机缓冲区 | 异构块大小 |
|---|---|---|---|---|---|---|---|
| Dense Transformers | ✅ | ✅1 | ✅ | ✅2 | ✅ | ✅ | 🟠3 |
| MLA (例如 DeepSeek-V2/V3) | ✅ | ✅1 | 🟠4 | ✅2 | ✅ | ✅ | 🟠3 |
| Sparse MLA (例如 DeepSeek-V3.2) | ✅ | ✅1 | 🟠4 | ✅2 | ✅ | ✅ | 🟠3 |
| 混合 SSM / Mamba | ✅ | ❔ | 🚧5 | ❌ | ✅ | ✅ | ❌6 |
| MoE | ✅ | ✅1 | ✅ | ✅2 | ✅ | ✅ | 🟠3 |
| 多模态 | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ |
| 编码器-解码器 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
1 P 和 D 实例必须使用相同的推测配置。
2 需要 FLASH_ATTN 或 FLASHINFER 后端以及 HND KV 缓存布局。通过 --kv-transfer-config '{"kv_connector_extra_config": {"enable_cross_layers_blocks": "True"}}' 启用。
3 仅在不需要 HMA(即非混合模型)时支持。块 ID 会自动重新映射。仅支持 P 块大小 < D 块大小。
4 MLA KV 缓存会在 TP 工作节点之间复制,因此异构 TP 可用,但没有头拆分 (head-splitting)。当 P TP > D TP 时,只执行一次读取(跳过冗余秩)。D TP > P TP 也适用。
5 混合 SSM (Mamba) 模型需要同构 TP (P TP == D TP)。目前 Mamba 层尚不支持异构 TP。
6 HMA(混合模型所必需)不支持不同的远程块大小。
配置说明¶
P 和 D 之间必须保持一致的项¶
默认情况下,握手期间会检查兼容性哈希。P 和 D 实例必须在以下方面达成一致:
- vLLM 版本和 NIXL 连接器版本
- 模型(架构、数据类型、KV 头数、头大小、隐藏层数)
- 注意力后端
- KV 缓存数据类型 (
cache_dtype)
警告
可使用 --kv-transfer-config '{"kv_connector_extra_config": {"enforce_handshake_compat": false}}' 禁用哈希检查,但需自行承担风险。
P 和 D 之间可以安全不同的项¶
tensor-parallel-size(异构 TP,受上述模型限制)block-size(异构块大小,受上述限制)- KV 缓存块数量(由各实例的可用内存决定)
KV 缓存布局¶
- NixlConnector 默认使用
HND布局以获得最佳传输性能(非 MLA 模型)。 - 支持
NHD布局,但不允许异构 TP 头拆分。 - 实验性
HND↔NHD置换:通过--kv-transfer-config '{"enable_permute_local_kv": true}'启用。HMA 不支持此项。
量化 KV 缓存¶
量化 KV 缓存(例如 FP8)要求 P 和 D 实例使用相同的 cache_dtype。缓存数据类型不匹配会导致握手时的兼容性哈希检查失败。
- 静态量化(从检查点加载比例):✅ 支持。比例由每个实例从模型检查点独立加载。
- 动态量化(运行时计算比例):❌ 不支持。块级比例不会随 KV 缓存数据传输。
- 打包布局比例(比例与权重内联存储):✅ 支持。比例与 KV 缓存块一起传输。