Prhub

#37301 [Cookbook] Enable DSpark on the DeepSeek-V4 Flash Vision low-latency recipes

原始 PR 作者 zijiexia 合并时间 2026-09-01 07:43 文件变更 3 提交数 1 评论 1 代码增减 +15 / -11

执行摘要

Flash Vision 低延迟配方启用 DSpark,B200 精度更新为 75.14%

PR body 说明:Flash Vision 检查点捆绑了 DSpark draft head,且已在 #37253 中接入 VL wrapper(lm_head 委托与 set_dspark_layers_to_capture 交给文本模型),但 #37293 发布的 cookbook 配方全部 target-only,原因是投机解码尚未在图像批次上验证。本 PR 在 B200 上完成验证(MMMU-Pro 75.14%,1730/1730 样例,stop_rate 100%,0 截断、0 报错,decode accept 长度约 2.5–3.0),因此可以把低延迟配方切换为启用 DSpark;同时明确 balanced / high-throughput 保持 target-only 的根因——它们运行 DP Attention,而 DSpark 在当前版本与 DP Attention 不兼容。

作为纯文档 PR 无需精读业务逻辑,但对 cookbook 配置面板维护者与 DeepSeek-V4 系列跟进者值得浏览。值得关注的设计:

1) 用 hide / disable 规则集中表达"功能间不兼容约束"(DP Attention × DSpark、CUDA only),比散落在正文的说明更不易失真;
2) verifiedverificationStatus 双字段让 target-only 配方可以随验证进度平滑演进;
3) 基准数据页把"测得分数"与"测量命令"绑定在同一单元格,降低误读风险。

讨论亮点

本 PR 无实质 review 讨论:wisclmy0611 直接 approve(评论为空),唯一的评论来自 mintlify[bot] 的预览部署通知。技术权衡全部沉淀在 PR body 中:

1) 草稿头随主检查点发布,所以只加 --speculative-algorithm DSPARK、不传其它投机参数;
2) 只在低延迟配方启用 DSpark,balanced / high-throughput 因 DP Attention 不兼容保持 target-only;
3) B200 保持 verified: true,其余硬件行显式标记 in-progress,避免把未验证配置宣传为已验证。

实现拆解

  1. 解除 DSpark 选项的 Flash Vision 禁用:在 docs/src/snippets/configs/deepseek-ai/deepseek-v4.jsxspeculative.options 数组中,dspark 选项的 disable 列表移除了针对 variant: ["flash-vision"] 的规则(B200 上已完成图像批次验证);保留 dpAttnOn: [true](DSpark 与 DP Attention 不兼容)与 hw: ["mi300x", "mi355x"](DSpark 仅支持 CUDA)两条约束。
  2. 为低延迟 recipe 注入 DSPARK 参数:在 B200 / B300 / GB200 / GB300 / H200 五个 flash-vision + fp4 + low-latency 单元格的 flags 数组中插入 --speculative-algorithm DSPARK,位置紧接 --tp 4 之后,与 Flash Official(0731 / 0813)配方的标志顺序保持一致;不追加 EAGLE 系列参数,因为草稿头内置于主检查点,只需这一个投机解码参数。
  3. 更新基准数据docs/src/snippets/configs/deepseek-ai/deepseek-v4-benchmarks.jsx 将 B200 Flash Vision 低延迟行的 accuracy.mmmu_pro_pct 从 74.96 更新为 75.14,notes 补充 "with the bundled DSpark head enabled (--speculative-algorithm DSPARK)" 说明,避免读者把 75.14% 误当作 target-only 配置的分数。
  4. 同步 MDX 叙述docs/cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx 两处关于 Flash Vision 投机解码的描述从 "target-only / 未验证" 更新为"低延迟配方启用 DSpark(B200 已验证,其余硬件 pending)",并说明 balanced / high-throughput 因使用 DP Attention 保持 target-only,且不传 EAGLE 的三个参数(--speculative-num-steps--speculative-eagle-topk--speculative-num-draft-tokens)。
  5. 状态标注与测试配套:B200 低延迟行保持 verified: true 并保留未发布警告(依赖 #37253);B300 / GB200 / GB300 / H200 低延迟行保持 verificationStatus: "in-progress"。本 PR 为纯文档变更,无测试文件配套(PR body 自述 N/A)。
文件 模块 状态 重要度
docs/src/snippets/configs/deepseek-ai/deepseek-v4.jsx 配置面板 modified 5.93
docs/src/snippets/configs/deepseek-ai/deepseek-v4-benchmarks.jsx 基准数据 modified 4.67
docs/cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx 文档页面 modified 2.72

关键源码片段

docs/src/snippets/configs/deepseek-ai/deepseek-v4.jsx core-logic

cookbook 配置面板的核心数据源。本 PR 在这里解除 Flash Vision 变体的 DSpark 禁用规则,并为 B200 / B300 / GB200 / GB300 / H200 五个低延迟 recipe 注入 --speculative-algorithm DSPARK,是启用 DSpark 的主要载体。

// ----- Card 4: "Speculative Decoding" -----
// dspark 选项:hide 只作用于普通 flash / pro 变体,
// Flash Official 与 Flash Vision 均允许选择 DSpark
speculative: {
  options: [
    { id: "current", label: "Inherited from base" },
    { id: "off", label: "Off (greedy)" },
    { id: "mtp-314", label: "EAGLE / MTP 3-1-4",
      flags: ["--speculative-algorithm EAGLE", "--speculative-num-steps 3",
              "--speculative-eagle-topk 1", "--speculative-num-draft-tokens 4"],
      hide: { variant: ["flash-official", "flash-vision", "pro-official"] } },
    { id: "dspark", label: "DSpark",
      // 草稿头随主检查点发布,因此只需一个参数即可启用
      flags: ["--speculative-algorithm DSPARK"],
      hide: { variant: ["flash", "pro"] },
      disable: [
        // Flash Vision 的禁用规则已移除(B200 上完成图像批次验证);
        // 仅保留两条硬性不兼容约束:DP Attention 与 ROCm
        { when: { dpAttnOn: [true] },
          reason: "DSpark is not compatible with DP Attention on the current release." },
        { when: { hw: ["mi300x", "mi355x"] },
          reason: "DSpark currently requires CUDA." },
      ] },
  ],
},
// B200 + FP4 — Flash Vision (Exp) 低延迟 recipe
// verified: true 表示用下方精确命令完成过完整验证
{
  match: { hw: "b200", variant: "flash-vision", quant: "fp4", strategy: "low-latency", nodes: "single" },
  verified: true,
  warn: "DeepSeek-V4-Flash-Vision-Exp support has not shipped in an SGLang release yet (sglang PR 37253): Docker mode already points at the preview image; for Python mode install SGLang from that PR. See [Flash Vision notes](#vision-note).",
  env: [],
  flags: [
    "--model-path {{MODEL_NAME}}",
    "--tp 4",
    // 与 Flash Official 标志顺序一致,紧接 --tp 4;
    // 不传任何 EAGLE 系列参数,draft 已内置在主检查点
    "--speculative-algorithm DSPARK",
    "--mem-fraction-static 0.85",
    "--host {{HOST_IP}}",
    "--port {{PORT}}",
  ],
},
docs/src/snippets/configs/deepseek-ai/deepseek-v4-benchmarks.jsx core-logic

基准数据页。将 B200 Flash Vision 低延迟行的 MMMU-Pro 从 74.96 更新为 75.14,并在 notes 中注明该分数是在开启 DSpark 后测得,保证数据与配方一致。

{
  match: { hw: "b200", variant: "flash-vision", quant: "fp4", strategy: "low-latency", nodes: "single" },
  sglang_version: "dev-dsv4-flash-vision",
  // 开启 DSpark 后的 MMMU-Pro 实测值:1730/1730 样例全部完成,
  // stop_rate 100%,0 截断、0 报错;decode 接受长度约 2.5–3.0
  accuracy: { mmmu_pro_pct: 75.14 },
  notes: "MMMU-Pro (standard, 10-option) measured with sgl-eval on 4×B200 (TP=4) at temperature 1.0, top-p 0.95, --reasoning-effort max, with the bundled DSpark head enabled (--speculative-algorithm DSPARK).",
},

评论区精华

Mintlify 文档预览部署 other

mintlify[bot] 自动发布预览部署链接(lmsysorg-cookbook-dsv4-flash-vision-dspark),状态 Ready。

结论:无实质技术讨论;wisclmy0611 直接 approve,空评论。 · 已解决

风险与影响

  • 多硬件验证缺口:B300 / GB200 / GB300 / H200 的低延迟行已写入 DSPARK 参数但保持 verificationStatus: "in-progress"。若这些平台上的 DSpark 与图像批次组合存在行为差异,文档配置会先于验证发布;好在状态字段显式可见,风险可控。
  • 依赖未发布特性:sglang PR #37253 尚未进入正式 release,warn 已提示 Python 模式需从该 PR 源码安装;用户若用旧版本照抄命令会启动失败。
  • 配置与运行时约束耦合:DSpark × DP Attention 的不兼容仅体现在配置面板的 disable 规则中,绕过 UI 手动组合参数时文档无法强制约束。
  • 精度数据可比性:75.14% 与先前 74.96% 的差异来自开启 DSpark 后的命令级复测,数字本身稳定;但读者需注意该分数带 DSpark,而非 target-only 配置。
  • 用户侧:cookbook 读者可在 Flash Vision 低延迟场景一键生成带 DSpark 的启动命令;Playground 中 DSpark 芯片在 Flash Vision 变体下不再置灰,balanced / high-throughput 用户仍受 DP Attention 约束。
  • 团队侧:示范了"功能先于 release 发布文档"的节奏——文档依赖预览镜像与未合并 PR(#37253),需要与发布流程对齐。
  • 影响范围:仅 DeepSeek-V4 cookbook 页面(3 个文件、15 增 11 删),无运行时代码、无测试、无配置默认值变更。
多硬件验证未完成 依赖未发布特性 文档配置与运行时约束耦合

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论