开启和查看高可用配置
通过本章,您将了解到ModelArts高可用配置方法、配置建议和查看高可用配置任务。
由于内容较多,为便于您找到关心的内容,本节开头先做一个简单的内容分类。请参照如下分类,阅读您关心的内容。
- 了解如何开启高可用配置。ModelArts提供了两种开启高可用配置的方法,分别是通过ModelArts控制台创建训练作业,设置“高可用配置”开启和通过创建训练作业API设置相关参数开启。请您参考通过控制台开启高可用配置和通过API开启高可用配置。
- 了解开启了高可用配置后,哪些检测项目会触发高可用配置。请您参考检测项目与执行条件。
- 了解如何完成带高可用配置的训练作业流程,请您参考建议高可用配置流程。
- 了解在不同场景下,如何选择配置高可用配置,请您参考常见高可用配置组合。
- 了解开启高可用配置完成训练作业后,如何在作业中查看环境检测达到的效果,请您参考触发容错环境检测达到的效果。
- 了解如何查看是否开启了高可用配置的作业详情,请参考查看容错与恢复详情。
约束限制
卡死检测仅支持资源类型为GPU和NPU的训练作业。
通过控制台开启高可用配置
通过控制台开启高可用配置方法如下:
- 登录ModelArts管理控制台。
- 在左侧导航栏中,选择进入训练作业列表。
- 单击“创建训练作业”,进入创建训练作业页面。在“高可用配置”配置项,勾选“容错与恢复”,可进一步设置高可用配置。如图图1或图2所示。
创建训练作业时,可在“高可用配置”区域配置如表1所示能力。
| 配置项 | 说明 |
|---|---|
| 容错与恢复(新版控制台)/自动重启(旧版控制台) | 当训练作业因环境问题、作业卡死等原因异常时,系统将自动检测故障并根据相应策略进行处理,提高训练成功率。具体检测项参见检测项目与执行条件。 勾选即打开高可用配置,系统支持进程级、容器级、作业级自动重启,无需额外配置,可自动匹配与升级恢复策略。 |
| 最大重启次数 | 控制作业最大自动重启次数,避免无限重启,可选值为1~128次。勾选容错与恢复(新版)/自动重启(旧版)开关后,将启动业务重启功能,默认最大重启次数设置为3次,也可单独设置最大重启次数。 |
| 无条件自动重启 | ModelArts检测到训练作业异常,就无条件重启训练作业。为避免无效重启,系统仅支持连续无条件重启3次。 说明:无条件自动重启会占用最大重启次数的重启次数。 例如配置了最大重启次数为10次,同时打开了无条件自动重启开关。如果训练作业异常,将触发无条件自动重启作业。作业发生异常并连续触发无条件自动重启三次后,第四次异常将不会触发无条件自动重启。后续因为其他原因导致的重启,最多可重启7次。 |
| 作业卡死重启 | 系统支持自动监控作业进程的状态和资源利用率来判定作业是否卡死,开启此开关后,支持将标记为卡死的作业进行进程级自动重启,以提高资源使用率。为了避免无效重启浪费算力资源,系统最多只支持连续作业卡死重启3次。 说明:作业卡死重启不会占用最大重启次数的重启次数。 例如配置了最大重启次数为10次,同时打开了作业卡死重启开关。如果系统检测到训练作业卡死,将触发卡死检测重启训练作业,连续卡死重启了三次后,第四次卡死后将不会触发作业卡死重启。后续因为其他原因导致的重启,最多可重启10次。 |
| 算子重执行 | 通信算子失败后尝试重新执行。主要用于分布式训练场景。详细参见算子重执行。 |
通过API开启高可用配置
如果通过API创建训练作业,可通过设置annotations对应参数开启高可用能力。
{
"metadata": {
"annotations": {
"fault-tolerance/job-retry-num": "3",
"fault-tolerance/job-unconditional-retry": "true",
"fault-tolerance/hang-retry": "true",
"fault-tolerance/pod-retry-num": "2"
}
}
} | 参数 | 示例值 | 说明 |
|---|---|---|
fault-tolerance/job-retry-num | "3" | Job级自动重启次数。添加“fault-tolerance/job-retry-num”字段,视为开启自动重启,value的范围可以设置为1~128的整数。如果不传入则默认为0,表示不做重新下发作业,也不会启用环境检测。 |
fault-tolerance/job-unconditional-retry | "true" | 是否开启无条件自动重启。 |
fault-tolerance/hang-retry | "true" | 是否开启卡死重启。 |
fault-tolerance/pod-retry-num | "2" | Pod 级重调度次数。 |
检测项目与执行条件
通过表3,您能够清楚在什么情况下会触发自动重启。
| 检测项目 | item(日志关键字) | 执行条件 | 检测成功要求 |
|---|---|---|---|
| 域名检测 | dns | 无 | volcano容器的域名都解析成功(/etc/volcano下的“.host”文件中的域名解析成功) |
| 磁盘空间-容器根目录 | disk-size root | 无 | 大于32GB |
| 磁盘空间-/dev/shm目录 | disk-size shm | 无 | 大于1GB |
| 磁盘空间-/cache目录 | disk-size cache | 无 | 大于32GB |
| ulimit检查 | ulimit | 使用IB网络时 |
|
| gpu检查 | gpu-check | 使用gpu,且使用v2训练引擎时(北京四暂无) | 检测到gpu |
建议高可用配置流程
以下为ModelArts对训练作业启动高可用功能的配置流程,您可对照配置流程完成高可用配置。
- 确认训练脚本已支持CheckPoint。
- 确认CheckPoint路径位于作业重启后仍可访问的位置。
- 在创建训练作业页面或通过API参数开启自动重启。
- 设置最大重启次数。
- 对多机多卡任务开启作业卡死检测或卡死重启。
- 对昇腾超节点通信故障场景,评估是否开启算子重执行。
- 提交训练作业。
- 作业运行过程中查看日志、事件和恢复详情。
常见高可用配置组合
本节提供了常见的训练场景推荐的高可用配置,您可根据对应训练场景参考配置。具体参见表4。
| 训练场景 | 配置说明 | 适用场景 |
|---|---|---|
| 单机训练 | {
"metadata": {
"annotations": {
"fault-tolerance/job-retry-num": "2"
}
}
} |
|
| 多机多卡训练 | {
"metadata": {
"annotations": {
"fault-tolerance/job-retry-num": "3",
"fault-tolerance/job-unconditional-retry": "true",
"fault-tolerance/hang-retry": "true"
}
}
} |
|
| 长稳训练 | {
"metadata": {
"annotations": {
"fault-tolerance/job-retry-num": "5",
"fault-tolerance/job-unconditional-retry": "true",
"fault-tolerance/hang-retry": "true",
"fault-tolerance/pod-retry-num": "3"(Pod重调度次数)
}
}
} |
|




