
# 开启和查看高可用配置
通过本章，您将了解到ModelArts高可用配置方法、配置建议和查看高可用配置任务。
由于内容较多，为便于您找到关心的内容，本节开头先做一个简单的内容分类。请参照如下分类，阅读您关心的内容。
1. 了解如何开启高可用配置。ModelArts提供了两种开启高可用配置的方法，分别是通过ModelArts控制台创建训练作业，设置"高可用配置"开启和通过创建训练作业API设置相关参数开启。请您参考[通过控制台开启高可用配置]和[通过API开启高可用配置]。
2. 了解开启了高可用配置后，哪些检测项目会触发高可用配置。请您参考[检测项目与执行条件]。
3. 了解如何完成带高可用配置的训练作业流程，请您参考[建议高可用配置流程]。
4. 了解在不同场景下，如何选择配置高可用配置，请您参考[常见高可用配置组合]。
5. 了解开启高可用配置完成训练作业后，如何在作业中查看环境检测达到的效果，请您参考[触发容错环境检测达到的效果]。
6. 了解如何查看是否开启了高可用配置的作业详情，请参考[查看容错与恢复详情]。
#### 约束限制
卡死检测仅支持资源类型为GPU和NPU的训练作业。
 #### 通过控制台开启高可用配置
通过控制台开启高可用配置方法如下：
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)。
2. 在左侧导航栏中，选择"模型开发与训练 \> 模型训练"进入训练作业列表。
3. 单击"创建训练作业"，进入创建训练作业页面。在"高可用配置"配置项，勾选"容错与恢复"，可进一步设置高可用配置。如图[图1]或[图2]所示。
   图1开启高可用配置（新版控制台）   
   ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002631266398.png "点击放大")
   图2开启高可用配置（旧版控制台）   
   ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002631426302.png "点击放大") 
创建训练作业时，可在"高可用配置"区域配置如[表1]所示能力。
 表1高可用配置项 
| 配置项                      | 说明                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|
| 容错与恢复（新版控制台）/自动重启（旧版控制台） | 当训练作业因环境问题、作业卡死等原因异常时，系统将自动检测故障并根据相应策略处理，提高训练成功率。具体检测项参见[检测项目与执行条件]。 勾选即打开高可用配置，系统支持进程级、容器级、作业级自动重启，无需额外配置，可自动匹配与升级恢复策略。                                                                                                     |
| 最大重启次数                   | 控制作业最大自动重启次数，避免无限重启，可选值为1\~128次。勾选容错与恢复（新版）/自动重启（旧版）开关后，将启动业务重启功能，默认最大重启次数设置为3次，也可单独设置最大重启次数。                                                                                                                                                                                                                                                               |
| 无条件自动重启                  | ModelArts检测到训练作业异常，就无条件重启训练作业。为避免无效重启，系统仅支持**连续**无条件重启3次。 **说明：** **无条件自动重启** 会占用**最大重启次数**的重启次数。 例如配置了最大重启次数为10次，同时打开了**无条件自动重启** 开关。如果训练作业**连续** 无条件重启了三次，将触发**无条件自动重启。** 如果重启后训练作业仍然反复重启，则**无条件自动重启**不再触发，剩余重启次数为7次。                                        |
| 作业卡死重启                   | 系统支持自动监控作业进程的状态和资源利用率来判定作业是否卡死，开启此开关后，支持将标记为卡死的作业进行进程级自动重启，以提高资源使用率。为了避免无效重启浪费算力资源，系统最多只支持**连续作业卡死**重启3次。 说明：**作业卡死重启** 不会占用**最大重启次数**的重启次数。 例如配置了最大重启次数为10次，同时打开了**作业卡死重启** 开关。如果训练作业**连续** 卡死重启了三次，将触发**作业卡死重启。** 如果重启后训练作业仍然反复重启，则**作业卡死重启**不再触发，剩余重启次数为10次。 |
| 算子重执行                    | 通信算子失败后尝试重新执行。主要用于分布式训练场景。详细参见[算子重执行](https://support.huaweicloud.com/usermanual-standard-modelarts/develop-modelarts-14191.html)。                                                                                                                                                                                                                          |
   
 #### 通过API开启高可用配置
如果通过API创建训练作业，可通过设置annotations对应参数开启高可用能力。
![](https://support.huaweicloud.com/usermanual-standard-modelarts/public_sys-resources/note_3.0-zh-cn.png)
以下为示例写法，具体字段名、取值范围和支持情况请以API文档[创建训练作业](https://support.huaweicloud.com/api-modelarts/CreateTrainingJob.html)为准。
```
{
  "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"
    }
  }
}
```
表2高可用配置API参数说明 
| 参数                                              | 示例值            | 说明                                                                                                              |
|:---|:---|:---|
| ``` 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]，您能够清楚在什么情况下会触发自动重启。
 表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网络时                 | - max locked memory \> 16000  - open files \> 1000000  - stack size \> 8000  - max user processes \> 1000000   |
| gpu检查           | gpu-check       | 使用gpu，且使用v2训练引擎时（北京四暂无） | 检测到gpu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
 #### 建议高可用配置流程
以下为ModelArts对训练作业启动高可用功能的配置流程，您可对照配置流程完成高可用配置。
1. 确认训练脚本已支持CheckPoint。
2. 确认CheckPoint路径位于作业重启后仍可访问的位置。
3. 在创建训练作业页面或通过API参数开启自动重启。
4. 设置最大重启次数。
5. 对多机多卡任务开启作业卡死检测或卡死重启。
6. 对昇腾超节点通信故障场景，评估是否开启算子重执行。
7. 提交训练作业。
8. 作业运行过程中查看日志、事件和恢复详情。
 
 #### 常见高可用配置组合
本节提供了常见的训练场景推荐的高可用配置，您可根据对应训练场景参考配置。具体参见[表4]。
 表4常见配置组合 
| 训练场景   | 配置说明                                                                                                                                                                                                                         | 适用场景                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| 单机训练   | ``` { "metadata": { "annotations": { "fault-tolerance/job-retry-num": "2" } } } ```                                                                                                                                          | - 单机训练。  - 训练脚本已支持CheckPoint。  - 希望作业异常失败后自动重启。                                    |
| 多机多卡训练 | ``` { "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重调度次数） } } } ``` | - 大模型预训练或长时间微调。  - 能够定期保存CheckPoint。  - 能够接受作业自动恢复带来的额外重启时间。   |
   
 #### 触发容错环境检测达到的效果
- 容错检查正常通过时，会打印检测项目的日志，表示具体涉及的检查项目成功。您可以通过在日志中搜索"item"关键字查看。当容错检查正常通过时，可以减少运行故障上报问题。 
  
- 容错检查失败时，会打印检查失败的日志。您可以通过在日志中搜索"item"关键字查看失败信息。 
  如果作业重启次数没有达到设定的次数，则会自动做重新下发作业。您可以通过搜索"error,exiting"关键字查找作业重启失败结束的日志。
  
 
 #### 查看容错与恢复详情
当训练作业发生故障恢复时（例如NPU原地恢复、JOB级重调度等），作业详情页面中会出现"故障恢复详情"页签，里面记录了训练作业的启停情况。
用户创建训练作业时开启自动重启后，可以在训练作业详情页面查看"重启次数"。"重启次数"会展示当前重启次数/最大重启次数。在训练作业详情页的"容错与恢复"页签，可以查看训练作业重启详情。
图3重启次数   
![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002661625581.png)
图4容错与恢复   
![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002631426308.png "点击放大")
