更新时间:2025-08-07 GMT+08:00

训练作业动态路由加速

在分布式训练场景下,由于多节点之间的数据交互频繁,网络通信效率往往成为性能瓶颈。传统方式下,训练作业的网络通信存在带宽利用率低、数据传输延迟高等问题,这会直接影响训练效率和资源利用率。针对这一技术挑战,用户可能会问:如何有效优化分布式训练中的网络通信性能?ModelArts提供了一项动态路由加速功能,通过智能优化训练作业的网络通信路径,显著提升分布式训练的性能表现。本文档将详细介绍如何在ModelArts平台上启用这一功能,涵盖使用预置训练框架和自定义镜像两种典型场景,并提供详细的配置要求和实用的操作建议,帮助用户充分释放分布式训练的性能潜力。

约束限制

场景一:使用Ascend-Powered-Engine预置框架+ Mindspore+NPU训练

当使用Ascend-Powered-Engine预置框架创建训练作业时,可以参考表1创建训练作业实现动态路由加速。表中仅提供了关键参数的配置说明,其他参数请根据业务需要配置。

表1 使用预置框架创建训练作业

配置阶段

参数名称

说明

环境配置

创建方式

选择“自定义算法”

启动方式

选择“预置框架”

引擎及版本

引擎选择“Ascend-Powered-Engine”,引擎版本选择Mindspore相关的版本。

代码目录

选择训练代码文件所在的OBS目录。

动态路由加速通过改变rank编号来优化网络通信,因此代码中对rank的使用必须统一,避免因rank编号不一致导致通信异常。

启动文件

选择代码目录中训练作业的Python启动脚本。

训练配置

环境变量

添加如下环境变量。

ROUTE_PLAN = true

不能配置环境变量“MA_RUN_METHOD”,确保是使用rank table file(RTF)文件启动训练作业的“启动文件”。

资源配置

资源池

选择专属资源池。

实例规格

选择的实例规格必须满足以下条件:

  • 必须是节点满卡,否则可能会影响动态路由加速的效果。例如,在节点8卡场景下,每个节点必须是8卡,不能出现2卡或4卡的情况。
  • 必须是Snt9b或Snt9b23的Ascend资源。

实例数

选择的实例数必须大于或等于3。

场景二:使用自定义镜像+Pytorch+NPU训练

当使用自定义镜像和Ascend资源池创建训练作业时,可以参考表2创建训练作业实现动态路由加速。表中仅提供了关键参数的配置说明,其他参数请根据业务需要配置。

表2 使用自定义镜像创建训练作业

配置阶段

参数名称

说明

环境配置

创建方式

选择“自定义算法”

启动方式

选择“自定义”

镜像

选择用于训练的自定义镜像。必须是使用Pytorch框架的训练镜像。

代码目录(可选)

选择训练代码文件所在的OBS目录。

动态路由加速通过改变rank编号来优化网络通信,因此代码中对rank的使用必须统一,避免因rank编号不一致导致通信异常。

启动命令

输入镜像的Python启动命令。

其中,要修改训练启动脚本中的如下代码,不同NPU硬件的修改值有差异。

  • Snt9b场景
    MASTER_ADDR="${MA_VJ_NAME}-${MA_TASK_NAME}-${MA_MASTER_INDEX:-0}.${MA_VJ_NAME}"
    NODE_RANK="${RANK_AFTER_ACC:-$VC_TASK_INDEX}"
  • Snt9b23场景
    MASTER_ADDR="${VC_WORKER_HOSTS%%,*}"
    NODE_RANK="${RANK_AFTER_ACC:-$VC_TASK_INDEX}"

训练配置

环境变量

添加如下环境变量。

ROUTE_PLAN = true

资源配置

资源池

选择专属资源池。

实例规格

选择的实例规格必须满足以下条件:

  • 必须是节点满卡,否则可能会影响动态路由加速的效果。例如,在节点8卡场景下,每个节点必须是8卡,不能出现2卡或4卡的情况。
  • 必须是Snt9b或Snt9b23的Ascend资源。

实例数

选择的实例数必须大于或等于3。

查看动态路由加速的训练日志

当使用Ascend资源池训练时,训练过程中可以在训练作业详情页的“日志”页签中查看路由状态是否启用,以及查询各个Rank的日志信息。

  1. 登录ModelArts管理控制台
  2. 在左侧导航栏中,选择模型训练 > 训练作业
  3. 在训练作业列表中,单击目标作业,进入训练作业详情页。
  4. 选择“日志”页签。

    图1所示,可以查看训练作业已启用动态路由,还可以根据Rank-ID搜索日志。

    图1 查看动态路由加速日志