Kimi-K3 DP2 无投机 A/B
两个独立四节点 SGLang 副本通过 SGLang Router 做 round-robin 负载均衡。固定 EP4,比较:
tp32:每副本TP32/PP1/EP4pp8:每副本TP4/PP8/EP4tp32-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 及其必要参数。
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/<RUN_ID>/。正式计时前,脚本分别给两个副本发送一个 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 转发无关的错误日志。