提交Horovod分布式训练
更新时间:
参考本节提交分布式离线训练任务,训练完成后即释放占用的计算资源。
如果您的分布式训练框架使用的是 Horovod 或者 OpenMPI,建议选择 horovod/mpi 模式,可提高您训练任务的效率。
该模式下,多任务角色只需一条启动命令。
说明 任务实例中,会添加一个名为 net1 的网卡,该网卡是专用于训练网络平面,一般连接的是高性能网卡。这种情况下,需要您在 启动命令 中通过如下方式设置网卡使得 NCCL 能正确的选择网卡,否则可能会出现任务执行异常的情况。 如使用的是 horovodrun,则在启动命令中增加
--network-interface=net1
来指定网卡名。 如果使用的是 mpirun,则在启动命令中增加-x NCCL_SOCKET_IFNAME=net1
来指定网卡名。
# 前提条件
- 您的账户下配额剩余量足够。
- 您的模型训练代码是支持分布式的。
# 操作步骤
# 1. 进入 “提交训练任务” 页面
- 平台首页选择 项目,随后单击目标项目,进入该项目详情页。
- 单击详情页右上角 离线任务,进入 训练任务 页面。
- 随后单击右上角 提交任务 按钮,进入任务配置页面。
# 2.填写任务信息
上述参数,参考 提交单机训练-参数说明 填写。
需特殊关注参数:
任务模式:选择 分布式 Horovod/Mpi 任务。
说明:将一个任务在多个实例中运行,从而达到多机多卡的训练效果。可添加任务角色,任务角色代表不同的 AI 训练目标,每个任务角色可以拥有不同的计算资源配置。
资源配置
在 任务角色1 中配置该角色的 实例个数、实例规格。
- 实例个数
可理解为参与训练的机器数,比如可配置为 3。 - 实例规格
配置单个实例的资源,各资源的配置说明可参考 参数说明-资源配置。
- 实例个数
(可选)单击 任务角色1 旁的 + 号,新增任务角色。 如果任务不涉及多个任务角色,则无需执行本步骤及下一步。
(可选)为 任务角色2 设置 实例个数、资源配置 和 启动命令。
# 3. 提交任务
单击 提交 按钮。