分布式训练任务
分布式训练基于 Volcano 调度,支持 PyTorch / TensorFlow / MPI / DeepSpeed 框架,适用于多卡、多机训练场景(运行分布式训练最低需要 2 张卡)。本文给出从环境准备到任务观察的完整链路。字段级说明见 模型开发。
1. 准备工作(管理员)
1.1 上传训练镜像并配置标签
bash
# 示例:deepspeed 训练镜像(仓库地址按实际替换)
docker load -i pytorch-deepspeed-demo.v1-80e2097.tar.gz
docker tag lon.io/pytorch-deepspeed-demo:v1-80e2097 harbor.rise.io/camp/pytorch-deepspeed-demo:v1-80e2097
docker push harbor.rise.io/camp/pytorch-deepspeed-demo:v1-80e2097然后在 AI 智算管理 > AI 资产管理 > 镜像服务 中:
- 同步镜像,将镜像 分类 设置为 PyTorch 或 TensorFlow(必须是这两类之一,否则创建训练任务时选不到)。
- 进入镜像详情「修改标签」,任务场景勾选 训练任务。
1.2 上传训练所需文件
- 在 NFS 服务端准备
cache、checkpoint、code等目录,上传训练代码与数据。 - 进入 AI 智算管理 > AI 资产管理 > 存储,新增静态存储,填写上面准备的 NFS 服务端地址与目录路径。
1.3 创建训练调度策略
进入 AI 智算管理 > 策略管理 > 训练调度策略,点击「创建训练调度策略」,配置队列、优先级与资源分配规则。

1.4 训练队列关联租户
进入 AI 智算管理 > 策略管理 > 训练队列管理,编辑目标队列(如 default),关联需要使用该队列的工作空间/租户。未关联租户的队列,租户在创建任务时不可见。

如果节点的显卡已分配给其他用途,需要先在节点管理中回收显卡、调整节点场景后,再纳入训练资源池。
2. 创建训练任务(开发者)
- 进入 AI 智算开发 > 模型开发 > 训练任务,点击「创建训练任务」。
- 关键配置(以 PyTorch + DeepSpeed 为例):
| 配置项 | 示例值 |
|---|---|
| 训练框架 | PyTorch(可选 PyTorch / TensorFlow / MPI / DeepSpeed) |
| 队列 | 选择上一步关联的队列 |
| 任务镜像 | 已勾选「训练任务」标签的 PyTorch 镜像 |
| 存储 | 上一步创建的训练存储 |
| 规格 | 每个 Master/Worker 容器的卡数 |
| 启动命令 | /bin/bash -c |
| 启动参数 | 见下方示例 |
| 环境变量 | HF_HUB_OFFLINE=1、HF_HOME=/volcano-data/cache |
| 工作目录(workingDir) | /volcano-data |
启动参数示例(torchrun 多机多卡):
bash
torchrun --nnodes=$WORLD_SIZE --nproc_per_node=1 \
--node_rank=$RANK --master_addr=$MASTER_ADDR \
--master_port=$MASTER_PORT /volcano-data/code/train_bert_ds.py \
--checkpoint_dir /volcano-data/checkpoint- 点击「创建」。配置正确且资源充足时,列表页状态会从「排队中」变为「运行中」。

3. 观察训练过程
- Web 终端:详情页 > 容器组 > 选择要查看的 Pod > Web 远程连接,终端内操作与命令行一致。
- 资源监控:查看各容器组的显存、算力、CPU、内存、网络使用情况。
- 运行日志:实时刷新容器标准输出,可切换查看不同容器组的日志。
- TensorBoard:详情页点击 TensorBoard 图标,等待弹出新标签页(注意允许浏览器弹窗)。

4. 任务管理
列表页支持快捷 关闭(停止调度并释放资源)、重新提交(克隆原配置再跑一次)、释放(需先关闭)。详情页「概览」可回看任务规格、镜像、存储与高级配置;「调度过程」展示各节点调度评分与失败原因,是排队排错的首选入口。
常见问题
Q:任务一直排队中? A:查看详情页「调度过程」与「事件」:常见原因是队列未关联当前租户、配额不足、最小可用实例数设置过高或节点场景未配置为训练。
Q:创建任务时选不到训练镜像? A:确认镜像分类为 PyTorch/TensorFlow 且已勾选「训练任务」标签,参见 1.1。
Q:训练读不到代码或数据? A:确认存储已正确挂载且 workingDir、路径前缀与 NFS 目录结构一致;进入 Web 终端 ls 挂载目录核对。