检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
工具介绍及准备工作 本章节主要介绍针对LLaMAFactory开发的测试工具benchmark,支持训练、性能对比、下游任务评测、loss和下游任务对比能力。对比结果以excel文件呈现。方便用户验证发布模型的质量。所有配置都通过yaml文件设置,用户查看默认yaml文件即可知道最优性能的配置。
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件
训练的数据集预处理说明 以llama2-13b举例,使用训练作业运行:obs_pipeline.sh 训练脚本后,脚本自动执行数据集预处理,并检查是否已经完成数据集预处理。 如果已完成数据集预处理,则直接执行训练任务。如果未进行数据集预处理,则会自动执行scripts/llama2/1_preprocess_data
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化和per-tensor+per-head静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。
使用llm-compressor工具量化 当前版本使用llm-compressor工具量化仅支持Deepseek-v2系列模型的W8A8量化。 本章节介绍如何在GPU的机器上使用开源量化工具llm-compressor量化模型权重,然后在NPU的机器上实现推理量化。 具体操作如下:
性能调优总体原则和思路 PyTorch在昇腾AI处理器的加速实现方式是以算子为粒度进行调用(OP-based),即通过Python与C++调用CANN层接口Ascend Computing Language(AscendCL)调用一个或几个亲和算子组合的形式,代替原有GPU的实现
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 如果已完成权重转换,则直接执行预训练任务。如果未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf
模型NPU卡数取值表 不同模型推荐的训练参数和计算规格要求如表1所示。规格与节点数中的1*节点 & 4*Ascend表示单机4卡,以此类推 表1 模型NPU卡数取值表 支持模型 支持模型参数量 文本序列长度 训练类型 Zero并行 规格与节点数 llama3 70B cutoff_len=4096
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件
在ModelArts Standard使用run.sh脚本实现OBS和训练容器间的数据传输 自定义容器在ModelArts上训练和本地训练的区别如下图: 图1 本地与ModelArts上训练对比 ModelArts上进行训练比本地训练多了一步OBS和容器环境的数据迁移工作。 增加了和OBS交互工作的整个训练流程如下:
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
训练启动脚本说明和参数配置 本代码包中集成了不同模型(包括llama2、llama3、Qwen、Qwen1.5 ......)的训练脚本,并可通过统一的训练脚本一键式运行。训练脚本可判断是否完成预处理后的数据和权重转换的模型。如果未完成,则执行脚本,自动完成数据预处理和权重转换的过程。
用户自定义镜像自建的conda环境会查到一些额外的包,影响用户程序,如何解决? 问题现象 用户的自定义镜像运行在Notebook里会查到一些额外的pip包。如下图所示,左侧为自定义镜像运行在本地环境,右侧为运行在Notebook里。 可能原因 Notebook自带moxing、m
使用kv-cache-int8量化 kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。当前支持per-tensor静态量化,支持kv-cache-int8量化和FP16、BF16、AWQ、smoothquant的组合。 kv-cache-int8量化支持的模型请参见支持的模型列表和权重文件。
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already
Yaml配置文件参数配置说明 本小节主要详细描述demo_yaml配置文件、配置参数说明,用户可根据实际自行选择其需要的参数。 表1 模型训练脚本参数 参数 示例值 参数说明 model_name_or_path /home/ma-user/ws/tokenizers/Qwen2-72B
显存溢出错误 在训练过程中,常见显存溢出报错,示例如下: RuntimeError: NPU out of memory. Tried to allocate 1.04 GiB (NPU 4; 60.97 GiB total capacity; 56.45 GiB already