检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练的权重转换说明 以llama2-13b举例,使用训练作业运行0_pl_pretrain_13b.sh脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf.sh
使用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/1_preprocess_data.sh
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.38
使用SmoothQuant量化工具转换权重 SmoothQuant(W8A8)量化方案能降低模型显存以及需要部署的卡数。也能同时降低首token时延和增量推理时延。支持SmoothQuant(W8A8)量化的模型列表请参见表1。 本章节介绍如何在Notebook使用SmoothQuant
SFT全参微调训练任务 步骤1 上传训练权重文件和数据集 如果在准备代码和数据阶段已经上传权重文件和数据集到容器中,可以忽略此步骤。 如果未上传训练权重文件和数据集到容器中,具体参考上传代码和权重文件到工作环境和上传数据到指定目录章节完成。训练脚本中会自动执行训练前的权重转换操作和数据处理操作
常见错误原因和解决方法 显存溢出错误 网卡名称错误 保存ckpt时超时报错 父主题: 主流开源大模型基于DevServer适配ModelLink PyTorch NPU训练指导(6.3.907)
使用AWQ量化工具转换权重 AWQ(W4A16/W8A16)量化方案能显著降低模型显存以及需要部署的卡数。降低小batch下的增量推理时延。支持AWQ量化的模型列表请参见表1。 本章节介绍如何在Notebook使用AWQ量化工具实现推理量化。 量化方法:W4A16 per-group
使用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
录制Profiling Ascend PyTorch Profiler是针对PyTorch框架开发的性能数据采集和解析工具,通过在PyTorch训练脚本中插入Ascend PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件,提升了性能分析效率
附录:微调训练常见问题 问题1:在训练过程中遇到NPU out of memory 解决方法: 容器内执行以下命令,指定NPU内存分配策略的环境变量,开启动态内存分配,即在需要时动态分配内存,可以提高内存利用率,减少OOM错误的发生。 export PYTORCH_NPU_ALLOC_CONF
训练tokenizer文件说明 在训练开始前,需要针对模型的tokenizer文件进行修改,不同模型的tokenizer文件修改内容如下,您可在创建的Notebook中对tokenizer文件进行编辑。 Yi模型 在使用Yi模型的chat版本时,由于transformer 4.38
训练的权重转换说明 以llama2-13b举例,使用训练作业运行0_pl_pretrain_13b.sh脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行scripts/llama2/2_convert_mg_hf.sh
从Manifest文件导入数据到数据集 前提条件 已存在创建完成的数据集。 准备需要导入的数据,具体可参见从Manifest文件导入规范说明。 需导入的数据,已存储至OBS中。Manifest文件也需要存储至OBS。 确保数据存储的OBS桶与ModelArts在同一区域,并确保用户具有
动态挂载OBS并行文件系统成功,但是在Notebook的JupyterLab中无法看到本地挂载点 问题现象 在Notebook中动态挂载OBS并行文件系统,本地挂载目录为/data/demo-yf/,实际在JupyterLab左侧导航看不到此目录。 图1 本地挂载目录 图2 Notebook
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME
日志提示Custom op has no reg_op_name attr 问题现象 日志提示:Custom op has no reg_op_name attr。 图1 报错提示 原因分析 无。 处理方法 定义context时无需指定: context.ascend.provider
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5