Megatron-LM 集群训练启动助手
帮助你在 SLURM GPU 集群上可靠启动、监控和排查多节点 Megatron-LM 训练任务。
技能将操作限定在用户指定的SLURM集群、共享工作区和训练作业范围内,并提供scancel作为停止手段;但提交作业和取消作业均未要求用户确认,未说明凭据、训练数据或检查点的敏感信息处理,也缺少明确回滚方案。仓库提供NVIDIA来源、安全报告渠道和Apache-2.0声明,但给定许可证元数据为NOASSERTION,因此未给满分。
说明覆盖多节点启动、环境变量、容器、监控和按rank诊断,失败分类也较具体;但没有该技能专属测试或可复现执行记录,依赖SLURM、uv、Megatron-LM、CUDA、NCCL和共享存储,版本兼容性与异常输入处理不完整。静态校准限制分数不超过10。
触发条件、目标用户和典型场景清晰,且说明了共享文件系统、GPU数量、硬件代际和FSDP边界;但未充分说明不适用范围、集群配置差异、端口/容器限制或中文使用支持。核心功能依赖用户可访问的本地SLURM集群,不是完全依赖海外服务。
SKILL.md结构清楚,包含前置条件、脚本、监控、故障诊断、容器和常见陷阱;skill-card补充了所有者、许可证、版本和参考资料。评估报告指出缺少metadata.tags、Instructions、Examples和Purpose,维护责任与变更历史不够明确,且许可证元数据存在NOASSERTION,因此扣分。
提供可直接改写的sbatch骨架、关键分布式参数、硬件相关环境变量规则及故障诊断路径,能够覆盖核心任务;但源码未执行,benchmark缺少Tier 3结果,脚本和建议是否适配具体集群、Megatron版本及容器环境无法静态确认。按静态校准取上限7。
存在固定修订、源文件、skill-card、参考资料和静态验证报告,部分主张可追溯;但evals.json为空,报告明确缺少Tier 3信号和测试任务,且没有覆盖该技能关键路径的提交测试或第三方执行证据。按静态校准不超过5。
- 提交sbatch会产生实际集群作业和资源消耗;执行前应由用户确认账户、分区、节点数、GPU数、时限、输出路径和训练参数。
- MASTER_PORT、容器挂载、uv环境、CUDA/NCCL/Megatron版本及共享存储可见性需要按目标集群验证;文档未提供可回滚的检查点恢复或失败清理流程。
- 不要将凭据、私有数据或敏感检查点路径直接写入脚本、日志或共享输出;当前技能未明确脱敏和访问控制要求。
这个 Skill 能做什么,适合哪些场景?
该技能面向需要在 SLURM 集群运行 Megatron-LM 分布式训练的工程师。它提供最小化 sbatch 模板,并指导共享文件系统、uv 环境、torch.distributed.run 和多节点进程参数的配置。内容还覆盖不同硬件、并行模式和 FSDP 配置下的 CUDA_DEVICE_MAX_CONNECTIONS 规则,以及容器使用、任务监控和逐 rank 故障诊断。它适合已有 SLURM GPU 集群和 Megatron-LM 工作区的用户,不是集群部署或 Megatron-LM 安装指南。
生成或解释 sbatch 启动骨架;设置 MASTER_ADDR、MASTER_PORT、NNODES、GPUS_PER_NODE 和 WORLD_SIZE;通过 srun 为每个节点启动一个任务,并运行 uv run python -m torch.distributed.run;指导共享日志、检查点和 TensorBoard 输出;提供 squeue、sacct 和 scancel 监控命令;根据 OOM、形状或整除错误、导入错误及 NCCL 故障给出排查方向。
- Megatron-LM 工程师需要编写首次提交到 GPU 分区的多节点 sbatch 脚本。
- 平台工程师需要为共享文件系统上的训练工作区配置 MASTER_ADDR、WORLD_SIZE 和节点 rank。
- 训练人员需要根据 Hopper、Ampere、Blackwell 或 GB200 硬件设置 CUDA_DEVICE_MAX_CONNECTIONS。
- 运维人员需要监控 SLURM 任务、轮询训练产物并在结果生成后取消任务。
- 开发者遇到某个 rank 的 Python 崩溃以及随后出现的 NCCL 超时,需要定位最初错误。
这个 Skill 有哪些优点和局限?
- 提供可直接改写的最小 sbatch 模板。
- 明确区分 pre-Blackwell、Blackwell、Torch-FSDP2、Megatron-FSDP 和 MoE 通信重叠场景。
- 强调共享路径、逐 rank stderr 和最早 Python traceback,便于定位分布式故障。
- 包含任务提交、监控、取消和结果产物轮询建议。
- 要求用户已有 SLURM GPU 集群提交权限和 Megatron-LM 工作区。
- 没有给出具体集群账户、分区、GPU 型号、容器镜像或训练参数。
- 未提供独立测试套件或平台兼容性验证结果。
- 集合 README 的 Apache-2.0/CC BY-4.0 许可是仓库级信息;该 SKILL.md 自身声明 Apache-2.0。
如何安装这个 Skill?
使用 NVIDIA/skills 的 skills CLI 安装此单项技能:npx skills add nvidia/skills --skill mcore-run-on-slurm --yes。也可以指定客户端,例如:npx skills add nvidia/skills --skill mcore-run-on-slurm --agent codex,或将 codex 替换为 claude-code。
如何使用这个 Skill?
在已加载该技能的客户端中提出“如何在 SLURM 集群运行 Megatron-LM”“帮我写 sbatch 多节点训练脚本”或“排查这个 SLURM/NCCL 失败”。实际提交前,应在共享工作区运行 uv sync --extra training --extra dev(或 --extra lts),将脚本中的账户、分区、节点数、GPU 数、工作区和 Megatron 参数替换为实际值,然后使用 mkdir -p logs && JOB_ID=$(sbatch --parsable run_megatron.slurm) 提交。