Prhub

#23851 [Docs] add cookbook for MiMo-V2.5 family

原始 PR 作者 JustinTong0323 合并时间 2026-04-28 01:38 文件变更 4 提交数 16 评论 1 代码增减 +1025 / -1

执行摘要

为 MiMo-V2.5 系列模型添加 cookbook 文档

为 XiaomiMiMo 最新 MiMo-V2.5 系列模型提供官方部署指南和基准,帮助用户快速上手。如 PR body 所述:'Adds a unified cookbook for XiaomiMiMo/MiMo-V2.5-Pro (1.02T MoE, text-only) and XiaomiMiMo/MiMo-V2.5 (310B MoE, multimodal).'

值得阅读新的 cookbook 页面以了解 SGLang 对大型 MoE 模型的最新支持。部署生成器的约束设计(如根据模型变体和硬件自动调整 tp/dp/blackwell 标志)对编写同类文档有参考价值。

讨论亮点

无实质讨论,仅获得 wisclmy0611 的快速批准。

实现拆解

  1. 创建交互式部署生成器组件mimo-v25-deployment.jsx):定义模型变体(Pro/V2.5)、硬件平台(H200/H100/B200/GB300)、优化选项(EAGLE MTP、DeepEP、DP Attention 等)的矩阵,根据选择动态生成对应的 sglang 启动命令行。组件通过 React state 管理选项,计算约束规则(如 Pro 仅支持 MTP,Blackwell 硬件强制使用 flashinfer_trtllm 等),并显示多节点提示。
  2. 创建 cookbook 页面MiMo-V2.5.mdx):包含模型概览表格、关键特性说明、部署指南(引用生成器组件)、推理示例(文本思考、图像/视频/音频、工具调用)以及速度和精度基准(GSM8K 98.0%,MMMU 59.3%)。页面采用 Mintlify 兼容前端框架。
  3. 更新文档导航配置docs_new/docs.json):在“Xiaomi”分组中添加新 cookbook 路径 cookbook/autoregressive/Xiaomi/MiMo-V2.5,使其出现在侧边栏。
  4. 更新 cookbook 首页cookbook/autoregressive/intro.mdx):将 Xiaomi 卡片链接从旧的 MiMo-V2-Flash 指向新的 MiMo-V2.5 页面,并调整顺序。
文件 模块 状态 重要度
docs_new/src/snippets/autoregressive/mimo-v25-deployment.jsx 部署生成器 added 9.25
docs_new/cookbook/autoregressive/Xiaomi/MiMo-V2.5.mdx 模型文档 added 6.04
docs_new/docs.json 导航配置 modified 2.6
docs_new/cookbook/autoregressive/intro.mdx 入口页面 modified 2.52

关键符号

MiMoV25Deployment multiNodeFlags prependMultiNodeNote computeConstraints resolveItems getInitialState checkDarkMode handleRadioChange

关键源码片段

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

新增的交互式部署命令生成器,是 PR 核心创新:通过 React 组件动态生成 sglang 启动命令,涵盖 Pro/V2.5、四种硬件、多种优化选项,并内置约束逻辑(如 DeepEP 仅在 Hopper 可用)。

// ============================================
// MiMo-V2.5 部署生成器组件
// ============================================
export const MiMoV25Deployment = () => {
  // 模型变体 × 硬件 → slug, tp, 是否多节点 , 是否 Blackwell
  // 根据此矩阵生成最终命令行
  const HW_VARIANT_SPEC = {
    "pro|h200": { slug: "XiaomiMiMo/MiMo-V2.5-Pro", tp: 16, multinode: true, nnodes: 2, blackwell: false },
    "pro|h100": { slug: "XiaomiMiMo/MiMo-V2.5-Pro", tp: 16, multinode: true, nnodes: 2, blackwell: false },
    "pro|b200": { slug: "XiaomiMiMo/MiMo-V2.5-Pro", tp: 8, multinode: false, blackwell: true },
    "pro|gb300": { slug: "XiaomiMiMo/MiMo-V2.5-Pro", tp: 8, multinode: true, nnodes: 2, blackwell: true },
    "base|h200": { slug: "XiaomiMiMo/MiMo-V2.5", tp: 8, multinode: false, blackwell: false, dp: 2 },
    "base|h100": { slug: "XiaomiMiMo/MiMo-V2.5", tp: 8, multinode: false, blackwell: false, dp: 2 },
    "base|b200": { slug: "XiaomiMiMo/MiMo-V2.5", tp: 4, multinode: false, blackwell: true, dp: 1 },
    "base|gb300": { slug: "XiaomiMiMo/MiMo-V2.5", tp: 4, multinode: false, blackwell: true, dp: 1 },
  };  // 生成多节点额外标志
  const multiNodeFlags = (nnodes) => [
    `  --nnodes ${nnodes}`,
    `  --node-rank <node-rank>`,
    `  --dist-init-addr <node0-ip>:20000`,
  ];  // 根据约束条件启用 / 禁用选项
  const computeConstraints = (variant, hardware) => {
    // 例如:Blackwell 禁掉 DeepEP
    const isBlackwell = hardware === "b200" || hardware === "gb300";
    const isPro = variant === "pro";
    return {
      deepepDisabled: isBlackwell, // Blackwell 使用 flashinfer_trtllm
      eagleMtpDisabled: !isPro, // MTP 仅 Pro 支持
      // ... 其他约束
    };
  };  // ... 渲染逻辑:根据选中的 variant/hardware 组合生成命令行字符串
  // 并在 UI 中显示生成的命令
}

评论区精华

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

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

风险与影响

主要风险在于 JSX 组件生成的部署命令可能与实际环境不符,如果后续配置逻辑更新但文档未同步。但 PR 作者已本地验证渲染和部分命令行正确性,并且命令基于已验证的实践。文档不涉及核心代码变更,风险较低。另外 MMMU 基准因答案提取正则 bug 暂时移除(后已补回),仅影响暂未发布的基准数据。GSM8K 结果在后续提交中补填。

对用户:提供了部署 MiMo-V2.5 系列的完整指南,提升了 on-boarding 体验。对团队:增加了维护文档碎片的工作量,但通过组件化生成器可减少手写命令的差错。影响范围限定在文档系统和感兴趣的模型用户,不改变核心推理逻辑。

文档组件可能过期 基准基于特定硬件 缺失 GSM8K 基准(待补)

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论