华为910b推理Qwen1.5-72b

前情提要:华为910b部署训练推理大模型,本人之前并没有接触过,所以,写此文档进行记录。

(注意:版本适配很重要!!不然就像我一样走了好多坑~~~)

首先,看一张图片

要训练推理大模型,MindFormers库是关键,而这个库依赖MindSpore,所以安装顺序如下:

1.第三方依赖(python,昇腾AI处理器配套软件包,gcc)

2.MindSpore

3.MindFormers

安装过程:

根据Mindsporehttps://www.mindspore.cn/install/#guide官方文档,在安装MindSpore之前,需要安装第三方依赖:

(说明:官方文档好好看,按照步骤来一般都可以安装成功!)

以下是我的踩坑记录:

1.安装python

本人在910b服务器上安装这些环境,为了方便操作,安装的conda环境,命令如下:

#注意:不要装高版本的python,会不兼容,此处我装的python3.9
conda create --name myenv python=3.9

2.安装昇腾AI处理器配套软件包

在安装之前,一定要看好自己的系统版本以及是否已经安装了固件与驱动,注意安装的版本与CANN版本的匹配

本人服务器信息:

#查看操作系统版本
cat /etc/os-release
操作系统版本:CentOS Linux 7 (AltArch)
#查看固件和驱动信息
npu-smi info -l #查看设备ID: NPU ID
npu-smi info -t board -i NPU ID   #NPU驱动和固件版本
NPU驱动版本:23.0.3   NPU固件版本:7.1.0.5.220

安装的CANN版本(社区版:8.0.RC1.beta1版本)

下载包链接:https://www.hiascend.com/developer/download/community/result?module=cann

我的显卡是910b的,所以我选的这两个(注意:一定要选择toolkitkernels)[不太理解为什么要分开.....]

安装教程参考:

快速安装CANN-快速上手-CANN社区版8.0.RC1.alpha002开发文档-昇腾社区

一定要运行命令:

source /usr/local/Ascend/ascend-toolkit/set_env.sh

每次重新进入虚拟环境,也最好输入一下这个命令

至此,CANN安装成功~

3.安装GCC-7.3.0

(踩了好多坑)

我的gcc版本是4.8.5,需要更新。

不知道为什么运行Mindspore官网的命令一直报错,说找不到这个文件

yum install devtoolset-7

我刚开始以为是源的问题,更新源参考https://blog.csdn.net/smart9527_zc/article/details/84976097

结果不是,仍然报错,找不到文件,后来发现只能源码安装,参考链接:

鲲鹏(ARM64)升级GCC-7.3.0【CentOS-7.6 GCC升级(网络环境+脱机环境)】-云社区-华为云

GCC-7.3.0安装成功~

4.安装mindspore

对照官方文档pip install xxx 或者conda 都可以,然后验证:安装成功~

5.安装MindFormers 一定要拉取r1.0分支

教程:https://gitee.com/mindspore/mindformers/blob/r1.0/research/qwen/qwen.md

(我之前拉取别的分支,一直报错~~)


推理大模型qwen1.5-72b

  • 1.下载通过sdk下载:downmodels.py--路径要更改一下

https://www.modelscope.cn/models/qwen/Qwen1.5-72B/files

(通过git 下载模型文件容易不完整)

  • 2.torch权重转mindspore权重

https://gitee.com/mindspore/mindformers/blob/r1.0/research/qwen/qwen.md

运行这个转换文件的报错分析:

①.numpy报错,请降至2.0.0以下

②.找不到xxx.io这种包,请把那句话提上来,参考链接https://www.cnblogs.com/jefferyeven/articles/15651734.html

  • 3.模型权重切分:ckpt单机--》分布式

  • bash run_singlenode.sh "python qwen1_5/run_qwen1_5.py \ --config qwen1_5/run_qwen1_5_72b_infer.yaml \ --run_mode predict \ --use_parallel True \ --auto_trans_ckpt True \ --predict_data 帮助我制定一份去上海的旅游攻略" ../rank_table_8.json [0,8] 8

可以查看npu是否占用,来看程序是否跑起来了

### 华为昇腾910B部署Qwen模型教程 要在华为昇腾910B上成功部署Qwen模型,需遵循特定的技术流程和工具链支持。以下是详细的说明: #### 工具准备 为了实现高效部署,推荐使用`lmdeploy`作为主要工具[^2]。该工具专为昇腾平台设计,能够优化大语言模型的推理性能并提供良好的兼容性。 #### 环境配置 环境搭建是整个过程的基础部分。需要安装适配昇腾硬件架构的操作系统以及驱动程序版本。具体而言,应确保操作系统满足昇腾设备的要求,并完成对应CUDA Toolkit或者NPU SDK的相关设置。 #### 数据预处理 数据输入前通常要经过一系列标准化操作,比如分词、编码转换等步骤来适应模型需求。对于中文场景下的文本处理任务来说尤为重要的是采用适合中文特性的Tokenizer进行分割[^1]。 #### 模型加载与初始化 通过调用`lmdeploy`接口可以方便地载入已训练好的Qwen权重文件到内存当中去。这里需要注意路径参数正确指定以及资源分配合理规划以充分利用多核计算能力。 ```python from lmdeploy import turbomind as tm session_id = 1 tokenizer_path = 'path/to/tokenizer' model_path = 'path/to/model' # 初始化 tokenizer 和 model 实例对象 tokenizer = tm.Tokenizer(tokenizer_path) model = tm.Model(model_path) input_text = "你好" inputs = tokenizer.encode(input_text) outputs = model.infer([inputs], session_id=session_id)[0] decoded_output = tokenizer.decode(outputs.tolist()) print(decoded_output) ``` 上述代码片段展示了如何利用`lmdeploy.turbomind`库中的功能构建从字符串编码至解码输出完整的流水线作业方式。 #### 性能调优建议 针对不同应用场景可能还需要进一步调整超参设定从而达到最佳效果。例如批量大小(batch size),序列长度(sequence length)等因素都会影响最终吞吐量表现水平。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七月花nancy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值