# Kimi-K3 DP2 无投机 A/B 两个独立四节点 SGLang 副本通过 SGLang Router 做 round-robin 负载均衡。固定 `EP4`,比较: - `tp32`:每副本 `TP32/PP1/EP4` - `pp8`:每副本 `TP4/PP8/EP4` - `tp32-dflash`:每副本 `TP32/PP1/EP4`,开启 DFlash,draft tokens 16;`mem-fraction-static=0.83` 为 16K Prefill 的 FlashInfer MoE workspace 留出余量 测试口径固定为 SPEED-Bench、`16K -> 512`、`C=8`、40 请求、chunk 8K、BF16 KV、FlashInfer MXFP4,并关闭 Prefix Cache。`tp32`、`pp8` 不启用投机解码;`tp32-dflash` 只增加 DFlash 及其必要参数。 ```bash cd /data/hzy/sskj/experiments/pro6000/kimi3_pro6000_dp2_nospec_ab # 只展开命令 bash run_dp2_nospec_ab.sh dry-run tp32 bash run_dp2_nospec_ab.sh dry-run pp8 bash run_dp2_nospec_ab.sh dry-run tp32-dflash # 完整实验 RUN_ID=dp2-tp32-$(date +%Y%m%d-%H%M%S) bash run_dp2_nospec_ab.sh all tp32 RUN_ID=dp2-pp8-$(date +%Y%m%d-%H%M%S) bash run_dp2_nospec_ab.sh all pp8 RUN_ID=dp2-tp32-dflash-$(date +%Y%m%d-%H%M%S) bash run_dp2_nospec_ab.sh all tp32-dflash ``` 每轮结果保存在 `results//`。正式计时前,脚本分别给两个副本发送一个 `16K -> 1` 请求,避免 Router 只预热到一个副本。 ## 2026-09-02 正式结果 | 模式 | Input TPS | Output TPS | TTFT mean / p95 | TPOT mean / p95 | E2E mean | |---|---:|---:|---:|---:|---:| | `2 x TP32/PP1/EP4` | 2797.64 | 85.99 | 8.35s / 20.79s | 75.93ms / 88.06ms | 47.15s | | `2 x TP4/PP8/EP4` | 1799.46 | 55.31 | 7.84s / 11.68s | 126.86ms / 145.13ms | 72.66s | | `2 x TP32/PP1/EP4 + DFlash` | 2218.94 | 68.20 | 8.12s / 21.75s | 98.44ms / 154.58ms | 58.42s | ### TP32 DFlash 对照 `tp32-dflash` 的投机参数与 PD+DFlash 保持一致:draft model 为 `Kimi-K3-DFlash`,draft KV 为 BF16,`speculative-num-draft-tokens=16`。Router 后的 `/server_info` 不汇总接受长度;两副本 Decode 日志共 37 个周期采样的平均接受长度为 3.76,平均接受率为 0.184。 | 指标 | TP32 无投机 | TP32 + DFlash | 变化 | |---|---:|---:|---:| | Benchmark duration | 238.18s | 300.30s | +26.08% | | Input / Output TPS | 2797.64 / 85.99 | 2218.94 / 68.20 | -20.69% | | TTFT mean / p95 | 8.35s / 20.79s | 8.12s / 21.75s | -2.73% / +4.62% | | TPOT mean / p95 | 75.93ms / 88.06ms | 98.44ms / 154.58ms | +29.64% / +75.54% | | E2E mean / p95 | 47.15s / 59.25s | 58.42s / 88.76s | +23.90% / +49.83% | 在当前 `16K -> 512, C=8` 口径下,DFlash 没有带来端到端收益:平均 TTFT 仅下降 2.73%,P95 TTFT 反而增加 4.62%,吞吐下降 20.69%,TPOT 和 E2E 明显恶化。当前参数不建议用于 DP2 正式部署。 第一次 DFlash 正式轮使用 `mem-fraction-static=0.86`,在首个 16K Prefill 的 FlashInfer MXFP4 MoE workspace 分配阶段 OOM;DP2 单实例同时承担 Prefill 和 Decode,不能直接复用 PD 的 D-only 显存比例。仅将该模式降到 0.83 后完整通过,投机参数未改变。 证据目录: - `results/dp2-tp32-final-20260902-123051/` - `results/dp2-pp8-final-20260902-130711/` - `results/dp2-tp32-dflash-mem083-20260902-143710/` - 首轮 OOM 证据:`results/dp2-tp32-dflash-final-20260902-141001/` 三轮最终结果均为 40/40 请求成功。Router 使用固定 `round_robin`,两副本均实际处理请求。正式运行后补充了 Router 的模型目录挂载,避免后续 tokenizer 注册产生与 round-robin 转发无关的错误日志。