执行摘要
Max-Throughput 配方自动启用 MegaMoE W4A8
为了在 Blackwell 硬件上使用 Max-Throughput 配方时,自动选择最佳吞吐配置(W4A8),无需用户手动设置;同时避免在启用 MegaMoE 时错误地传递 DeepEP 相关标志。
此 PR 设计合理,实现简洁,建议合并。可作为前端配置自动化的参考模式。
该 PR 无 Review 评论,所有改动均遵循前序设计决策,未引发争议。
为了在 Blackwell 硬件上使用 Max-Throughput 配方时,自动选择最佳吞吐配置(W4A8),无需用户手动设置;同时避免在启用 MegaMoE 时错误地传递 DeepEP 相关标志。
此 PR 设计合理,实现简洁,建议合并。可作为前端配置自动化的参考模式。
该 PR 无 Review 评论,所有改动均遵循前序设计决策,未引发争议。
handleRadioChange 中增加自动默认逻辑:当用户切换配方或硬件为max-throughput且当前 megamoe 处于disabled状态且硬件支持时,自动将megamoe设为w4a8。 DEEPEP_LARGE_SMS_FLAG 标志:在生成命令的两个分支(非 Max-Throughput 的max-throughput分支之前和之后的通用部分)中,仅在 megamoe === "disabled" 时添加该标志,避免与 MegaMoE 后端冲突。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
docs_new/src/snippets/autoregressive/deepseek-v4-deployment.jsx |
部署配置 | modified | 6.06 |
docs_new/src/snippets/autoregressive/deepseek-v4-deployment.jsx
core-logic
该文件是唯一的变更文件,包含所有逻辑修改:自动默认 MegaMoE 为 W4A8 以及条件化 DeepEP 标志。
// ... 前面的代码
const handleRadioChange = (optionName, value) => {
setValues((prev) => {
const next = { ...prev, [optionName]: value };
// Switching to a Marlin (FP4) Hopper path while cp / pd-disagg is
// selected: fall back to low-latency since those recipes are not
// supported on Marlin.
if (
optionName === "hardware" &&
MARLIN_HARDWARE.has(value) &&
MARLIN_UNSUPPORTED_RECIPES.has(next.recipe)
) {
next.recipe = "low-latency";
}
// 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";
}
// Switching to max-throughput on supported hardware: default MegaMoE to
// W4A8 if it's currently disabled (best throughput config).
if (
(optionName === "recipe" || optionName === "hardware") &&
next.recipe === "max-throughput" &&
next.megamoe === "disabled" &&
!isMegamoeUnsupported(next)
) {
next.megamoe = "w4a8";
}
return next;
});
};
// ... generateCommand 中的修改
// allinone H200 gates DEEPEP_LARGE_SMS_FLAG on !multinode — only H200 big
// is multi-node; all Blackwell cells get the flag unconditionally.
// Skip when MegaMoE is enabled (uses its own backend, not DeepEP).
if (!multinode && megamoe === "disabled") flags.push(DEEPEP_LARGE_SMS_FLAG);
// ... 另一个类似位置
if (!multinode && megamoe === "disabled") flags.push(DEEPEP_LARGE_SMS_FLAG);
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险较低。变更仅限于前端 JSX 逻辑,不涉及后端代码。自动默认逻辑可提升用户体验,但若硬件支持列表不准确,可能导致在不支持的硬件上错误启用 W4A8。现有 isMegamoeUnsupported 函数已处理此情况,风险可控。
影响范围较小,仅涉及 DeepSeek-V4 部署配置的 UI 组件。用户无需手动选择 MegaMoE 配置,但保留手动切换能力。对系统性能无直接影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论