前置条件
- 完成训练数据集准备,完成存储配置准备(ZOS/HPFS),详见我的数据集。
- 如果预置模型不满足开发要求,需要基于自有模型,需要完成模型文件准备,详见我的模型。
- 如果预置镜像不满足开发要求,需要基于自有镜像,需要完成镜像文件准备,详见我的镜像。
创建开发机
● 登录智算服务平台。
● 在左侧导航栏选择开发机,选择目标开发机类型,平台支持JupyterLab和VSCode两种类型的开发机。
● 进入开发机创建页面,填写开发机创建的基本参数。
参数类型 | 参数名 | 说明 |
---|---|---|
基本信息 | 名称 | 必填,开发机名称。 |
数据集配置 | 训练数据集 | 最多可添加5个,选择基础数据集或者标注数据集。 |
模型配置 | 模型来源 | 我的模型:最多5个,自有模型开启开发机任务。预置模型:最多5个,使用平台预置模型开启开发机任务。 |
模型配置 | 模型文件 | 选择我的模型具体的模型文件及版本。选择预置模型文件及具体版本。 |
存储配置 | ZOS对象存储 | 最多选择5个,如果没有提前创建,可以点击“去创建对象存储”完成创建。 |
存储配置 | HPFS并行文件系统 | 最多选择5个,如果没有提前创建,可以点击“去创建HPFS”完成创建。 |
环境配置 | 镜像来源 | 根据当前任务情况,选择支持选择系统预置镜像、自定义镜像、共享容器镜像和他人分享镜像。 |
环境配置 | 文件目录 | 平台可持久化的挂载目录,后续可以在该目录下读写文件,是用户间隔离的。 |
资源配置 | 集群 | 支持公共集群和专属集群两种类型,其中专属集群需要提前购买。 |
资源配置 | 队列 | 选择目标队列,展示当前总资源及使用情况。 |
资源配置 | 资源规格 | 选择当前任务所需要的资源规格。 |
● 点击“提交”,完成开发机任务创建。
开发机管理
● 启动开发机:创建完成后的开发机默认为“未启动”状态,用户可点击启动,开发机进入“启动中”-“运行中”状态。
● 打开开发机:当开发机进入“运行中”状态时,可以点击“打开”进入vscode的terminal运行终端。
● 停止开发机:停止当前正在运行的开发机。停止VSCode会释放容器和资源,在停止前将数据、代码、模型保存在系统提供的持久化挂载路径(/work/home)中,下次启动还可以加载出来。开发机实例从“停止中”-“未启动”状态。
● 开始训练:点击之后会携带当前开发机相关参数,进入训练任务创建界面。
● 删除开发机实例:删除当前不再使用的开发机实例。
● 查看配置:查看当前开发机实例的详细配置。
启动训练任务
在/work/share/ 目录下创建自己的工作空间
-
vscode启动单机训练任务
terminal 终端目前只支持单机训练任务,训练脚本跟tensorflow和pytorch 裸金属训练模式一样。
下方是在本机执行的单机多卡torchrun分布式参数示例:
DISTRIBUTED_ARGS="
--nproc_per_node 8 \
--nnodes 1 \
--node_rank 0 \
--master_addr localhost \
--master_port 65500
"
torchrun $DISTRIBUTED_ARGS telespeed/run/llama31/pretrain_gpt.py
-
网页启动多机训练
下方是在平台执行多机多卡训练任务的torchrun分布式参数示例:
GPU_NUM_PER_NODE=8
DISTRIBUTED_ARGS="
--nproc_per_node $GPU_NUM_PER_NODE \
--nnodes $PET_NNODES \
--node_rank $PET_NODE_RANK \
--master_addr $PET_MASTER_ADDR \
--master_port $PET_MASTER_PORT
"
torchrun $DISTRIBUTED_ARGS telespeed/run/llama31/pretrain_gpt.py
按照下图的步骤启动训练任务:
后续操作
● 开始训练任务:点击之后会携带当前开发机相关参数,进入训练任务创建界面。
● 保存至模型管理:将当前开发机实例中的模型文件保存到模型仓库中统一管理,模型仓库中会新增一个来源为“VSCode”的模型。后续可以基于此模型进行开发机、训练任务和服务部署任务。
● 保存至代码包:从代码文件夹中选择对应的文件保存至代码包,代码包列表中出现了上传来源为“VSCode”的代码包。后续可以基于此代码包进行训练任务和服务部署。
● 制作镜像:基于当前的开发机实例制作镜像并存为自定义镜像,将容器内的镜像打包至自定义镜像中,下次直接启动该镜像即可,镜像仓库中新增来源为“VSCode”的镜像。后续可以基于此镜像进行开发机、训练任务和服务部署。平台会打包系统内的预置安装程序等,不会打包容器内数据和外部挂载存储数据。