检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
用户自定义镜像自建的conda环境会查到一些额外的包,影响用户程序,如何解决? 问题现象 用户的自定义镜像运行在Notebook里会查到一些额外的pip包。如下图所示,左侧为自定义镜像运行在本地环境,右侧为运行在Notebook里。 可能原因 Notebook自带moxing、m
SFT微调训练任务 本章节以Qwen-14B为例,介绍SFT微调训练全过程。对于Qwen-7B和Qwen-72B,操作过程与Qwen-14B相同,只需修改对应参数即可。 前提条件 SFT微调训练使用的数据集为alpaca_data数据,已经完成数据处理,具体参见SFT微调数据处理。
启动推理服务 本章节主要介绍大语言模型的推理服务启动方式,包括离线推理和在线推理2种方式。 离线推理 编辑一个python脚本,脚本内容如下,运行该脚本使用ascend-vllm进行模型离线推理。 from vllm import LLM, SamplingParams def
准备推理环境 前提条件 已准备Lite Server资源,具体参考资源规格要求。推荐使用“西南-贵阳一”Region上的DevServer和昇腾Snt9b资源。 安装过程需要连接互联网git clone,确保容器可以访问公网。 步骤一:检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回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交互工作的整个训练流程如下:
使用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的机器上实现推理量化。 具体操作如下:
使用llm-compressor工具量化 当前版本使用llm-compressor工具量化仅支持Deepseek-v2系列模型的W8A8量化。 本章节介绍如何在GPU的机器上使用开源量化工具llm-compressor量化模型权重,然后在NPU的机器上实现推理量化。 具体操作如下:
准备推理环境 前提条件 已准备Lite Server资源,具体参考资源规格要求。推荐使用“西南-贵阳一”Region上的Server和昇腾Snt9b资源。 安装过程需要连接互联网git clone,确保容器可以访问公网。 步骤一:检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。
multi-step 什么是multi-step vLLM的调度和输入准备的CPU开销可能会导致NPU利用率不足,开启multi-step调度可以有效解决这个问题,开启multi-step调度后会在执行一次调度和输入准备后,连续n步运行模型。通过NPU在n步之间连续处理,而无需等
Chunked Prefill 什么是Chunked Prefill Chunked Prefill(Splitfuse)特性的目的是将长prompt request分解成更小的块,并在多个forward step中进行调度,只有最后一块的forward完成后才开始这个prompt
网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 export GLOO_SOCKET_IFNAME=enp67s0f5
各个模型训练前文件替换 在训练开始前,因模型权重文件可能与训练框架不匹配或有优化,因此需要针对模型的tokenizer文件进行修改或替换,不同模型的tokenizer文件修改内容如下。 falcon-11B模型 在训练开始前,针对falcon-11B模型中的tokenizer文件
ECS获取和上传基础镜像 Step1 创建ECS 下文中介绍如何在ECS中构建一个训练镜像,请参考ECS文档购买一个Linux弹性云服务器。完成网络配置、高级配置等步骤,可根据默认选择,或进行自定义。创建完成后,单击“远程登录”,后续安装Docker等操作均在该ECS上进行。 注
训练中的权重转换说明 以 llama2-13b 举例,运行 0_pl_pretrain_13b.sh 脚本。脚本同样还会检查是否已经完成权重转换的过程。 若已完成权重转换,则直接执行预训练任务。若未进行权重转换,则会自动执行 scripts/llama2/2_convert_mg_hf
ECS中构建新镜像 通过ECS获取和上传基础镜像获取基础镜像后,可通过ECS运行Dockerfile文件,在镜像的基础上构建新镜像。 Step1 构建新ModelArts Standard训练镜像 获取模型软件包,并上传到ECS的目录下(可自定义路径),获取地址参考表1。 解压A