共绩科技
共绩科技

使用说明

发起 PyTorch 分布式训练

用 PyTorch 框架提交分布式训练:master 与 worker 的配法,以及控制台启动示例。

创建任务时 训练框架 选 PyTorch。通用字段见 创建任务配置说明。

角色与节点

master 是主节点,worker 是其余训练节点。适合常用的数据并行训练。

角色节点数资源
master固定 1仅 GPU
worker可以为 0仅 GPU。卡型与卡数必须和 master 一致

单机多卡:worker 填 0。多机:1 个 master 加若干 worker,每台卡数相同。

切换框架后启动命令不会自动变。打开 查看示例,确认后点 填入该示例。

平台写入的环境变量

不要在 环境变量 里覆盖下面这些名称,也不要改平台为 RDMA 写入的 NCCL_IB_* 一类变量。与角色无关的通用变量见 通用环境变量列表。

变量在示例里的用法
GJ_TRAINING_MASTER_GPU_LIMIT--nproc_per_node,master 角色的 GPU 卡数
WORLD_SIZE--nnodes,节点数
RANK--node_rank
MASTER_ADDR主节点地址
MASTER_PORT主节点端口

启动命令

使用容器内绝对路径。运行命令为 bash。运行参数与控制台 查看示例 中的 PyTorch 示例一致:

-lc
python3 -m torch.distributed.launch --nproc_per_node=${GJ_TRAINING_MASTER_GPU_LIMIT} --nnodes=${WORLD_SIZE} --node_rank=${RANK} --master_addr=${MASTER_ADDR} --master_port=${MASTER_PORT} <代码文件的绝对路径>

把 <代码文件的绝对路径> 换成容器内的入口文件绝对路径。镜像里没有 bash 时,改掉运行命令。