
# 执行训练任务
本章节介绍基于ModelArts控制台配置并执行训练任务的关键操作。
#### 前提条件
- 已经在ModelArts控制台完成权限配置，具体参考[委托授权配置](https://support.huaweicloud.com/permission-modelarts/modelarts_24_0085.html)，如果未配置授权，会在训练作业页面顶端提示权限缺失，请根据界面提示操作。
- 将模型权重、训练数据、数据预处理脚本、训练脚本上传至OBS桶中，例如obs://areal/xxx
 
#### 步骤一：基础配置
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)，选择"模型开发与训练 \> 模型训练"，进入训练作业列表页。
2. 单击"创建训练作业"，进入创建训练作业页面。根据下表填写训练作业基础配置参数。
    表1基础配置参数说明 
   | 参数     | 是否可选 | 说明                                                                                 | 示例      |
   |:---|:---|:---|:---|
   | 训练模式   | 必选   | 训练模式分为精调训练和自定义作业，本方案中选择"自定义作业"。                                                    | 自定义作业   |
   | 作业名称   | 必选   | 必填，训练作业的名称。 系统会自动生成一个名称，可以根据业务需求重新命名。 | 系统自动生成  |
   | 描述（可选） | 可选   | 训练作业的简介，便于在训练作业列表了解作业信息。                                                           | AReaL训练 |
      
   
 
#### 步骤二：训练配置
根据[表1]填写训练作业关键配置参数。
图1创建训练作业
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002614892805.png "点击放大")
注意：在使用OBS的情况下，填写启动命令中的参数时，推荐只使用train.save_steps或者train.save_epochs参数中的其中一个，另外一个设置为0。因为VeOmni保存文件夹的名称均为global_step_XX，如果出现了save_steps和save_epochs在某个保存步数相同的时候，容易在OBS中触发两次相同的冲突写入导致IO Error。
参数设置可以参考 [Arguments API Reference --- VeOmni v0.1.0 documentation](https://veomni.readthedocs.io/en/latest/usage/arguments.html) 获取更多详细信息。
表2训练配置参数说明 
| 参数     | 是否可选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| 选择镜像   | 必选   | 选择训练需要的容器镜像。本方案中选择预置镜像。 平台中预置了VeOmni框架训练所需镜像环境，可以直接使用，无需用户再准备。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 预置镜像                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 镜像地址   | 必选   | 具体的镜像地址，VeOmni镜像中包含了训练所需环境必备软件，例如：Cann包、驱动、PyTorch、VeOmni框架代码包等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | VeOmni                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 启动命令   | 必选   | 训练镜像的启动命令。 此处需要提前将训练作业启动脚本及关联脚本文件都放入OBS桶中。 配置好所有脚本中的参数后执行**train.sh**即可，此脚本中包含了多节点通信，微调任务以及模型保存与权重转化以及检查等配置。 启动命令中首先需要cd到Veomni目录。                                                                                                                                                                                                                                                                                                                          | 多机训练场景 ``` cd /home/ma-user/VeOmni bash "${input_dir}/train.sh" /home/ma-user/VeOmni/tasks/train_torch.py /home/ma-user/VeOmni/configs/sft/qwen3_sft.yaml \ --model.model_path "${model_dir}/Qwen3-32B" \ --data.train_path "${dataset_dir}/tulu-first2000.parquet" \ --train.data_parallel_mode fsdp2 \ --train.init_device meta \ --train.output_dir "${output_dir}/Qwen3-32B-Base-sft-tulu" \ --train.save_epochs 3 \ --train.num_train_epochs 3 \ --train.ulysses_parallel_size 2 \ --data.max_seq_len 4096 \ --train.global_batch_size 8 ``` 单机训练场景，同样使用上述脚本。  |
| 代码目录   | 必选   | 代码存在OBS中时，选择OBS桶路径obs://veomni/veomni-a2/代码和模型数据集所在目录。 训练时会将OBS路径内所有文件拷贝到训练容器的此目录中，并且对于此目录在容器内的修改不会反馈到OBS桶内。 如果OBS桶内文件太大则可能导致下载文件到训练容器内时间可能过长，导致任务启动变慢。 推荐优化方式为一个模型训练任务的脚本、模型文件夹、数据集文件夹在一个OBS桶路径内挂载，仅供本次训练任务使用。                                                                                                                                                                                                                                           | obs://veomni/veomni-a2/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 本地代码目录 | 必选   | 用于指定训练容器的本地目录，启动训练时系统会将OBS上的代码目录下载至此目录并**覆盖，** 请使用**新创建的目录**。 如果OBS中的代码目录设置为obs://veomni/veomni-a2/，本地代码目录设置为/home/ma-user/modelarts/user-job-dir，那么容器内目录结构为 /home/ma-user/modelarts/user-job-dir/veomni-a2/                                                                                                                                                                                                                                                                                            | /home/ma-user/modelarts/user-job-dir                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 环境变量   | 可选   | 使用训练脚本时，需添加输出环境变量，例如output_dir为参数名称（可以自定义），/home/ma-user/modelarts/user-job-dir/veomni/output/veomni-output为输出路径，用于保存预处理后的数据、checkpoint、训练日志至OBS。类似设置待训练模型路径的环境变量model_dir、脚本所在路径input_dir以及数据集路径的环境变量dataset_dir。 注意：拓展存储的OBS路径是将OBS的**存储位置** 选定的文件夹在**云上挂载路径** 下创建同名的文件夹并与之挂载。例如拓展存储OBS选择**存储位置** 为obs://modelarts/Template/veomni/veomni-output/ **云上挂载路径**选择/home/ma-user/modelarts/user-job-dir/veomni/output，则设置环境变量output_dir为/home/ma-user/modelarts/user-job-dir/veomni/output/veomni-output，即可将输出放在OBS中。建议OBS最底层的文件夹名称与云上挂载路径最底层文件夹名称不同，以免混淆。 | 参数：output_dir 值：/home/ma-user/modelarts/user-job-dir/veomni/output/veomni-output                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
#### 步骤三：资源配置
根据[表3]填写训练作业资源配置参数。
 表3资源配置参数说明 
| 参数      | 是否可选 | 说明                                                                                                                                                     | 示例                                                                   |
|:---|:---|:---|:---|
| 资源池类型   | 必选   | 选择公共资源池或专属资源池。 本方案中要求使用专属资源池。                                                                             | 专属资源池                                                                |
| 资源池     | 必选   | 单击"选择资源池"，在右侧弹窗中选择规格为8 \* Snt9b2的物理资源池。 资源池需要提前创建。单击资源碎片列的"查看"可以查看碎片详情，确认资源池是否满足训练需求。                    | 物理资源池 8 \* Snt9b2      |
| 实例规格    | 必选   | 选择8\*Snt9b2资源规格。                                                                                                                                       | 8\*Snt9b2                                                            |
| 实例数     | 必选   | Qwen3-8B模型训练需要2机共16卡资源，设置为2。 Qwen3-32B模型训练需要3机共24卡资源，设置为3。                                               | Qwen3-8B：2 Qwen3-32B：3 |
| 挂载存储    | 可选   | 单击"添加拓展存储OBS"，需要使用OBS存储训练产物。                                                                                                                           | 拓展存储OBS                                                              |
| 挂载存储    | 可选   | 存储位置：选择OBS桶中的训练输出路径。注意和代码OBS路径区分开                                                                                                                      | obs://\<bucket_name\>/ckpt_space                                     |
| 挂载存储    | 可选   | 云上挂载路径：训练容器中的训练产物输出路径.例如，对于本示例， obs://\<bucket_name\>/ckpt_space挂载到容器中则路径为/home/ma-user/ckpts/ckpt_space | /home/ma-user/ckpts                                                  |
| 挂载存储    | 可选   | 只读：表示挂载的OBS路径只能读，不能写。训练输出需要写入到OBS中，此处不能勾选。                                                                                                             | 不勾选                                                                  |
| 作业调度优先级 | 可选   | 训练作业调度优先级。                                                                                                                                             | 保持默认                                                                 |
| 允许被抢占   | 可选   | 开启后，当资源池剩余资源不足时，允许被抢占的作业可能会被终止并重新排队。为避免训练进度丢失，请在开启此功能前完成断点续训的设置。                                                                                       | 不勾选                                                                  |
   
#### 步骤四：高可用配置
根据[表4]填写训练作业高可用配置参数。
 表4高可用配置参数说明 
| 参数      | 是否可选 | 说明                                                                                                    | 示例   |
|:---|:---|:---|:---|
| 最大重启次数  | 可选   | 超过最大重启次数后发生故障，作业将被标记为失败。默认值为3。                                                                        | 保持默认 |
| 无条件自动重启 | 可选   | 只要系统检测到训练异常，就无条件重启训练作业。为了避免无效重启浪费算力资源，系统最多只支持连续无条件重启3次。                                               | 不勾选  |
| 作业卡死重启  | 可选   | 系统支持自动监控作业进程的状态和资源利用率来判定作业是否卡死，开启此开关后，支持将标记为卡死的作业进行进程级自动重启，以提高资源使用率。为了避免无效重启浪费算力资源，系统最多只支持连续作业卡死重启3次。 | 勾选   |
   
#### 步骤五：访问配置
本方案中，访问配置涉及的在线调试、SSH远程开发等参数保持默认，不配置。
#### 步骤六：可观测配置
本方案中，可观测配置涉及到的监控指标对接AOM参数保持默认，不配置。
#### 步骤七：更多其他配置
根据[表5 更多配置参数说明]填写训练作业高可用配置参数。
 表5更多配置参数说明 
| 参数     | 是否可选 | 说明                                                                                                         | 示例      |
|:---|:---|:---|:---|
| 永久保存日志 | 必选   | 日志30天后会被清理，打开按钮后可保存至指定OBS路径。您也可以在作业详情页下载全部日志至本地。路径可以按照自己实际obs情况自由配置                                        | 勾选      |
| 作业可见范围 | 可选   | 默认为工作空间内可见，同一个工作空间内容的用户均可以查看此训练作业。 仅创建者可见：创建的训练作业对其他用户不可见。 | 工作空间内可见 |
| 自动停止   | 可选   | 开启后，当作业运行时开始计时，运行时间超出您预设的时长，它将自动停止运行。                                                                      | 不勾选     |
| 事件通知   | 可选   | 配置该选项后发生特定事件（如作业状态变化或者疑似卡死）后会发送通知（短信邮件等），发送通知涉及少量费用。                                                       | 不勾选     |
| 标签     | 可选   | 如果您需要使用同一标签标识多种云资源，即所有服务均可在标签输入框下拉选择同一标签，需要在TMS中设置标签。                                                      | 不勾选     |
   
最后，在创建训练作业页面底部，单击"提交"，开始创建训练作业。
训练作业一般需要运行一段时间，可以前往训练作业列表或训练详情页，查看训练作业的基本情况。
训练完成后，请参考[查看训练结果输出](https://support.huaweicloud.com/bestpractice-modelarts/modelarts_areal_train_006.html)章节查看训练日志和性能。
了解更多ModelArts训练功能，可查看[ModelArts模型训练](https://support.huaweicloud.com/develop-modelarts/develop-modelarts-0001.html)。
