华为云AI开发平台ModelArts使用自定义镜像创建训练作业(Ascend)_云淘科技
如果Ascend-Powered-Engine预置镜像无法满足您的需求,您可以构建一个自定义镜像,通过自定义镜像创建训练作业。Ascend自定义镜像训练作业创建流程与 CPU/GPU 一致,但是需要额外关注:
Ascend HCCL RANK_TABLE_FILE 文件说明
Ascend HCCL RANK_TABLE_FILE 文件提供Ascend分布式训练作业的集群信息,用于Ascend芯片分布式通信,可以被HCCL集合通信库解析。该文件格式有两个版本,分别为模板一、模板二。当前ModelArts提供的是模板二格式。完整的 Ascend HCCL RANK_TABLE_FILE 文件内容请参见昇腾AI处理器资源配置文件。
ModelArts训练环境的Ascend HCCL RANK_TABLE_FILE 文件名为jobstart_hccl.json。获取方式参考表1 。
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 文件。
转换后的jobstart_hccl.json 文件格式(模板一)示例
{ "server_count": "1", "server_list": [{ "device": [{ "device_id": "4", "device_ip": "192.1.10.254", "rank_id": "0" }], "server_id": "192.168.0.25" }], "status": "completed", "version": "1.0" }
转换功能的实现,可参考示例:从 0 到 1 制作自定义镜像并用于训练(MindSpore+Ascend)中所述的Ascend训练脚本的启动脚本。
RANK_TABLE_FILE环境变量
环境变量 |
说明 |
---|---|
RANK_TABLE_FILE |
该环境变量指示Ascend HCCL RANK_TABLE_FILE文件所在目录,值为/user/config。 算法开发者可通过 “${RANK_TABLE_FILE}/jobstart_hccl.json”,路径获取该文件。 |
父主题: 使用自定义镜像训练模型(新版训练)
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家