检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练精度测试 流程图 训练精度测试流程图如下图所示: 图1 训练精度测试流程图 执行训练任务 进入test-benchmark目录执行训练命令,可以多次执行,按自己实际情况。 benchmark-cli train <cfgs_yaml_file> <model_name> <run_type
准备数据 本教程使用到的训练数据集是Alpaca数据集。您也可以自行准备数据集。 Alpaca数据集 本教程使用Alpaca数据集,数据集的介绍及下载链接如下。 Alpaca数据集是由OpenAI的text-davinci-003引擎生成的包含52k条指令和演示的数据集。这些指令数据可以用来对语言模型进行指令调优
准备镜像 准备训练模型适用的容器镜像,包括获取镜像地址,了解镜像中包含的各类固件版本,配置物理机环境操作。 镜像地址 本教程中用到的训练和推理的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 基础镜像 swr.cn-southwest
准备代码 本教程中用到的训练推理代码和如下表所示,请提前准备好。 获取模型软件包 本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表2所示。 表1 模型对应的软件包和依赖包获取地址 代码包名称 代码说明 下载地址 AscendCloud-6.3.910
准备代码 本教程中用到的训练推理代码和如下表所示,请提前准备好。 获取模型软件包 本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表2所示。 表1 模型对应的软件包和依赖包获取地址 代码包名称 代码说明 下载地址 AscendCloud-6.3.911
录制Profiling Ascend PyTorch Profiler是针对PyTorch框架开发的性能数据采集和解析工具,通过在PyTorch训练脚本中插入Ascend PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件,提升了性能分析效率
录制Profiling Ascend PyTorch Profiler是针对PyTorch框架开发的性能数据采集和解析工具,通过在PyTorch训练脚本中插入Ascend PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件,提升了性能分析效率
训练性能测试 流程图 训练性能测试流程图如下图所示: 图1 训练性能测试流程 执行训练任务 进入test-benchmark目录执行训练命令,可以多次执行,卡数及其它配置参考NPU卡数取值表按自己实际情况决定。 单机<可选>: # 默认8卡 benchmark-cli train
训练中的权重转换说明 以 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量化工具实现推理量化。
准备数据(可选) 此小节为自定义数据集执行过程,如非自定义数据集此小节忽略。 本教程使用到的是LLamaFactory代码包自带数据集。您也可以自行准备数据集,目前支持alpaca格式和sharegpt格式的微调数据集;使用自定义数据集时,请更新代码目录下data/dataset_info.json
准备数据(可选) 此小节为自定义数据集执行过程,如非自定义数据集此小节忽略。 本教程使用到的是LLamaFactory代码包自带数据集。您也可以自行准备数据集,目前支持alpaca格式和sharegpt格式的微调数据集;使用自定义数据集时,请更新代码目录下data/dataset_info.json
DockerFile构建镜像(可选) 本章节主要介绍通过DockerFile文件构建训练镜像,将训练过程中依赖包封装使用,过程中需要连接互联网git clone,请确保环境可以访问公网,详解操作如下: 进入代码包Dockerfile文件同级目录: cd /home/ma-user/
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 ChatGLMv3-6B 在训练开始前,针对ChatGLMv3-6B模型中的tokenizer
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。 kv-cache-int8量化支持的模型请参见表
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf.sh
DockerFile构建镜像(可选) 本章节主要介绍通过DockerFile文件构建训练镜像,将训练过程中依赖包封装使用,过程中需要连接互联网git clone,请确保环境可以访问公网,详解操作如下: 进入代码包Dockerfile文件同级目录: cd /home/ma-user/
录制Profiling Ascend PyTorch Profiler是针对PyTorch框架开发的性能数据采集和解析工具,通过在PyTorch训练脚本中插入Ascend PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件,提升了性能分析效率
训练性能测试 流程图 训练性能测试流程图如下图所示: 图1 训练性能测试流程 执行训练任务 进入test-benchmark目录执行训练命令,可以多次执行,卡数及其它配置参考NPU卡数取值表按自己实际情况决定。 单机<可选>: # 默认8卡 benchmark-cli train