亚健康热切
训练任务配置为亚健康热切策略(hotSwitch)后,当发生亚健康故障时,拉起备份节点后暂停训练进程,再使用备份节点重新拉起训练任务。
使用约束
- 对于PyTorch训练框架,需配合MindSpeed-LLM 2.3.0版本使用,版本配套请参见MindSpeed-LLM。
- 对于MindSpore训练框架,需配合MindFormers master版本使用,版本配套请参见MindSpore MindFormers。
- 只支持PyTorch单算子模式、基于Megatron框架的模型以及acjob类型训练任务。
- MindSpore场景下,为保证本功能的正常使用,请将MindSpore和MindIO安装在同一路径下。
- 不支持多模态模型。
- 不支持开启watchdog功能。
- 训练任务未出迭代时触发热切,可能会造成MindIO阻塞,最后触发Job级别重调度。
- 当训练任务的annotation中hccl/rankIndex字段为0的Pod发生亚健康故障时,不支持触发亚健康热切。
- 以下异常情况会回退至Job级别重调度,且任务亚健康处理策略降级为ignore,不再处理亚健康故障:
- 备份Pod拉起后,训练暂停失败。
- 备份Pod拉起后,MindCluster等待上报训练暂停状态超时(15分钟)。
- 备份Pod运行失败。
- 原Pod删除后,训练恢复失败。
- 原Pod删除后,MindCluster等待上报训练恢复状态超时(15分钟)。
- 配置亚健康热切策略后,会自动增加进程级恢复开关,若发生非亚健康故障,将触发进程级恢复流程。
- 无备节点场景下,无法完成热切流程,任务亚健康处理策略降级为ignore,不再处理亚健康故障。
支持的产品型号和AI框架
产品类型 |
硬件形态 |
训练框架 |
|---|---|---|
Atlas 800T A2 训练服务器 |
|
|
Atlas 800T A3 超节点服务器 |
|
亚健康热切原理

在以上原理图中,各个步骤的说明如下。
- ClusterD通过Ascend Device Plugin感知到亚健康故障。
- ClusterD根据配置策略决策是否进行亚健康热切恢复。
- ClusterD通知Ascend Operator拉起备份Pod。
- Volcano调度备份Pod。
- 备份Pod中创建新的MindIO Processor,MindIO Processor向MindIO Controller发起注册。
- MindIO Controller下发训练暂停通知。
- MindIO Controller通知ClusterD训练暂停。
- ClusterD通知Volcano删除故障Pod。
- ClusterD通知MindIO恢复训练。
适配功能点
在亚健康热切中,集群大脑根据亚健康故障信息,为故障Pod设置注解,拉起并调度备份Pod,通知热切策略到MindIO,训练切换到备份Pod后恢复训练。在训练容器中,框架首先初始化MindIO服务,启动服务后优化器更新时会上报对应状态到MindIO。在异常发生时,通过异常捕获装饰器捕获故障模式。在新节点启动后,正常节点暂停训练,之后重建通信域,完成新节点参数面恢复,训练状态完成后完成节点热切换。
对于非MindSpeed-LLM、MindCluster平台用户,需在框架侧完成表2的功能适配。
适配功能点 |
功能简述 |
适配组件 |
参考链接 |
|---|---|---|---|
初始化拉起 |
训练框架初始化时拉起MindIO服务。 |
分布式训练框架 |
|
上报优化器更新状态 |
优化器更新前上报优化器更新的开始和结束状态。 |
||
创建DP副本组 |
新增dp_cp/dp_ep副本组及gloo组创建逻辑,在原生Megatron分布式并行组创建后创建相关副本组。 |
||
优化器副本 |
接管、继承相关Megatron原生优化器功能,嵌入MindIO优化器副本管理逻辑。 |
||
异常捕获装饰器 |
使用异常捕获装饰器装饰train函数捕获故障模式。 |
||
节点重启及通信重建 |
通过注册重建回调实现健康节点与故障节点重建通信域。 |
||
参数面在线修复 |
通过回调函数完成副本卡与恢复卡恢复处理。 |
||
状态回滚 |
通过回调函数完成数据迭代器重建、框架变量重置。 |
||
优雅暂停 |
训练迭代循环最尾部增加MindIO函数调用,实现主动暂停功能。 |
||
热切流程控制 |
管理热切恢复流程,通过设置注解方式管理备份Pod和故障Pod。 |
AI平台 |
|
Pod创建删除 |
通过识别特定注解删除和创建Pod。 |