检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SFT全参微调训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b SFT微调为例,执行脚本 0_pl_sft_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值
镜像方案说明 准备大模型训练适用的容器镜像,包括获取镜像地址,了解镜像中包含的各类固件版本,配置Standard物理机环境操作。 基础镜像地址 本教程中用到的训练的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 配套版本 基础镜像 swr.cn-southwest
SFT全参微调训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b SFT微调为例,执行脚本 0_pl_sft_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值
准备数据(可选) 此小节为自定义数据集执行过程,如非自定义数据集此小节忽略。 本教程使用到的是LLamaFactory代码包自带数据集。您也可以自行准备数据集,目前支持alpaca格式和sharegpt格式的微调数据集;使用自定义数据集时,请更新代码目录下data/dataset_info.json
准备数据(可选) 此小节为自定义数据集执行过程,如非自定义数据集此小节忽略。 本教程使用到的是LLamaFactory代码包自带数据集。您也可以自行准备数据集,目前支持alpaca格式和sharegpt格式的微调数据集;使用自定义数据集时,请更新代码目录下data/dataset_info.json
训练的权重转换说明 以llama2-13b举例,使用训练作业运行obs_pipeline.sh脚本后,脚本自动执行权重转换,并检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行训练任务。如果未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf.sh
常见错误原因和解决方法 显存溢出错误 网卡名称错误 父主题: 主流开源大模型基于Standard+OBS适配ModelLink PyTorch NPU训练指导(6.3.911)
准备镜像环境 准备训练模型适用的容器镜像,包括获取镜像地址,了解镜像中包含的各类固件版本,配置物理机环境操作。 镜像地址 本教程中用到的训练和推理的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 基础镜像 swr.cn-southwest
准备数据(可选) 此小节为自定义数据集执行过程,如非自定义数据集此小节忽略。 本教程使用到的是LLamaFactory代码包自带数据集。您也可以自行准备数据集,目前支持alpaca格式和sharegpt格式的微调数据集;使用自定义数据集时,请更新dataset_info.json文件
训练精度测试 约束限制 目前仅支持以下模型: qwen2.5-7b qwen2-7b qwen1.5-7b llama3.2-3b llama3.1-8b llama3-8b llama2-7b yi-6b 流程图 训练精度测试流程图如下图所示。 图1 训练精度测试流程图 执行训练任务
常见错误原因和解决方法 显存溢出错误 网卡名称错误 保存ckpt时超时报错 父主题: 主流开源大模型基于Standard+OBS+SFS适配PyTorch NPU训练指导(6.3.907)
附录:大模型推理常见问题 问题1:在推理预测过程中遇到NPU out of memory 解决方法:调整推理服务启动时的显存利用率,将--gpu-memory-utilization的值调小。 问题2:在推理预测过程中遇到ValueError:User-specified max_model_len
精度调优前准备工作 在定位精度问题之前,首先需要排除训练脚本及参数配置等差异的干扰。目前大部分精度无法对齐的问题都是由于模型超参数、Python三方库版本、模型源码等与标杆环境(GPU/CPU)设置的不一致导致,为了在定位过程中少走弯路,需要在定位前先对训练环境及代码做有效排查。此外
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf.sh
使用AWQ量化 AWQ(W4A16)量化方案能显著降低模型显存以及需要部署的卡数。降低小batch下的增量推理时延。支持AWQ量化的模型列表请参见表3。 本章节介绍如何使用AWQ量化工具实现推理量化。 量化方法:per-group Step1 模型量化 可以在Huggingface
使用SmoothQuant量化 SmoothQuant(W8A8)量化方案能降低模型显存以及需要部署的卡数。也能同时降低首token时延和增量推理时延。支持SmoothQuant(W8A8)量化的模型列表请参见表3。 本章节介绍如何使用SmoothQuant量化工具实现推理量化。
在Lite Cluster资源池上使用Snt9B完成分布式训练任务 场景描述 本案例介绍如何在Snt9B上进行分布式训练任务,其中Cluster资源池已经默认安装volcano调度器,训练任务默认使用volcano job形式下发lite池集群。训练测试用例使用NLP的bert模型
在Notebook中通过镜像保存功能制作自定义镜像用于推理 场景说明 本文详细介绍如何将本地已经制作好的模型包导入ModelArts的开发环境Notebook中进行调试和保存,然后将保存后的镜像部署到推理。本案例仅适用于华为云北京四和上海一站点。 操作流程如下: Step1 在Notebook
训练启动脚本说明和参数配置 本代码包中集成了不同模型的训练脚本,并可通过不同模型中的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。若未完成,则执行脚本,自动完成数据预处理和权重转换的过程。 若用户进行自定义数据集预处理以及权重转换,可通过编辑 1_preprocess_data.sh
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 若已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data.sh