用途:为 NVIDIA Megatron-LM 的 GB200 功能测试创建 1 节点(mr-github)变体,来源是已有的 2 节点(mr-scoped)测试。GB200 每节点 4 GPU,2 节点共 8 GPU,1 节点变体用 4 GPU。
主要能力与流程:
- 在 tests/test_utils/recipes/gb200/ 的 gpt.yaml、moe.yaml 的 products 块中,找出 scope 含 mr 或 mr-slim 的条目,忽略已在 *-1node.yaml 覆盖的测试及 nightly、weekly、mr-broken。
- 读取每个候选的 model_config.yaml,提取 TP、PP、EP、ETP、CP、global-batch-size、micro-batch-size。
- 按 world_size = TP × PP × DP(DP ≥ EP)分类:TP × PP ≤ 4 为直接复制;TP × PP = 8 时把 PP 减半并验证 TP × PP_new ≤ 4;EP > 4 时设 EP = 4;两者都超时同时缩减;ETP 需满足 EP × ETP ≤ TP × DP_new。不要改 GBS,由梯度累积吸收减少的 DP。
- 创建 _1node 模型配置目录,例如:mkdir -p tests/functional_tests/test_cases/{model}/{test_case}_1node,再复制 model_config.yaml 并按需修改并行参数。
- 创建或更新 recipe:GPT 测试新建 gpt-1node.yaml(克隆 gpt.yaml 的 spec 块,nodes: 1、gpus: 4、platforms: dgx_gb200,script_setup 与 script 原样复制);MoE 测试追加到已有 moe-1node.yaml。
- 添加 products 条目:每个 recipe 选 1–2 个代表性测试用 scope: [mr-github, mr-github-slim],其余用 [mr-github],platforms: [dgx_gb200]。
适用场景:Megatron-LM 仓库中为 GB200 平台补充单节点 MR 功能测试覆盖。
限制:资料未提供具体测试用例清单、运行命令、依赖版本或验证结果;需按仓库现有 recipe 与配置实际内容操作,并确保 slim 套件保持精简。