Prhub

#35663 [docs] Add DFlash2 speculative cells to the Qwen3.8-27B cookbook

原始 PR 作者 Jiminator 合并时间 2026-08-21 04:26 文件变更 2 提交数 3 评论 1 代码增减 +79 / -3

执行摘要

为 Qwen3.8-27B cookbook 新增 DFlash2 推理选项,含平台验证条件。

随着 #35496 的合并,NVFP4 checkpoint 现在可以运行 DFlash2 推测解码,因此需要更新 cookbook 文档以提供 DFLASH2 选项,并明确各平台的验证状态,避免用户误用未验证的配置。

该 PR 值得精读,特别是对于需要在 Qwen3.8-27B 上部署 DFlash2 的用户。文档提供了详细的参数说明和验证状态,是很好的参考。对于其他开发者,也可了解如何为 cookbook 增加新选项。

讨论亮点

无 review 评论。仅有的 issue 评论来自 mintlify[bot] 提供文档预览部署链接。整体上,合并者批准了 PR,未见明显争议。

实现拆解

本变更为文档追加,修改了 docs/src/snippets/configs/Qwen/qwen3.8-27b.jsxdocs/cookbook/autoregressive/Qwen/Qwen3.8-27B.mdx

  1. Deploy 面板新增 DFLASH2 选项:在 qwen3.8-27b.jsx 中新增一个 id 为 dflash 的选项,对应 DFLASH2 算法,使用 --speculative-algorithm DFLASH --speculative-draft-model-path incoai/Qwen3.8-27B-DFlash2 --speculative-num-draft-tokens 8。针对 RTX 5090 平台,根据 SSM dtype 调整 --mem-fraction-static--mamba-full-memory-ratio(fp32 下使用 0.945 和 10),并利用 stripPrefixes 移除冲突的 flag。
  2. Playground 卡片新增 DFLASH2 选项:在 speculative.options 中新增 dflash 选项,与 Deploy 面板的 flag 一致,确保两条路径生成相同的命令。
  3. 文档更新:在 Qwen3.8-27B.mdx 中添加 DFLASH2 的配置提示,解释其 D 项为 8(draft 的 block size),并更新验证说明,标明哪些平台已经验证、哪些处于进行中。
  4. 未验证平台提示:对于 H200、DGX Spark、GB300,在 DFLASH2 选中的情况下,Deploy 面板会显示 "final verification in progress" 提示行。

测试方面,本 PR 为纯文档变更,无代码测试。

文件 模块 状态 重要度
docs/src/snippets/configs/Qwen/qwen3.8-27b.jsx 文档片段 modified 6.39
docs/cookbook/autoregressive/Qwen/Qwen3.8-27B.mdx 文档教程 modified 3.94

关键源码片段

docs/src/snippets/configs/Qwen/qwen3.8-27b.jsx core-logic

核心变更文件:新增 DFLASH2 选项到 Deploy 面板和 Playground 卡片,包含平台条件和参数调整逻辑。

// 在 Deploy 面板的 speculative 选项列表中新增 DFLASH2 选项
{
  id: "dflash",
  label: "DFLASH2",
  // 当选择 RTX 5090 且不为 nvfp4 时禁用 DFlash2,因为模型仅适配 NVFP4 权重
  disabled: (sel) => sel.hw === "rtx5090" && sel.quant !== "nvfp4",
  disableReason: "On the 32GB RTX 5090 the DFlash2 draft model only fits on top of the NVFP4 weights",
  // 对未验证平台给出提示
  hints: (sel) =>
    ["rtx6000", "rtx5090"].includes(sel.hw)
      ? []
      : ["DFLASH2 on this platform: final verification in progress"],
  // 针对 RTX 5090 重设 mem-fraction 和 mamba-full-memory-ratio,避免冲突
  stripPrefixes: (sel) =>
    sel.hw === "rtx5090"
      ? sel.ssmDtype === "float32"
        ? ["--mem-fraction-static", "--mamba-full-memory-ratio"]
        : ["--mem-fraction-static"]
      : [],
  // 构建命令行 flags,包含 DFlash2 相关参数和 RTX 5090 的特殊调整
  flags: (sel) => [
    "--speculative-algorithm DFLASH",
    "--speculative-draft-model-path incoai/Qwen3.8-27B-DFlash2",
    "--speculative-num-draft-tokens 8",
    ...(sel.hw === "rtx5090"
      ? sel.ssmDtype === "float32"
        ? ["--mem-fraction-static 0.945", "--mamba-full-memory-ratio 10"]
        : ["--mem-fraction-static 0.90"]
      : []),
  ],
},

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

作为文档变更,直接风险较低,但存在以下潜在风险:

  • 用户可能误用未验证的 DFLASH2 配置,导致部署失败或性能不佳。虽提示进行中,但不够醒目。
  • 配置参数(如 mem-fraction 和 ratio)若未来引擎默认值变化,可能失效。
  • 文档与代码可能不同步,若 DFLASH2 参数调整,文档需维护。

影响范围限于文档,对用户提供了 DFLASH2 部署指引,尤其为 NVFP4 用户开启新功能。对系统无代码影响。对团队而言,这是文档维护的一部分,有助于用户采用新功能。影响程度中等,因为这是用户可见的功能选项。

缺少测试覆盖 文档变动可能误导用户

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论