SuperAPI AI 工具集

nemo-mbridge-resiliency

智能体与模型

查看项目

更新于 10-16 04:33

技能介绍

该技能介绍 Megatron Bridge 训练中的弹性特性,包括故障容错、掉队者检测、进程内重启、抢占与实验性重跑状态机,相关文档位于 docs/training/resiliency.md 与 checkpointing.md。

故障容错仅支持 Slurm,推荐通过 NeMo Run 的 FaultTolerancePlugin 启用,参数含 num_in_job_restarts(默认3)、num_job_retries_on_failure(2)、initial_rank_heartbeat_timeout(1800秒)、rank_heartbeat_timeout(300秒);也可用 FaultToleranceConfig 直连配置,但必须用 ft_launcher 而非 torchrun,非 Slurm 环境需设置 GROUP_RANK=0,并可用 --ft-rank_section_timeouts 与 --ft-rank_out_of_section_timeout 控制分段超时,开启 calc_ft_timeouts 后超时会写入 ft_state.json。

掉队者检测使用 NVRxStragglerDetectionConfig,可设置检测间隔、相对与个体 GPU 性能阈值等;默认只记录日志,需 stop_if_detected=True 才会终止训练,且不应与旧检测器同时启用。

抢占支持 PreemptionPlugin(Slurm)或直接设置退出信号处理器与信号。进程内重启为实验特性,需配置启用、粒度、软硬超时等,并设置 TORCH_CPP_LOG_LEVEL、TORCH_NCCL_RETHROW_CUDA_ERRORS、NCCL_NVLS_ENABLE 环境变量;NCCL watchdog 超时须大于 hard_timeout,不支持 NeMo-Run Slurm Executor,需用 srun --kill-on-bad-exit=0 启动。重跑状态机同为实验特性,rerun_mode 可选 disabled、validate_results、report_determinism_stats,退出码 16、17 分别表示重跑消歧与校验失败。

检查点方面支持异步保存(需 ckpt_format="torch_dist")与 NVRx 本地检查点。资料给出配置与运行代码锚点、验证脚本和若干注意事项,未提供收费、平台等其它信息。