Prhub

#23540 docs: split MI300X and MI325X options in GLM-5.1 generator

原始 PR 作者 zijiexia 合并时间 2026-04-24 03:01 文件变更 3 提交数 3 评论 3 代码增减 +15 / -13

执行摘要

拆分 MI300X/MI325X 选项并排序文档导航

PR Body 明确指出需要将 MI300X 和 MI325X 拆分为独立选项,以提高用户选择精度,同时保持两者行为一致(共享同一 AMD 配置路径和生成的命令)。此外,重新排序 GLM cookbook 导航条目以符合预期的 GLM 模型顺序(5.1 → 5 → OCR → Glyph → 4.7 → 4.6 → 4.5)。

值得快速浏览以了解如何将聚合硬件选项拆分为独立选项,以及如何使用 .includes() 统一分散的条件判断。但无需深入精读,因不涉及核心代码或性能变化。关注 review 中提到的 FP8 文档与实现不一致的问题,建议在后续 PR 中对齐。

讨论亮点

来自 gemini-code-assist[bot] 的代码审查建议:
- 高优先级isAMD 检查在多处重复,建议使用 ['mi300x', 'mi325x', 'mi355x'].includes(hw) 替代多个 || 来提升可读性和可维护性。此外,生成器中为 AMD 硬件禁用了 FP8,但文档 GLM-5.1.mdx 第 82 和 110 行表明 FP8 在 MI300X/MI325X/MI355X 上受支持且推荐,建议对齐文档启用 AMD 的 FP8 支持。
- 中优先级:投机解码条件和命令生成函数中的 isAMD 判断同样建议使用 .includes() 以保持一致性。

该审查被作者采纳,后续提交的 5e2c11e 记录了应用了建议(由 gemini-code-assist[bot] 共同作者)。但关于启用 FP8 的建议未被采纳,PR 中保留了 FP8 对 AMD 禁用的行为。

实现拆解

  1. 拆分硬件选项并统一 AMD 逻辑docs_new/src/snippets/autoregressive/glm-51-deployment.jsx):将硬件列表中的 { id: 'mi300x', label: 'MI300X/MI325X' } 拆分为 { id: 'mi300x', label: 'MI300X' }{ id: 'mi325x', label: 'MI325X' } 两项。所有 AMD 相关判断(isAMD、投机解码条件、命令生成中的 isAMD)均更新为包含 mi325x,并用 ['mi300x', 'mi325x', 'mi355x'].includes(hw) 替代多个 || 条件以提升可读性和可维护性。同时为 mi325x 添加了与 mi300x 相同的 modelConfigs 条目(bf16: { tp: 8, mem: 0.80 })。

  2. 重新排序 GLM 文档导航docs_new/docs.json):将 GLM 组的页面列表顺序从旧的版本升序(4.5, 4.6, 4.7, 4.7-Flash, 5, 5.1, Glyph, OCR, 4.5V, 4.6V)改为版本降序(5.1, 5, OCR, Glyph, 4.7, 4.7-Flash, 4.6, 4.6V, 4.5, 4.5V),使更高版本优先展示。

  3. 更新 GLM 卡片链接docs_new/cookbook/autoregressive/intro.mdx):将卡片中的 href 从 /cookbook/autoregressive/GLM/GLM-4.5 改为 /cookbook/autoregressive/GLM/GLM-5.1,使用户从目录页直接跳转到最新的 GLM 版本。

文件 模块 状态 重要度
docs_new/src/snippets/autoregressive/glm-51-deployment.jsx 部署片段 modified 5.34
docs_new/docs.json 文档配置 modified 3.5
docs_new/cookbook/autoregressive/intro.mdx 文档介绍 modified 2.31

关键源码片段

docs_new/src/snippets/autoregressive/glm-51-deployment.jsx core-logic

核心变更文件,拆分硬件选项并重构 AMD 判断逻辑

export const GLM51Deployment = () => {
  // 硬件选择器从合并选项拆分为 MI300X 和 MI325X 独立项
  const options = {
    hardware: {
      name: 'hardware',
      title: 'Hardware Platform',
      items: [
        { id: 'h200', label: 'H200', default: true },
        { id: 'b200', label: 'B200', default: false },
        { id: 'gb300', label: 'GB300', default: false },
        { id: 'h100', label: 'H100', default: false },
        { id: 'mi300x', label: 'MI300X', default: false }, // 拆分自合并项
        { id: 'mi325x', label: 'MI325X', default: false }, // 新增独立项
        { id: 'mi355x', label: 'MI355X', default: false }
      ]
    },
    // ... 其他配置保持不变
    speculative: {
      name: 'speculative',
      title: 'Speculative Decoding',
      // 条件改为 includes 以包含 mi325x
      condition: (values) => !['mi300x', 'mi325x', 'mi355x'].includes(values.hardware),
      items: [
        { id: 'disabled', label: 'Disabled', default: false },
        { id: 'enabled', label: 'Enabled', default: true }
      ]
    }
  };  // 为 MI325X 添加与 MI300X 相同的模型配置(BF16, tp=8, mem=0.80)
  const modelConfigs = {
    // ... 其他硬件配置
    mi300x: { bf16: { tp: 8, mem: 0.80 } },
    mi325x: { bf16: { tp: 8, mem: 0.80 } }, // 新增项
    mi355x: { bf16: { tp: 8, mem: 0.80 } }
  };
};

评论区精华

AMD 硬件判断重构与 FP8 支持对齐 设计

gemini-code-assist[bot] 指出 isAMD 判断重复,建议改用 .includes() 提升可维护性;同时生成器禁用 AMD FP8 但文档推荐 FP8,要求对齐。

结论:作者采纳了 .includes() 重构建议,但保留 FP8 禁用状态(未对齐文档)。 · 已解决

投机解码条件简化 style

建议将多个 !== 判断改为 .includes() 以保持一致性。

结论:作者采纳了该建议。 · 已解决

命令生成函数中 isAMD 一致性 style

建议同样使用 .includes(),并提醒若后续启用 FP8 则需更新强制 bf16 的逻辑。

结论:作者采纳了 .includes() 建议;FP8 启用问题未解决。 · 已解决

风险与影响

无技术风险:本 PR 仅修改文档站点的交互式部署组件和导航配置,不涉及任何后端推理逻辑、服务启动参数或模型权重。拆分选项后,MI325X 的行为完全与之前合并时的 MI300X/MI325X 一致(相同 BF16 config),因此不会引入回归。不过需确认文档中提到的 FP8 支持建议与生成器行为的不一致是否会在后续 PR 中处理。

用户影响:使用 GLM-5.1 部署组件的用户现在可以明确选择 MI300X 或 MI325X,而非两者合并,选择更精准。同时,导航栏中 GLM 模型的排序更直观(新版优先)。系统影响:无。团队影响:低,仅涉及文档和 UI 配置维护。

文档与实现不一致(FP8 支持)

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论