Qwen2适配Ascend NPU开源验证任务心得

举报
huyanbo 发表于 2024/11/07 14:48:21 2024/11/07
【摘要】 Qwen2适配Ascend NPU、Kunpeng CPU 以及 OpenEuler 操作系统开源验证任务心得   首先看了一下任务计划书:https://bbs.huaweicloud.com/blogs/437824,主要目的是将 Qwen2 项目适配至华为的 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器,确保其在这些硬件平台上的高效运行,也就是说验证qwen2能不能在 Ascen

Qwen2适配Ascend NPU、Kunpeng CPU 以及 OpenEuler 操作系统开源验证任务心得

 

首先看了一下任务计划书:https://bbs.huaweicloud.com/blogs/437824主要目的是将 Qwen2 项目适配至华为的 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器,确保其在这些硬件平台上的高效运行,也就是说验证qwen2能不能在 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器中运行。

开发过程

明确目的后开始熟悉模型,Qwen2github网址:https://github.com/QwenLM/Qwen2。把代码库中的代码文件(examples/demo/web_demo.pywget下来。
有了代码后去下载模型文件

我是在合集详情页 · 魔搭社区 (modelscope.cn)下载的模型。先使用:pip install modelscope 安装modelscope,然后使用:

modelscope download --model Qwen/Qwen2-7B-Instruct --local_dir ./dir

把模型下载到当前文件夹。

 

安装依赖包

先在鲲鹏cpu和欧拉操作系统下验证推理,在:https://pytorch.org/ 下载安装cpu版本的pytorch(conda安装:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

 )


修改推理代码

把从github下载下来的推理代码web_demo.py中的改为本地模型文件的路径,在64行代码加上

device_map = "cpu"

,运行时会提醒你没有安装全的包和版本不对的包,根据提示安装修改即可。

 

NPU推理模型

使用NPU推理模型需要安装pytorchCANNtorch_npu

先安装CANN,参考:https://www.hiascend.com/zh/developer/download/community/result?module=cann

torch_npu的安装参考:https://github.com/Ascend/pytorch/blob/master/README.zh.md

下载模型和之前在cpu上步骤相同。

获取代码:

Qwen2npu上推理的代码官方没有直接给出,请参考:https://blog.csdn.net/weixin_46398647/article/details/140214117?ops_request_misc=%257B%2522request%255Fid%2522%253A%252215D54717-D279-4746-B037-CDAA10279D94%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=15D54717-D279-4746-B037-CDAA10279D94&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-140214117-null-null.142^v100^pc_search_result_base4&utm_term=qwen2-7b-instruct%E9%83%A8%E7%BD%B2%E5%88%B0npu&spm=1018.2226.3001.4187。自己创建空白python代码文件,修改此网页代码。把DEFAULT_CKPT_PATH后面的路径改为你的模型文件路径,安装好相关依赖包进行推理。

注:numpy版本建议安装1.23左右的,不要安装2.0及以上的,会有兼容问题。

1       验收材料

1.1       交付件清单

  • DEMO仓库地址: https://gitcode.com/huyanbo/qwen2/tree/main
  • 博客的地址: https://bbs.huaweicloud.com/blogs/438997

 

验收细则

评分说明

是否为验收必选项

结果(通过/不通过)

功能开发:完成与华为三大根技术生态(鲲鹏云、昇腾云、鸿蒙)适配的功能开发

基于鲲鹏、昇腾和Euler系统完成验证

 

代码质量:适配华为三大根技术生态的代码质量经过工具检测达标

推送给开源社区的代码符合开源社区关于代码风格、功能、自动化测试等要求。

 

提供相关文档,比如部署文档、使用文档、配置文档等

根据社区要求,完善相关的开发指南和部署指导

 

合入到开源项目主仓:代码推送上游社区

代码合并到当前主干分支。

 

Deomo设计&开发:完成功能演示Demo的开发

提供DEMO仓库地址。

 

Demo部署&验证:完成功能演示DEMO基于华为云鲲鹏环境的部署和功能验证

提供DEMO部署验证结果的关键截图进行举证。提供DEMO运行环境和资源的截图举证。

 

发布博客:发布博客介绍适配心得。

提供博客的地址。

 

制作单机版无高危开源镜像。

上架云商店。

 

单机版镜像上架时支持模板部署。

 

 

制作集群版无高危开源镜像

上架云商店。

 

集群版镜像上架时支持模板部署

 

 

2       资源清单

产品名称

CPU架构

实例类型

公共镜像

镜像版本

备注

弹性云服务器

鲲鹏计算

鲲鹏通用计算增强型kc1

Huawei Cloud EulerOS

Huawei Cloud EulerOS 2.0 Arm 64bit sdi5 for ECS BareMetal With Uniagent(150GiB)

推荐

  

产品名称

NPU架构

CPU架构

操作系统

云堡垒机

Ascend 910B3

 

鲲鹏计算

Kunpeng-920

Huawei Cloud EulerOS 2.0 (aarch64)


 

3       测试结果

3.1       Cpu推理

3.2       Npu推理

运行程序前

运行程序后

 

 

推理结果


 

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。