欢迎光临
我们一直在努力

国产海光DCU服务器使用vllm部署Qwen32B模型

1 前言

首先需要确认服务器已经有DTK(DCU Toolkit),类似于 NVIDIA CUDA Toolkit 的角色,但这是适配 DCU(基于 ROCm 架构)的版本。

通过目录名查看

ls -l /opt/ | grep dtk

输出示例

drwxr-xr-x 10 root root 4096 10月 22 10:15 dtk-24.04.3
lrwxrwxrwx 1 root root 12 10月 22 10:20 dtk -> /opt/dtk-24.04.3

版本号是24.04.3,说明已经安装了这个版本的DTK

没有的话需要自行安装

2 环境搭建

Anaconda下载,新建虚拟环境教程很多,自行搜索,直接进入虚拟环境开始

conda activate 环境名

要在海光服务器搭建类似于NVIDIA的GPU环境,需要在光合开发者社区下载对应的pytorch等包

这里因为DTK版本是24.04.3,要下载和其对应的包,选择DAS1.3版本

1、pytorch安装

选择对应版本的pytorch包,右侧可以生成直链,然后用wget下载

wget https://download.sourcefind.cn:65024/directlink/4/pytorch/DAS1.3/torch-2.3.0+das.opt2.dtk24043-cp310-cp310-manylinux_2_28_x86_64.whl

下载完成后,进入模型下载到的那个目录,用pip安装

pip torch-2.3.0+das.opt2.dtk24043-cp310-cp310-manylinux_2_28_x86_64.whl

如果速度慢可以更换清华镜像源

2、其它依赖包安装

用上述同样的方法下载安装其它需要的包,包括torchvision-0.16.0+das.opt1.dtk24043-cp310-cp310-manylinux_2_28_x86_64.whl(不确定有没有用,最好装上),flash_attn-2.6.1+das.opt2.dtk24043-cp310-cp310-manylinux_2_28_x86_64.whl,lmslim-0.1.2+das.dtk24043-cp310-cp310-manylinux_2_28_x86_64.whl,vllm-0.6.2+das.opt1.dtk24043-cp310-cp310-manylinux_2_28_x86_64.whl

注意:这里flash_attn这个包有opt1和opt2两个版本,如果后续安装报关于这个包的错,可尝试重新安装另一个opt的版本。另外要确保每个包都是dtk24043版本,不然会有冲突!

3、验证

安装完torch和torchvision包后,可以用以下命令验证一下显卡可用性

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果能输出版本号和True,说明安装成功,可以成功调用显卡

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
2.3.0
True

3 模型下载

从魔搭社区下载需要的模型,这里以Qwen2.5-32B-Instruct模型为例,找到模型后点击下载模型,如下所示

1、按照提示进行,首先安装ModelScope(在虚拟环境内)

pip install modelscope

2、下载完整模型

modelscope download –model Qwen/Qwen2.5-32B-Instruct

如果要指定文件夹,可以通过以下命令指定路径

modelscope download –model Qwen/Qwen2.5-32B-Instruct –local_dir 指定路径

3、检查模型

切换到指定路径下,用ls命令查看文件夹内容,有以下输出表示模型下载成功

config.json model-00001-of-00017.safetensors model-00006-of-00017.safetensors model-00011-of-00017.safetensors model-00016-of-00017.safetensors tokenizer.json
configuration.json model-00002-of-00017.safetensors model-00007-of-00017.safetensors model-00012-of-00017.safetensors model-00017-of-00017.safetensors vocab.json
generation_config.json model-00003-of-00017.safetensors model-00008-of-00017.safetensors model-00013-of-00017.safetensors model.safetensors.index.json
LICENSE model-00004-of-00017.safetensors model-00009-of-00017.safetensors model-00014-of-00017.safetensors README.md
merges.txt model-00005-of-00017.safetensors model-00010-of-00017.safetensors model-00015-of-00017.safetensors tokenizer_config.json

注意:不同版本的模型需要的驱动版本也不同,例如Qwen3系列的模型就需要vllm>=0.8.5,而这个版本的vllm又需要其它配套版本的包支持(包括DTK),所以根据自己需要的模型提前找好对应的包安装。

4 加载模型

到这一步基本马上就要成功了!用以下命令启动模型

python -m vllm.entrypoints.openai.api_server \\
–model 模型路径 \\
–served-model-name 模型名称 \\
–host 0.0.0.0 \\
–port 端口 \\
–tensor-parallel-size 8

这里tensor-parallel-size表示并行卡数,根据自己设备的卡的数量修改

经过一长串的输出后,如果能看到以下信息说明启动成功,可以进行调用了

赞(0)
未经允许不得转载:171主机测评 » 国产海光DCU服务器使用vllm部署Qwen32B模型
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址