Prhub

#25506 [Doc] Fix several places for dpsk v4 cookbook

原始 PR 作者 Fridge003 合并时间 2026-05-17 12:54 文件变更 2 提交数 1 评论 3 代码增减 +47 / -1

执行摘要

修复 DeepSeek V4 文档多处错误并新增 MegaMoE 说明

修复 DeepSeek V4 cookbook 中的多处文档错误(如缺失反引号导致渲染问题),并补充 MegaMoE 功能的说明,包括其硬件与部署方案兼容性。

该 PR 为文档修复和功能补充,建议立即合并以修正已知问题并完善 MegaMoE 说明。值得关注的点:

1) isMegamoeUnsupported 的设计与实际后端兼容性对齐;
2) 文档格式审查流程。

讨论亮点

gemini-code-assist[bot] 指出两处问题:

  1. flashinfer_mxfp4 标识缺失闭合反引号,导致 Markdown 渲染异常,包含右括号和句点。
  2. Notes: 标题未加粗,与其他子标题格式不一致。
    两个问题均为中等优先级,已在前述实现中修复。

实现拆解

  1. docs_new/src/snippets/autoregressive/deepseek-v4-deployment.jsx:新增 isMegamoeUnsupported 函数和相关的常量集合,用于判断当前硬件和部署方案是否支持 MegaMoE;在 resolveItems 函数中添加对 megamoe 选项的处理,当选择不受支持的硬件或部署方案时,将非 disabled 的选项禁用并显示原因;在 handleRadioChange 中添加回退逻辑,当切换硬件或部署方案导致 MegaMoE 不支持时,自动将 MegaMoE 选项重置为 disabled
  2. docs_new/cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx:修复 flashinfer_mxfp4 标识缺失的反引号,使 Markdown 正确渲染;新增 MegaMoE 功能的说明段落,介绍其 W4A8 和 W4A4 变体、硬件与部署方案的限制及注意事项;调整 Notes: 为加粗格式以保持文档一致性;修正 H200 原始 FP4 checkpoint 的说明,明确提供 Marlin 和 Flashinfer 两种 w4a16 MoE 内核选项。
文件 模块 状态 重要度
docs_new/src/snippets/autoregressive/deepseek-v4-deployment.jsx 部署脚本 modified 6.91
docs_new/cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx 文档 modified 3.82

关键符号

isMegamoeUnsupported resolveItems handleRadioChange

关键源码片段

docs_new/src/snippets/autoregressive/deepseek-v4-deployment.jsx core-logic

核心 UI 逻辑变更:新增 MegaMoE 硬件与部署方案兼容性判断函数 `isMegamoeUnsupported`、相关常量及禁用逻辑,确保交互式命令生成器正确显示可用选项。

// MegaMoE is only supported on Blackwell with DeepEP-based recipes
// (balanced / max-throughput / pd-disagg). It's disabled on Hopper
// (H100 / H200 / H200-FP4) and on low-latency / cp recipes.
const MEGAMOE_UNSUPPORTED_RECIPES = new Set(["low-latency", "cp"]);
const MEGAMOE_UNSUPPORTED_HARDWARE = new Set(["h100", "h200", "h200-fp4"]);
const isMegamoeUnsupported = (vals) =>
  MEGAMOE_UNSUPPORTED_HARDWARE.has(vals.hardware) ||
  MEGAMOE_UNSUPPORTED_RECIPES.has(vals.recipe);const resolveItems = (option, vals) => {
  // ... existing Marlin logic ...
  if (option.name === "megamoe" && vals && isMegamoeUnsupported(vals)) {
    const reason = MEGAMOE_UNSUPPORTED_HARDWARE.has(vals.hardware)
      ? "MegaMoE is only supported on Blackwell"
      : "MegaMoE is not supported on this recipe";
    return option.items.map((it) =>
      it.id === "disabled" ? it : { ...it, disabled: true, disabledReason: reason }
    );
  }
  return option.items;
};const handleRadioChange = (optionName, value) => {
  setValues((prev) => {
    const next = { ...prev, [optionName]: value };
    // ... existing Marlin fallback ...
    // Switching to a hardware/recipe combo that doesn't support MegaMoE
    // while w4a8 / w4a4 is selected: fall back to disabled.
    if (
      (optionName === "hardware" || optionName === "recipe") &&
      next.megamoe !== "disabled" &&
      isMegamoeUnsupported(next)
    ) {
      next.megamoe = "disabled";
    }
    return next;
  });
};

评论区精华

缺失反引号导致 Markdown 渲染错误 other

gemini-code-assist[bot] 指出 `flashinfer_mxfp4` 标识缺少闭合反引号,导致 `)` 和 `.` 被包含在代码块内。

结论:已修复,补上闭合反引号。 · 已解决

Notes 标题未加粗 style

gemini-code-assist[bot] 建议将 `Notes:` 加粗以与其他子标题格式保持一致。

结论:已修复,改为加粗 `**Notes:**`。 · 已解决

风险与影响

此 PR 为纯文档和 UI 配置变更,无执行逻辑或底层代码修改,回归风险低。主要风险在于:

1) 若 JSX 中的 isMegamoeUnsupported 逻辑与实际后端支持不符,可能导致用户选择无效配置;
2) Markdown 格式错误可能导致文档渲染异常。这些风险均通过人工审查和 CI 验证可控制。

直接影响 DeepSeek V4 的 cookbook 文档和交互式命令生成器:修复 Markdown 格式问题,使文档正确渲染;新增 MegaMoE 功能的硬件兼容性逻辑,提升用户配置体验;修正 H200 原始 FP4 checkpoint 说明,减少用户困惑。影响范围限于文档和 UI 逻辑,无系统功能或性能影响。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论