VLLM适配昇腾开源验证任务心得
VLLM适配昇腾开源验证任务心得
首先看了一下任务计划书:https://bbs.huaweicloud.cn/blogs/440479,主要目的是将 VLLM项目适配至华为的 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器,确保其在这些硬件平台上的高效运行,也就是说验证VLLM能不能在 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器中运行。
开发过程
明确目的后开始熟悉模型,VLLM的github网址: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上需要CANN、torch_npu、pytorch
先安装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、torch版本降到2.4.0或者2.1.0,官方torch版本是2.5.1。
pip install torch torch_npu
2.安装cann包,确保版本匹配torch,本次验证 8.0 rc2
3.clone仓库,不要拉取最新的代码,否则安装会失败。下载支持npu安装的源码。
git clone -b npu_support https://github.com/wangshuai09/vllm.git
4.安装vllm 需要加上参数 VLLM_TARGET_DEVICE=npu
VLLM_TARGET_DEVICE=npu pip install -e .
5.安装numpy版本1.23左右,本次验证是 1.23.5
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系列聊天对话模型,输入问题并提交给模型后,模型反馈了答案。
3.2 Npu推理
运行程序前
运行程序后
推理结果
选择了Qwen系列聊天对话模型,输入问题并提交给模型后,模型反馈了答案。
- 点赞
- 收藏
- 关注作者
评论(0)