AI开发平台MODELARTS-示例:创建DDP分布式训练(PyTorch+GPU):创建训练作业

时间:2024-08-16 20:38:57

创建训练作业

  • 方式一:使用PyTorch预置框架功能,通过mp.spawn命令启动训练作业。

    创建训练作业的关键参数如表1所示。

    表1 创建训练作业(预置框架)

    参数名称

    说明

    创建方式

    选择“自定义算法”

    启动方式

    选择“预置框架”,引擎选择“PyTorch”,PyTorch版本根据训练要求选择。

    代码目录

    选择OBS桶中训练code文件夹所在路径,例如“obs://test-modelarts/code/”

    启动文件

    选择代码目录中训练作业的Python启动脚本。例如“obs://test-modelarts/code/main.py”

    超参

    当资源规格为单机多卡时,需要指定超参world_size和rank。

    当资源规格为多机时(即计算节点个数大于 1),无需设置超参world_size和rank,超参会由平台自动注入。

  • 方式二:使用 自定义镜像 功能,通过torch.distributed.launch命令启动训练作业。

    创建训练作业的关键参数如表2所示。

    表2 创建训练作业(自定义镜像+torch.distributed.launch命令)

    参数名称

    说明

    创建方式

    选择“自定义算法”

    启动方式

    选择“自定义”

    镜像

    选择用于训练的PyTorch镜像。

    代码目录

    选择OBS桶中训练code文件夹所在路径,例如“obs://test-modelarts/code/”

    启动命令

    输入镜像的Python启动命令,例如:

    bash ${MA_JOB_DIR}/code/torchlaunch.sh
  • 方式三:使用自定义镜像功能,通过torch.distributed.run命令启动训练作业。

    创建训练作业的关键参数如表3所示。

    表3 创建训练作业(自定义镜像+torch.distributed.run命令)

    参数名称

    说明

    创建方式

    选择“自定义算法”

    启动方式

    选择“自定义”

    镜像

    选择用于训练的PyTorch镜像。

    代码目录

    选择OBS桶中训练code文件夹所在路径,例如“obs://test-modelarts/code/”

    启动命令

    输入镜像的Python启动命令,例如:

    bash ${MA_JOB_DIR}/code/torchrun.sh
support.huaweicloud.com/usermanual-standard-modelarts/modelarts-distributed-0011.html