AI开发平台MODELARTS-开发用于自定义镜像训练的代码:使用Ascend自定义镜像训练时的训练代码适配规范
使用Ascend 自定义镜像 训练时的训练代码适配规范
使用NPU资源创建训练作业时,系统会在训练容器里自动生成Ascend HCCL RANK_TABLE_FILE文件。当使用预置框架创建训练作业时,在训练过程中预置框架会自动解析Ascend HCCL RANK_TABLE_FILE文件,当使用自定义镜像创建训练作业时,就要适配训练代码使得训练过程中在代码里读取解析Ascend HCCL RANK_TABLE_FILE文件。
Ascend HCCL RANK_TABLE_FILE文件说明
Ascend HCCL RANK_TABLE_FILE文件提供Ascend分布式训练作业的集群信息,用于Ascend芯片分布式通信,可以被HCCL集合通信库解析。该文件格式有模板一和模板二两个版本。
- ModelArts提供的是模板二格式。ModelArts训练环境的Ascend HCCL RANK_TABLE_FILE文件名为jobstart_hccl.json,获取方式可以通过预置的RANK_TABLE_FILE环境变量实现。
表1 RANK_TABLE_FILE环境变量说明 环境变量
说明
RANK_TABLE_FILE
该环境变量指示Ascend HCCL RANK_TABLE_FILE文件所在目录,值为/user/config。
算法开发者可通过 “${RANK_TABLE_FILE}/jobstart_hccl.json”,路径获取该文件。
ModelArts训练环境jobstart_hccl.json文件内容(模板二)示例:{ "group_count": "1", "group_list": [{ "device_count": "1", "group_name": "job-trainjob", "instance_count": "1", "instance_list": [{ "devices": [{ "device_id": "4", "device_ip": "192.1.10.254" }], "pod_name": "jobxxxxxxxx-job-trainjob-0", "server_id": "192.168.0.25" }] }], "status": "completed" }
jobstart_hccl.json文件中的status字段的值在训练脚本启动时,并不一定为completed状态。因此需要训练脚本等待status字段的值等于completed之后,再去读取文件的剩余内容。
- 通过训练脚本,可以使用模板一格式的jobstart_hccl.json文件,在等待status字段的值等于completed之后,将模板二格式jobstart_hccl.json文件转换为模板一格式的jobstart_hccl.json文件。
- ModelArts自定义镜像_自定义镜像简介_如何使用自定义镜像
- ModelArts分布式训练_分布式训练介绍_分布式调测
- ModelArts模型训练_创建训练作业_如何创建训练作业
- ModelArts模型训练_模型训练简介_如何训练模型
- ModelArts推理部署_模型_AI应用来源-华为云
- ModelArts开发环境_开发环境简介_开发环境怎么使用
- ModelArts AI Gallery_市场_资产集市
- ModelArts推理部署_创建AI应用_自定义镜像规范-华为云
- 华为云ModelArts_ModelArts开发_AI全流程开发
- ModelArts模型训练_超参搜索简介_超参搜索算法