DeepSeek V4 Flash 搭配 DSpark 在 H200 上的部署实测
用户在 HGX H200 上对比 Flashinfer 与 Marlin 后端,并验证 DSpark 推测解码相对 EA…
一位 Reddit 社区用户分享了在 HGX H200(4 卡)上部署 DeepSeek V4 Flash 的实测经历,重点比较了 Flashinfer 与 Marlin 两种 MoE 后端在 SGLang 框架下的表现,并对比了 DSpark 与 EAGLE 两套推测解码(speculative decoding)方案。测试使用 lmsysorg/sglang:dev-dspark 镜像,输入长度覆盖 5K、10K、20K,并发覆盖 1、5、10、20。
DSpark 对比 EAGLE 的吞吐提升
作者援引其历史对话中的结论指出,DSpark 相对原配置中使用的 EAGLE(draft 1-1-2)有明显优势:
- bs=1 时 DSpark 速度约为 EAGLE 的 3.2 倍;
- bs=24 时 DSpark 吞吐高约 46%。
原因在于二者草稿策略不同:EAGLE 每步草拟 2 个 token,接收率始终接近 97%–100%;DSpark 每步草拟 6 个 token,接收率随 batch 增大由 100% 降至 bs=24 时的 88%,但每步被接受的 token 数仍达 5.27,对比 EAGLE 的 1.95 有约 2.7 倍的增益,这也是 46% 吞吐提升的来源。
Flashinfer vs Marlin:TTFT 实测
在同一 DSpark 配置下,作者对比了 MoE 后端 Flashinfer 与 Marlin 的 TTFT(首 token 时延)表现。
Mean TTFT 关键差异点(数值单位 ms,越低越好):
- 5K / conc=10:Flashinfer 380,Marlin 307,Marlin 领先约 19%;
- 5K / conc=20:Flashinfer 661,Marlin 597,Marlin 领先约 10%;
- 10K / conc=10:Flashinfer 369,Marlin 398,Flashinfer 领先约 7%;
- 10K / conc=20:Flashinfer 645,Marlin 548,Marlin 领先约 15%。
其余输入 / 并发组合下两者基本打平(差距 <5%)。P99 TTFT 方面,仅 5K / conc=20 出现两类后端都超过 4.4 秒的离群值(Flashinfer 5552、Marlin 4438),其余场景均控制在 2 秒以内。
接受长度:Marlin 略胜
DSpark 的接受长度上限为 6.0,所有测试场景下 Marlin 后端都略高于 Flashinfer:
- 5K / conc=1:Flashinfer 5.22,Marlin 5.52;
- 5K / conc=20:Flashinfer 5.22,Marlin 5.43;
- 10K / conc=1:Flashinfer 5.23,Marlin 5.44;
- 10K / conc=20:Flashinfer 5.30,Marlin 5.47;
- 20K / conc=1:Flashinfer 5.30,Marlin 5.47;
- 20K / conc=20:Flashinfer 5.36,Marlin 5.50。
差距在 0.1–0.3 之间。结合 TTFT 表现,作者倾向于在 DSpark 配置下使用 Marlin 后端。
部署配置要点
作者给出的关键启动参数包括:4 卡张量并行(--tp 4)、Marlin MoE runner、KV cache 使用 fp8_e4m3、mem-fraction-static 0.88、CUDA graph 最大 decode batch 24、最大并发请求 24,并启用层级缓存(hicache,ratio 4、write_through 策略)。推测解码通过 --speculative-algorithm DSPARK 启用,reasoning 与 tool-call parser 分别指定为 deepseek-v4 与 deepseekv4。
作者在文末表示自己并非资深从业者,欢迎读者对测试方法与结论提出反馈。
