在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

QwQ 是 Qwen 级数的推理模型。与传统的指令调优模型相比,能够思考和推理的 QwQ 可以在下游任务中实现显着增强的性能,尤其是难题。QwQ-32B 是中型推理模型,能够实现与最先进的推理模型(如 DeepSeek-R1、o1-mini)相比的竞争性能。

在这篇文章中,我将详细介绍在Ubuntu 22.04服务器(4 x 2080Ti 22G)上部署和运行QwQ-32B服务的详细流程!

☞☞☞ 定制同款Ubuntu服务器 ☜☜☜

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

☞☞☞ 定制同款Ubuntu服务器 ☜☜☜

升级和安装相关的依赖

操作系统更新

sudo apt update && sudo apt upgrade

安装git-all

sudo apt install git-all

安装curl

sudo apt install curl

验证是否安装成功

curl --version

下载和安装git-lfs

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

下载模型

我们可以在huggingface和魔搭社区下载QwQ-32B模型,国内以魔搭社区为例:

打开模型的下载页面:https://modelscope.cn/models/Qwen/QwQ-32B/files

点击“下载模型”

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

复制下载链接:

git clone https://www.modelscope.cn/Qwen/QwQ-32B.git

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

在Ubuntu服务器中的指定位置打开一个终端窗口,将下载链接粘贴进去回车,系统将自动下载好所有的模型和配置文件!下面的案例中,我在disk1磁盘中专门新建了一个LLM的目录用来存放所有的模型,cd到这个目录之后,直接将下载命令粘贴进来回车,下载完成之后你可以在该目录中看到“QwQ-32B”这个模型文件夹。

模型大小有64G,所以下载的时间会比较漫长,取决于你的网速情况!我大概下载了一个小时!

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

修改tokenizer_config.json文件

模型下载完成之后,我们还需要修改tokenizer_config.json文件,否则会在推理输出的时候丢失掉<think>标签,删除掉chat_template中的”<think>\n”,然后保存文件上传到服务器替换掉原来的tokenizer_config.json文件。

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

安装miniconda(如果已经安装过了这一步可以省略)

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

第二行命令输入之后,要一直按着“Enter”键阅读完它全部的license,知道出现了提示输入“yes”和“no”的输入框提示

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

我们直接输入“yes”进行确认!然后会然我们选择安装的路径,一般情况下我们直接按“Enter”键确认即可!

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

询问是否要初始化,直接输入“yes”确认

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

看到下面的“Thank you…”就标志着安装完成了!

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

激活conda模式

source ~/.bashrc

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

安装vLLM

新建一个单独的虚拟环境

首先要为vllm新建一个虚拟环境:

conda create -n vllm python=3.10 -y && conda activate vllm

安装vllm

继续在虚拟环境中执行下面的代码:

pip install vllm==0.7.3

安装NCCL(NVIDIA Collective Communications Library)库

安装与CUDA 12.x兼容的NCCL库,确保在使用CUDA进行加速计算时,可以利用NCCL提供的通信优化,运行下面这行代码

python -m cupyx.tools.install_library --library nccl --cuda 12.x

运行vllm server服务

在vllm虚拟环境激活的状态下,运行下面的vllm server命令:

vllm serve /mnt/disk1/LLM/QwQ-32B --served-model QwQ-32B --tensor-parallel-size 4 --max-model-len 32768 --dtype=half --trust-remote-code --gpu-memory-utilization 0.95 --max-num-seqs 5 --host=0.0.0.0 --port=4000

命令参数解析:

模型路径:/mnt/disk1/LLM/QwQ-32B

模型名称:–served-model QwQ-32B

显卡数量:–tensor-parallel-size 4

最大上下文长度:–max-model-len 32768

显存使用率:–gpu-memory-utilization 0.95

最大并发数:–max-num-seqs 5

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

运行成功之后你会看到vllm server给出了一个带端口号的IP地址和“Application startup complete.”的字样,证明已经运行成功了!

如果我们在任何一种webui调用这个api的话,就可以运行QwQ-32B的模型来进行推理了!下面以谷歌浏览器插件“Page Assist”调用QwQ-32B模型推理为例:

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

可以看得出来“QwQ-32B”模型的思考过程没有丢失<think>标签,并且推理结果也是正确的!

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

推理速度也是比较快的,稳定在26.2tokens/s左右。不过跟deepseek-r1的蒸馏模型(比如DeepSeek-R1-Distill-Qwen-32B)相比,QwQ-32B模型的显存占有率是一直在上升的,这意味着并发数可能会受到影响。

在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程

总结

测试结果:

第一题:3.9和3.11哪个更大?(

第二题:1块钱一瓶可乐,两个空瓶可以再换一瓶可乐,假设你有20元钱,最多可以喝到几瓶可乐?(

第三题:明天的昨天是昨天的哪天?(

第四题:鲁迅为什么要打周树人?(

第五题:冰箱里有10个鸡蛋,我敲了两个,煎了两个,吃了两个,还剩几个?(

第六题:在平面四边形ABCD中,AB=AC=CD=1,angle ADC=30^{circ}, angle DAB =120^{circ}。将 triangle ACD 沿 AC 翻折至 triangle ACP,其中 P 为动点。求二面角 A-CP-B 的 余弦值的最小值。(

第七题:一个汉字具有左右结构,左边是木,右边是乞。这个字是什么?只需回答这个字即可。(

第八题:请用我给你的4个数字,通过加、减、乘、除、括号,组成一个运算,使得结果为 24。注意:数字需要全部使用我提供的数字:4468(

总体来说表现还是十分亮眼的!但是比起满血版的deepseek-r1来还是有差距的!至于QwQ-32B和DeepSeek-R1-Distill-Qwen-32B相比究竟谁强谁弱,我们后面会专门做一期全面的测试!总而言之,QwQ-32B让我们在低成本的设备上运行大模型有了更多的选择!这是已经非常好的事!

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/zaiubuntufuwuqi4x2080ti22gshangbushuqwq-32b-vllmjiaocheng/.html

Like (0)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2025年3月2日 下午10:36
Next 2025年3月12日 上午8:59

相关推荐

发表回复

Please Login to Comment