执行训练作业
步骤一:创建训练作业
在ModelArts控制台模型训练页面创建训练作业,详细操作请参见创建生产训练作业,此处仅介绍关键参数。
训练作业中环境配置如下

启动命令如下:
cd /home/ma-user/UniAD; // 切换到UniAD所在的路径中 torchrun --nproc_per_node=8 --nnodes=1 --node_rank=0 --master_port=29500 tools/train.py projects/configs/stage1_track_map/base_track_map.py --launcher pytorch --deterministic --seed 1024 --resume-from=work_dirs/base_track_map/latest.pth; //训练命令
- --nproc_per_node=8 表示每个节点上启动的训练进程数。
- --nnodes=1 表示有多少个节点参与分布式训练。
- --node_rank=0 表示当前节点的排名。
- --master_port=29500 表示主节点(Rank 0)用于分布式通信的端口号。
- --launcher pytorch 表示使用 PyTorch 原生的分布式启动器。
- --deterministic 表示启用确定性训练。
- --seed 1024 表示设置全局随机种子(Seed)。
- --resume-from=work_dirs/base_track_map/latest.pth 表示故障快恢的文件。
训练作业中训练配置如下

其中“输出”:填写用于存储训练输出的OBS路径。
在训练过程中,关于环境变量建议配置以下值:
|
变量名 |
变量值 |
含义 |
|---|---|---|
|
HCCL_EXEC_TIMEOUT |
7200 |
HCCL执行超时时间 |
|
HCCL_CONNECT_TIMEOUT |
7200 |
HCCL建链超时时间 |
|
MA_NPU_RECOVER_TIMEOUT_SECS |
10 |
异常恢复超时时间 |
|
MA_SYSCTLS |
{"net.core.somaxconn":"65536", "net.ipv4.tcp_max_syn_backlog":"65536"} |
TCP建链配置 |
|
HCCL_IF_BASE_PORT |
64000 |
指定HCCL端口号 |
|
HCCL_RDMA_TC |
132 |
配置RDMA网卡的流量等级 |
|
HCCL_RDMA_SL |
4 |
配置RDMA网卡的服务等级 |
|
HCCL_RDMA_TIMEOUT |
20 |
配置RDMA网卡的超时时间 |
|
HCCL_RDMA_RETRY_CNT |
7 |
配置RDMA网卡的重传次数 |
|
HCCL_OP_RETRY_ENABLE |
L0:0, L1:1, L2:1 |
开启HCCL算子的重执行特性 |
训练作业中训练配置如下

勾选自动重启,当容器或者硬件出现异常时,训练作业会自动重启且用户无感知。
步骤二:执行训练作业
当作业创建完成后,会进行作业调度,运行作业。
