VLLM适配昇腾开源验证任务心得

举报
yd_258481005 发表于 2024/12/02 16:23:39 2024/12/02
【摘要】 VLLM适配昇腾开源验证任务心得 首先看了一下任务计划书:https://bbs.huaweicloud.com/blogs/440479,主要目的是将 VLLM项目适配至华为的 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器,确保其在这些硬件平台上的高效运行,也就是说验证VLLM能不能在 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器中运行。 开发过程明确目的后开始熟悉模型,V...

VLLM适配昇腾开源验证任务心得

 

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

 

开发过程

明确目的后开始熟悉模型,VLLMgithub网址:https://github.com/vllm-project/vllm。把VLLM项目从github上用git拉取下来。

git clone https://github.com/vllm-project/vllm.git

1 鲲鹏、OpenEuler验证推理

1.1  安装依赖包

创建python虚拟环境

conda create -n vllm311 python=3.11

pip install wheel packaging ninja setuptools>=49.4.0 numpy psutil

:

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

      2.需要安装依赖环境 yum install -y gcc gcc-c++

      3.安装vllm 需要指定设备为CPU

           VLLM_TARGET_DEVICE=cpu

进入源码目录

pip install -v -r requirements-cpu.txt –extra-index-url https://download.pytorch.org/whl/cpu

执行安装

VLLM_TARGET_DEVICE=cpu python setup.py install

 vLLM默认从HuggingFace下载模型,如果想从ModelScope下载模型,需要配置环境变量。

export VLLM_USE_MODELSCOPE=True


1.2  运行推理脚本

    python test_vllm_cpu.py

    运行时可能提示缺少某些库,按照提示安装即可。

2 NPU验证推理

2.1  安装依赖包

NPU上需要CANNtorch_npupytorch

先安装CANN,参考:

https://www.hiascend.com/zh/developer/download/community/result?module=cann

torch_npu的安装参考:

https://github.com/Ascend/pytorch/blob/master/README.zh.md

注:

    1.torch_npu、torchtorchaudio均下载2.1版本,官方torch版本是2.5.1

    2.安装cann包,确保版本匹配torch2.1

    3.安装vllm 需要加上参数 VLLM_TARGET_DEVICE=NPU

         VLLM_TARGET_DEVICE=NPU pip install -e .

    4.clone仓库,不要拉取最新的代码,否则安装会失败。下载支持npu安装的源码。

         git clone -b npu_support https://github.com/wangshuai09/vllm.git

2.2  运行推理脚本

    cd vllm

    python examples/offline_inference_npu.py --trust-remote-code

注:

    1.需要加上参数 –trust-remote-code

    2.默认是huggingface,可以指定从modelscope下载

    3.安装 pip install modelscope

    4.VLLM github官网,可以查看支持的推理模型,本次验证选的的模型是:

        Qwen/Qwen1.5-4B-Chat


3 测试结果

VLLM是一个开源的高性能大语言模型推理库,旨在实现大规模语言模型的快速推理。

3.1  Cpu推理

推理结果

选择了Qwen系列聊天对话模型,输入问题并提交给模型后,模型反馈了答案。

1.jpg

3.2  Npu推理

运行程序前

2.jpg

运行程序后

3.jpg

4.jpg

推理结果

选择了Qwen系列聊天对话模型,输入问题并提交给模型后,模型反馈了答案。

5.jpg

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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