检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到OBS中,具体参考代码上传至OBS。 Step1 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及选择上传的镜像。
LoRA训练 本章节介绍SDXL&SD 1.5模型的LoRA训练过程。LoRA训练是指在已经训练好的模型基础上,使用新的数据集进行LoRA微调以优化模型性能的过程。 训练前需要修改数据集路径、模型路径。脚本里写到datasets路径即可。
模型训练 模型训练 如果您缺少自有模型训练平台,可以基于ModelArts进行模型在线训练。 根据场景选择适用的摄像机。 在首页导航栏,进入“选择摄像机型号”页面。
通过Sleep命令使训练作业保持运行 如果训练作业使用的是预置框架: 在创建训练作业时,“创建方式”选择“自定义算法”,“启动方式”选择“预置框架”,代码目录中新增sleep.py并将此脚本作为“启动文件”。这样启动的作业将会持续运行60分钟。
图1 训练精度测试流程图 执行训练任务 进入test-benchmark目录执行训练命令,可以多次执行,按自己实际情况。
Finetune训练 本章节介绍SDXL&SD 1.5模型的Finetune训练过程。Finetune是指在已经训练好的模型基础上,使用新的数据集进行微调(fine-tuning)以优化模型性能。 训练前需要修改数据集路径、模型路径。
修改训练作业优先级 使用专属资源池训练作业时,支持在创建训练作业时设置任务优先级,也支持作业在长时间处于“等待中”的状态时调整优先级。如通过调整作业优先级可以减少作业的排队时长。 什么是训练作业优先级 在用户运行训练作业过程中,需要对训练作业做优先级划分。
Session初始化,与使用SDK调测单机训练作业中的1相同。 准备训练数据,与使用SDK调测单机训练作业中的2相同,唯一的不同在于obs_path参数是必选的。 准备训练脚本。
在ModelArts训练得到的模型欠拟合怎么办? 模型复杂化。 对同一个算法复杂化。例如回归模型添加更多的高次项,增加决策树的深度,增加神经网络的隐藏层数和隐藏单元数等。 弃用原来的算法,使用一个更加复杂的算法或模型。例如用神经网络来替代线性回归,用随机森林来代替决策树。
如果选择的算法是使用旧版镜像创建的,那么创建训练作业时输入输出参数的超参目录就是/work。 图3 创建算法 如果选择的算法不是使用旧版镜像创建的,那么创建训练作业时输入输出参数的超参目录就是/ma-user。 父主题: Standard模型训练
父主题: 训练管理
当资源规格为多机时(即实例数大于 1),无需设置超参world_size和rank,超参会由平台自动注入。 方式二:使用自定义镜像功能,通过torch.distributed.launch命令启动训练作业。 创建训练作业的关键参数如表2所示。
例如:算法支持的是GPU规格,创建训练作业时选择了ASCEND规格的资源类型。 处理方法 查看算法代码中设置的训练资源规格。 检查创建训练作业时所选的资源规格是否正确,重新创建训练作业选择正确的资源规格。 父主题: 云上迁移适配故障
对于ChatGLMv3-6B和Qwen系列模型,还需要手动修改tokenizer文件,具体请参见训练tokenizer文件说明。 Step2 创建SFT全参微调训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。
训练权重转换说明 以 llama2-13b 举例,使用训练作业运行 obs_pipeline.sh 脚本后,脚本自动执行权重转换,并检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行训练任务。
步骤二 创建训练任务 创建训练作业,并自定义名称、描述等信息。选择自定义算法,启动方式自定义,以及上传的镜像。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
LoRA训练 本章节介绍SDXL&SD 1.5模型的LoRA训练过程。LoRA训练是指在已经训练好的模型基础上,使用新的数据集进行LoRA微调以优化模型性能的过程。 启动SD1.5 LoRA训练服务 使用ma-user用户执行如下命令运行训练脚本。
model_id 是 Long 训练作业的模型ID。请通过查询预置算法接口获取model_id。填入model_id后app_url/boot_file_url和engine_id不需填写。
job_id Long 训练作业的ID。 job_name String 训练作业的名称。 job_desc String 训练作业的描述信息。 version_id Long 训练作业的版本ID。 version_name String 训练作业的版本名称。
NCCL_IB_TIMEOUT=22:把超时时间设置长一点,正常情况下网络不稳定会有5秒钟左右的间断,超过5秒就返回timeout了,改成22预计有二十秒左右,算法为4.096 µs * 2 ^ timeout。