检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
yaml相对或绝对路径 <model_name>:训练模型名,如qwen2.5-7b <exp_name>:实验名称:包含训练策略类型及数据序列长度:【lora:4096-lora、full:4096-full】 训练完成后,test-benchmark目录下会生成训练日志及NPU利用率日志及权重文件,如qwen2
开启训练故障自动重启功能 创建训练作业时,可开启自动重启功能。当环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图1 开启故障重启 断点续训练是通过checkpoint机制实现。c
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本(在scripts_modellink下)和配置(在examples/config下),并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成
执行LoRA微调训练任务 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
执行LoRA微调训练任务 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
size(GBS)、seq_len(SEQ_LEN)为训练时设置的参数 loss收敛情况:日志里存在lm loss参数 ,lm loss的值随着训练迭代周期持续性减小,并逐渐趋于稳定平缓。 图2 查看日志和性能 父主题: 主流开源大模型基于Standard适配PyTorch NPU训练指导(6.3.905)
size(GBS)、seq_len(SEQ_LEN)为训练时设置的参数 loss收敛情况:日志里存在lm loss参数 ,lm loss参数随着训练迭代周期持续性减小,并逐渐趋于稳定平缓。 图2 查看日志和性能 父主题: 主流开源大模型基于Standard适配PyTorch NPU训练指导(6.3.906)
DockerFile构建镜像(可选) 本章节主要介绍通过DockerFile文件构建训练镜像,将训练过程中依赖包封装使用,过程中需要连接互联网git clone,请确保环境可以访问公网,详解操作如下: 进入代码包Dockerfile文件同级目录: cd /home/ma-user
model_train_dataset String 模型训练数据集。 model_dataset_format String 使用模型需要的数据集格式。 model_description_url String 模型描述链接。 parameter String 模型的运行参数。当为自定义镜像训练作业的时候,此参数为容器环境变量。该样例请参考请求示例。
0 到 1 制作自定义镜像并用于训练(PyTorch+CPU/GPU) 本章节介绍如何从0到1制作镜像,并使用该镜像在ModelArts平台上进行训练。镜像中使用的AI引擎是PyTorch,训练使用的资源是CPU或GPU。 本实践教程仅适用于新版训练作业。 场景描述 本示例使用Linux
kenizer文件,具体请参见训练tokenizer文件说明。 步骤3 启动训练脚本 请根据步骤2 修改训练超参配置修改超参值后,再启动训练脚本。Llama2-70B建议为4机32卡训练。 多机启动 以 Llama2-70B 为例,多台机器执行训练启动命令如下。多机启动需要在每个节点上执行。
自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、
自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图2 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、
kubectl logs -f ${pod_name} 等待模型载入 执行训练启动命令后,等待模型载入,当出现“training”关键字时,表示开始训练。训练过程中,训练日志会在最后的Rank节点打印。 图1 等待模型载入 训练完成后,生成的权重文件保存路径为:/mnt/sfs_turbo/
训练的数据集预处理说明 以 llama2-13b 举例,使用训练作业运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
训练作业运行失败排查指导 问题现象 训练作业的“状态”出现“运行失败”的现象。 原因分析及处理方法 查看训练作业的“日志”,出现报错“MoxFileNotExistsException(resp, 'file or directory or bucket not found.')”。
在ModelArts的Notebook中使用MoXing时,如何进行增量训练? 在使用MoXing构建模型时,如果您对前一次训练结果不满意,可以在更改部分数据和标注信息后,进行增量训练。 “mox.run”添加增量训练参数 在完成标注数据或数据集的修改后,您可以在“mox.run
训练作业进程异常退出 问题现象 训练作业运行失败,日志中出现如下类似报错: [Modelarts Service Log]Training end with return code: 137 原因分析 日志显示训练进程的退出码为137。训练进程表示用户的代码启动后的进程,所以这里
kubectl logs -f ${pod_name} 等待模型载入 执行训练启动命令后,等待模型载入,当出现“training”关键字时,表示开始训练。训练过程中,训练日志会在最后的Rank节点打印。 图1 等待模型载入 训练完成后,生成的权重文件保存路径为:/mnt/sfs_turbo/