共绩科技
共绩科技

选择使用方式

多机多卡分布式训练

单机多卡、多机多卡、节点必须一起启动的模型训练,用分布式训练服务进行提交。

创建任务后后,平台会讲训练任务调度到带 RDMA 的训练集群上,等全部节点就绪后开始训练,任务结束即释放节点并停止计费。

和其他场景区别

业务场景适合功能
把镜像部署成可访问的在线服务运行在线推理服务
清洗、打标、离线推理,节点可以各自起停数据批量处理
通过接口调用现成大模型使用大模型 Token
改代码、调依赖、确认镜像开发调试代码
单机多卡或多机多卡训练,节点必须一起启动本页

建议先在云主机里用同一份镜像和 NAS 把脚本跑通,再回到这里提交。脚本已经在别处跑通时,可以跳过云主机,直接创建。

前置准备

先完成 快速入门,创建并激活账号。

准备操作描述
代码和数据支持讲任务相关数据放到 NAS 文件存储。任务结束后容器本地盘会回收,
镜像支持用平台预置镜像,或 镜像仓库 里的自有镜像。大镜像建议先做镜像预热

快速上手分布式训练任务

先用 PyTorch 做一场小规模试跑:1 个 master,1 个 worker,每节点 1 卡。

入口在顶栏 分布式训练,点击 创建分布式训练任务。

Image

1

填写镜像

镜像必填。可以 选择镜像,镜像须能在目标训练集群拉取。

Image

2

挂载 NAS

存储配置 保持打开。选当前区域可用的 NAS 存储卷。容器挂载路径例如 /workspace,代码和数据放在这个路径下。

字段配置说明
NAS 存储卷当前训练区域里可用的那一卷
NAS 路径不填或 / 表示整卷。只想挂子目录就填该目录
容器挂载路径/workspace
权限要写 Checkpoint 和日志时选读写挂载

Image

3

选择集群和角色

训练集群只列出带 RDMA 的集群。选中后卡型锁定。库存显示在 每节点卡数 旁,库存不够就不能按这个卡数提交。

字段第一次建议配置说明
训练框架PyTorch选择任务所需的开发框架,支持PyTorch、MPI、TensorFlow 等预置框架,也支持自定义框架
master1 台,GPU固定 1 台
worker1 台,GPU卡型和每节点卡数必须与 master 一致
每节点卡数1单机多卡时再调高

Image

4

填入启动示例

运行命令保持 bash。点 查看示例,确认是 PyTorch,再点 填入该示例。把 <代码文件的绝对路径> 换成容器内的入口文件,例如 /workspace/train.py。

-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} <代码文件的绝对路径>

PyTorch 启动命令示例,运行命令为 bash,运行参数以 -lc 开头

不要在 环境变量 里覆盖 WORLD_SIZE、RANK、MASTER_ADDR、MASTER_PORT、GJ_TRAINING_MASTER_GPU_LIMIT。这些由平台写入,说明见 发起 PyTorch 分布式训练。

TensorFlow 的运行参数第一行是 -c,后面是 python3 加上代码文件的绝对路径。代码读取平台写入的 TF_CONFIG。

TensorFlow 启动命令示例,运行命令为 bash,运行参数为 -c 和 python3

MPI 的示例是一段 bash 脚本:worker 只启动 sshd,master 再执行 mpiexec。

完整脚本见 发起 MPI 分布式训练。

自定义框架不会自动填入示例,见 自定义框架。

5

用独立任务提交

投递方式 保持 独立任务。阅读并同意协议后,点击页面底部的提交按钮。底栏会给出预估每小时费用,以实际运行时间为准。计费见 计费说明。

字段的完整说明见 创建任务配置说明。

观察任务运行状态

1

查看任务状态

回到 任务列表。能看到状态、框架和节点配置。任务成功、失败、超时或手动停止后,节点回收并停止计费。

Image

2

看节点日志

进入任务详情,在节点列表里打开 日志。不同节点的 Rank 应该不同。需要长期保留的输出,在训练过程中写到 NAS。平台上的归档日志和 NAS 里的文件是分开的。

详细可查看任务监控与日志

3

看节点监控

运行中的节点可以打开 监控,自上而下是 CPU / 内存、以太网、本机 RDMA、GPU。RDMA 流量用来判断多机通信有没有跑起来。训练曲线请写在自己的代码里,文件放到 NAS。

详细可查看任务监控与日志

常见问题

核对镜像地址能不能在所选集群拉取,以及运行命令是不是 bash。大镜像可以先做镜像预热。

切换框架不会改掉已经填好的运行参数。重新打开 查看示例,点 填入该示例。

PyTorch 的 master 和 worker 必须是同一卡型、同一每节点卡数。worker 先填 0,单机跑通后再加 worker。

输出建议写到挂载的 NAS。容器本地盘会随节点回收。

创建页不提供对外端口。在节点上看监控和日志,结果文件到 NAS 里取。

下一步