执行训练任务【旧】
前提条件
已上传训练代码、训练权重文件和数据集到SFS Turbo中。
Step1 修改训练超参配置
以llama2-13b SFT全参微调为例,执行脚本 0_pl_sft_13b.sh 。
修改模型训练脚本中的配置,参数详解可查看训练参数说明,其中【GBS、MBS、TP、PP】参数值可参考模型推荐参数、NPU卡数设置。
对于Yi系列模型、ChatGLMv3-6B和Qwen系列模型,还需要手动修改训练参数和tokenizer文件,具体请参见训练tokenizer文件说明。
Step2 创建训练任务
创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。

如果镜像使用使用基础镜像中的基础镜像时,训练作业启动命令中输入:
cd /home/ma-user/work/llm_train/AscendFactory; sh ./scripts_modellink/install.sh; sh ./scripts_modellink/llama2/0_pl_sft_13b.sh
如果镜像使用ECS中构建新镜像构建的新镜像时,训练作业启动命令中输入:
cd /home/ma-user/work/llm_train/AscendFactory; sh ./scripts_modellink/llama2/0_pl_sft_13b.sh
创建训练作业时,可开启自动重启功能。当环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。

断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优化器状态、调度器状态)。即便模型训练中断,也可以基于checkpoint接续训练。
当训练作业发生故障中断本次作业时,代码可自动从训练中断的位置接续训练,加载中断生成的checkpoint,中间不需要改动任何参数。可以通过训练脚本中的SAVE_INTERVAL参数来指定间隔多少step保存checkpoint。

选择用户自己的专属资源池,以及规格与节点数。防止训练过程中出现内存溢出的情况,用户可参考不同模型推荐参数、NPU卡数进行配置。

新增SFS Turbo挂载配置,并选择用户创建的SFS Turbo文件系统。
- 云上挂载路径:输入镜像容器中的工作路径 /home/ma-user/work/
- 存储位置:输入用户的“子目录挂载”路径。如果默认没有填写,则忽略。

作业日志选择OBS中的路径,ModelArts的训练作业的日志信息则保存该路径下。