
# 模型高可用功能说明
#### 什么是模型训练高可用功能
在长时间、大规模的模型训练中，受限于硬件稳定性、网络波动等原因，训练作业难免会出现中断。如果训练作业能够在中断后快速恢复，将极大地提高训练设备的利用率，降低用户训练的时间成本和算力损失。
ModelArts提供了模型训练高可用功能，包括**断点续训练、故障检测、自动重启、故障节点隔离、卡死检测、算子重执行和失败日志分析**等能力，用于提升训练作业在长时间运行、多机多卡训练等大模型训练场景下的稳定性。帮助用户在发生故障时，能够自动恢复训练状态并继续运行，将算力损失降至最低。
模型训练高可用主要解决以下问题：
- 训练过程中节点、芯片、网络或存储等基础设施异常导致作业失败。
- 多机多卡训练过程中某个节点异常导致整体任务失败。
- 训练进程无退出但长时间无有效进展，即训练卡死。
- 通信链路偶发异常导致分布式训练失败。
![](https://support.huaweicloud.com/usermanual-standard-modelarts/public_sys-resources/note_3.0-zh-cn.png)
1. ModelArts高可用配置可以提升训练作业自动恢复能力，但不能替代训练代码的容错设计，您在设计训练代码时，依旧要充分考虑代码的容错性。
2. 对于长时间训练任务，尤其是大模型训练任务，建议必须适配CheckPoint保存和断点续训练能力。
3. 如果未开启高可用功能，ModelArts将不处理训练过程中检测到的异常。
 
#### 模型训练高可用能力地图
[表1]列举了ModelArts支持的高可用能力及使用场景，请您根据实际需求获取对应的能力。
 表1ModelArts高可用能力 
| 高可用能力    | 主要作用                         | 是否需要用户改代码       | 推荐场景                |
|:---|:---|:---|:---|
| 断点续训练    | 作业中断后从CheckPoint恢复训练进度。      | 是               | 所有长时间训练任务。          |
| 自动重启     | 作业失败后自动重新下发训练作业。             | 建议配合CheckPoint。 | 硬件故障、环境异常、训练进程异常退出。 |
| 无条件自动重启  | 用户进程异常退出后触发Job级重调度。          | 建议配合CheckPoint。 | 偶发软件异常、进程退出。        |
| 作业卡死检测   | 检测训练进程长时间无有效进展。              | 否               | 多机多卡训练、长稳训练。        |
| 作业卡死重启   | 检测卡死后重启用户训练进程。               | 建议配合CheckPoint。 | 训练进程无退出但无进展。        |
| 故障恢复     | 根据故障类型执行原地恢复、Job重调度、Pod重调度等。 | 是，建议脚本**可重入**。  | 分布式训练、NPU/GPU多节点训练。 |
| 算子重执行    | 通信算子失败后尝试重新执行，避免作业失败。        | 否或少量适配。         | 昇腾超节点通信故障场景。        |
| 训练日志失败分析 | 训练失败后辅助定位原因。                 | 否               | 作业失败排查。             |
   
