检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
场景介绍 方案概览 本文档利用训练框架PyTorch_npu+华为自研Ascend Snt9B硬件,为用户提供了常见主流开源大模型在ModelArts Lite DevServer上的预训练和全量微调方案。 本方案目前仅适用于部分企业客户,完成本方案的部署,需要先联系您所在企业的华为方技术支持。
准备代码 本教程中用到的模型软件包如下表所示,请提前准备好。 软件配套版本 本方案支持的软件配套版本和依赖包获取地址如表1所示。 表1 软件配套版本和获取地址 软件名称 说明 下载地址 AscendCloud-6.3.909-xxx.zip 说明: 软件包名称中的xxx表示时间戳。
准备代码 本教程中用到的模型软件包如下表所示,请提前准备好。 软件配套版本 本方案支持的软件配套版本和依赖包获取地址如表1所示。 表1 软件配套版本和获取地址 软件名称 说明 下载地址 AscendCloud-6.3.911-xxx.zip 说明: 软件包名称中的xxx表示时间戳。
线下容器镜像构建及调试 镜像构建 导出conda环境 首先拉起线下的容器镜像: # run on terminal docker run -ti ${your_image:tag} 在容器中输入如下命令,得到pytorch.tar.gz: # run on container #
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 若已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
训练的数据集预处理说明 以 llama2-13b 举例,运行:0_pl_pretrain_13b.sh 训练脚本后,脚本检查是否已经完成数据集预处理的过程。 若已完成数据集预处理,则直接执行预训练任务。若未进行数据集预处理,则会自动执行 scripts/llama2/1_preprocess_data
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
执行训练任务(推荐) 步骤一 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作。
测试用户权限 由于权限配置需要等待15-30分钟生效,建议在配置完成后,等待30分钟,再执行如下验证操作。 使用用户组02中任意一个子用户登录ModelArts管理控制台。在登录页面,请使用“IAM用户登录”方式进行登录。 首次登录会提示修改密码,请根据界面提示进行修改。 验证ModelArts权限。
准备代码 软件配套版本 本方案支持的软件配套版本和依赖包获取地址如表1所示。 表1 软件配套版本和获取地址 软件名称 说明 下载地址 AscendCloud-6.3.911-xxx.zip 说明: 软件包名称中的xxx表示时间戳。 包含了本教程中使用到的推理部署代码和推理评测代码
SFT全参微调训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b SFT微调为例,执行脚本 0_pl_sft_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b LORA微调为例,执行脚本0_pl_lora_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。
SFT全参微调训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b SFT微调为例,执行脚本 0_pl_sft_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。
LoRA微调训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b LORA微调为例,执行脚本0_pl_lora_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。
预训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b预训练为例,执行脚本0_pl_pretrain_13b.sh。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本(在scripts_modellink下)和配置(在examples/config下),并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成
预训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 在Notebook中修改训练超参配置 以llama2-13b预训练为例,执行脚本0_pl_pretrain_13b.sh。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参
预训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b预训练为例,执行脚本0_pl_pretrain_13b.sh。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。
预训练 前提条件 已上传训练代码、训练权重文件和数据集到SFS Turbo中。 Step1 修改训练超参配置 以llama2-13b预训练为例,执行脚本0_pl_pretrain_13b.sh。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。