Prhub

#24052 [Docs] quick fix delete --enable-dp-attention in sgl-jax

原始 PR 作者 JamesBrianD 合并时间 2026-04-30 15:39 文件变更 1 提交数 2 评论 3 代码增减 +7 / -1

执行摘要

删除 sgl-jax TPU 部署文档中的无效参数

PR body 指出:"In sgl-jax, DP attention is enabled by default and the --enable-dp-attention flag does not exist. The MiMo-V2.5-Pro TPU launch command in the cookbook included this flag, which would cause the server to fail at argument parsing."

该 PR 是典型的文档 bugfix,逻辑简单,值得快速合入。无需精读源码。

讨论亮点

审核人 JustinTong0323 提出质疑:如果去掉 --enable-dp-attention,是否连 --dp-size 也不该加?因为总芯片数 = tp_size * dp_size,而 tp-size 已固定为设备数,新增 dp-size 可能导致误解。PR 作者 JamesBrianD 解释:在 sglang-jax 中 tp-size 等于可用设备数,当 DP 启用时,系统自动计算每个 DP 实例的 TP 配置(类似于默认启用 --enable-dp-attention),因此 --dp-size 仍然需要以告知系统 DP 度,而 --enable-dp-attention 参数不存在。最终 JustinTong0323 批准了变更。

实现拆解

  1. 注释说明:在 generateCommand 函数的 sgl-jax 分支顶部(docs_new/src/snippets/autoregressive/mimo-v25-deployment.jsx,第 233-238 行)新增多行注释,解释 sgl-jax 的惯例:--tp-size 总是 JAX 设备总数,每个 DP 实例的 TP 由 tp/dp 自动推导;没有 --enable-dp-attention 标志,DP attention 是默认行为。
  2. 移除无效参数:在 flags 构建部分(第 248 行附近),将 if (useDpAttn) flags.push(" --dp-size ${dpSize}", " --enable-dp-attention"); 改为 if (useDpAttn) flags.push(" --dp-size ${dpSize}");,即只保留 --dp-size,删除 --enable-dp-attention
文件 模块 状态 重要度
docs_new/src/snippets/autoregressive/mimo-v25-deployment.jsx 文档片段 modified 4.47

关键源码片段

docs_new/src/snippets/autoregressive/mimo-v25-deployment.jsx core-logic

唯一变更文件:移除 TPU 分支中的无效参数 `--enable-dp-attention`,并添加注释说明 sgl-jax 的 DP 约定。

// 在 generateCommand 函数中,sgl-jax (TPU) 分支部分(约第 229 行)
if (jax) {
  // sgl-jax 惯例:
  // - `--tp-size` 总是总 JAX 设备数;每个 DP 实例的 TP 由 tp/dp 自动推导。
  // - 没有 `--enable-dp-attention` 标志 —— DP attention 是默认行为
  // (FFN 层自动选择 EP 拆分用于 MoE,attn-TP 拆分用于 dense)。
  const isV7x = hardware === "tpu-v7x";
  const useEp = expertParallelism === "enabled";
  const useDpAttn = dpAttention === "enabled";
  const dpSize = isV7x ? 4 : 8;
  const flags = [];
  flags.push(`  --model-path ${slug}`);
  flags.push("  --trust-remote-code");
  flags.push(`  --tp-size ${tp}`);
  if (useEp) flags.push(`  --ep-size ${tp}`);
  if (useDpAttn) flags.push(`  --dp-size ${dpSize}`); // 之前还包含 " --enable-dp-attention",现已移除
  // ... 其余标志

评论区精华

移除 --enable-dp-attention 后是否应保留 --dp-size question

JustinTong0323 质疑去掉 `--enable-dp-attention` 后是否连 `--dp-size` 也去掉,因为总芯片数已由 tp-size 隐含。JamesBrianD 解释 sgl-jax 中 tp-size= 设备总数,dp-size 仍用于告知 DP 度,且 --enable-dp-attention 参数不存在。

结论:保留 --dp-size,仅移除 --enable-dp-attention,并添加注释澄清。 · 已解决

风险与影响

无技术风险。这是一次纯文档修正,仅修改 JSX 字符串常量;不影响任何运行时逻辑、测试或配置。唯一潜在风险是用户可能仍然复制旧命令,但 PR 合入后新文档将展示正确命令。

影响范围极小:仅影响阅读 MiMoV2.5-Pro TPU 部署文档的用户。受益面为使用 sgl-jax 在 TPU 上部署该模型的用户,避免因参数报错而失败。CUDA 路径不受影响。

文档变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论