提交Horovod分布式训练

更新时间:

参考本节提交分布式离线训练任务,训练完成后即释放占用的计算资源。
如果您的分布式训练框架使用的是 Horovod 或者 OpenMPI,建议选择 horovod/mpi 模式,可提高您训练任务的效率。 该模式下,多任务角色只需一条启动命令。

说明 任务实例中,会添加一个名为 net1 的网卡,该网卡是专用于训练网络平面,一般连接的是高性能网卡。这种情况下,需要您在 启动命令 中通过如下方式设置网卡使得 NCCL 能正确的选择网卡,否则可能会出现任务执行异常的情况。 如使用的是 horovodrun,则在启动命令中增加 --network-interface=net1 来指定网卡名。 如果使用的是 mpirun,则在启动命令中增加 -x NCCL_SOCKET_IFNAME=net1 来指定网卡名。

# 前提条件

  • 您的账户下配额剩余量足够。
  • 您的模型训练代码是支持分布式的。
  • 项目中已挂载数据。
  • 项目中已添加预训练模型。
  • 项目中已保存了稳定的可用于离线训练的代码版本。

# 操作步骤

# 1. 进入 “提交训练任务” 页面

  1. 在平台首页,左侧导航栏中选择 项目
  2. 单击目标项目卡片,进入该项目的 代码预览 页。
  3. 在左侧导航栏中选择 训练,进入 训练任务 页面。
  4. 单击右上角 提交任务 按钮,进入任务配置页面。

# 2.填写任务信息

您可参考如下说明,填写任务信息。

  • # 训练任务名称

    不可超过 64 个字符。

  • # 任务模式

    选择 分布式 Horovod/Mpi 任务

    说明:将一个任务在多个实例中运行,从而达到多机多卡的训练效果。可添加任务角色,任务角色代表不同的 AI 训练目标,每个任务角色可以拥有不同的计算资源配置。

  • # 资源配置

    1. 任务角色1 中配置该角色的 实例个数实例规格

      • 实例个数
        可理解为参与训练的机器数,比如可配置为 3。
      • 实例规格
        配置单个实例的资源,各资源的配置说明可参考 资源配置
    2. (可选)单击 任务角色1 旁的 + 号,新增任务角色。 如果任务不涉及多个任务角色,则无需执行本步骤及下一步。

    3. (可选)为 任务角色2 设置 实例个数资源配置启动命令

  • # 启动命令

    参考 启动命令 填写。

  • # 挂载数据

    参考 挂载数据 添加。

  • # 预训练模型

    参考 预训练模型 添加。

  • # 代码版本

    参考 代码版本 添加。

  • # 工作镜像

    参考 工作镜像 选择。

  • # 最长运行时间

    参考 最长运行时间 设置。

  • # 任务失败重试

    参考 任务失败重试 设置。

  • # 任务备注

    可以填写任务目标等信息,便于算法工程师跟踪了解任务,不超过 100 个字符长度,提交后仍可修改备注信息。

# 3. 提交任务

单击 提交 按钮。