检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练tokenizer文件说明 在训练开始前,有些模型需要对模型的tokenizer文件,或者模型的配置文件进行修改,具体的修改如下: Qwen-VL 修改文件modeling_qwen.py: # 将36 37 两行注释部分 36 SUPPORT_BF16 = SUPPORT_CUDA
正常训练过程如下图所示。训练完成后,关注loss值,loss曲线收敛,记录总耗时和单步耗时。训练过程中,训练日志会在最后的Rank节点打印。可以使用可视化工具TrainingLogParser查看loss收敛情况。 图7 正常训练过程 训练完成后权重保存在自动生成的目录,例如:t2v-f17-2
LoRA微调训练 步骤1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
执行训练任务(推荐) 新的训练方式将统一管理训练日志、训练结果和训练配置,使用yaml配置文件方便用户根据自己实际需求进行修改。推荐用户使用该方式进行训练。 权重文件支持以下组合方式,用户根据自己实际要求选择: 训练stage 不加载权重 增量训练:加载权重,不加载优化器(默认开启)
动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优
动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优
DockerFile构建镜像(可选) 本章节主要介绍通过DockerFile文件构建训练镜像,将训练过程中依赖包封装使用,过程中需要连接互联网git clone,请确保环境可以访问公网,详解操作如下: 进入代码包Dockerfile文件同级目录: cd /home/ma-user
Shell中单击回车键即可恢复正常。 图3 路径异常 如何使训练作业保持运行中状态 由于需要训练作业处于“运行中”状态才能登录Cloud Shell,因此本文介绍如何使训练作业保持运行中状态,方便您快速通过Cloud Shell登录运行中的训练容器。 通过Sleep命令使训练作业保持运行 如果训练作业使用的是预置框架:
用户项目ID。获取方法请参见获取项目ID和名称。 training_job_id 是 String 训练作业ID。获取方法请参见查询训练作业列表。 task_id 是 String 训练作业的任务名称。可从训练作业详情中的status.tasks字段中获取。 请求参数 无 响应参数 状态码:200
训练的数据集预处理说明 以 llama2-13b 举例,使用训练作业运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
Server适配PyTorch NPU训练微调指导(6.3.912) 方案概览 本方案介绍了在ModelArts Lite Server上使用昇腾计算资源Ascend Snt9B开展LLaVA-NeXT模型的训练过程,包括pretrain_clip训练和Finetune_onevision训练。 约束限制
断点续训(Checkpointing)和故障快恢都是指训练中断后可从训练中一定间隔(${save-interval})保存的模型(包括模型参数、优化器状态、训练迭代次数等)继续训练恢复,而不需要从头开始。 不同点 断点续训:可指定加载训练过程中生成的Megatron格式权重(${user
全参微调:直接在模型上训练,影响模型全量参数的微调训练,效果较好,收敛速度较慢,训练时间较长。 LoRA微调:冻结原模型,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数,效果接近或略差于全参训练,收敛速度快,训练时间短。 增量预训练:在现有预训练模型基础上,利用新数据
一般默认不启用该功能。启用后,需设置对应的训练验证比例。 输入“训练集比例”,数值只能是0~1区间内的数。设置好“训练集比例”后,“验证集比例”自动填充。“训练集比例”加“验证集比例”等于1。 “训练集比例”即用于训练模型的样本数据比例;“验证集比例”即用于验证模型的样本数据比例。“训练验证比例”会影响训练模板的性能。
手动修改训练参数和tokenizer文件,具体请参见训练tokenizer文件说明。 步骤三 启动训练脚本 请根据步骤二 修改训练超参配置修改超参值后,再启动训练脚本。Llama2-70B建议为4机32卡训练。 多机启动 以 Llama2-70B 为例,多台机器执行训练启动命令如下。多机启动需要在每个节点上执行。
手动修改训练参数和tokenizer文件,具体请参见训练tokenizer文件说明。 步骤三 启动训练脚本 请根据步骤二 修改训练超参配置修改超参值后,再启动训练脚本。Llama2-70B建议为4机32卡训练。 多机启动 以 Llama2-70B 为例,多台机器执行训练启动命令如下。多机启动需要在每个节点上执行。
model_train_dataset String 模型训练数据集。 model_dataset_format String 使用模型需要的数据集格式。 model_description_url String 模型描述链接。 parameter String 模型的运行参数。当为自定义镜像训练作业的时候,此参数为容器环境变量。该样例请参考请求示例。
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
el。 log_url:可选参数,一个OBS地址,本地训练过程中,SDK会自动将训练的日志上传到该位置;但是如果训练任务运行在Ascend上,则是必选参数。 job_description:可选参数,训练任务的描述。 开始训练。 estimator.fit(inputs=[input_data]
执行LoRA微调训练任务 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。