4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

操作系统和显卡/nvlink

服务器的系统采用Ubuntu22.04

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

显卡驱动选择“使用 NVIDIA driver metapackage 来自 nvidia-driver-535(专有)”

在nvidia setting里面可以看到显卡的信息

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

在终端输入命令也可以查看显卡的信息

nvidia-smi

或者

nvidia-smi --loop 1

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

查看nvlink的工作状态,如果有显示异常的信息可以将nvlink拔下来重新插一下:

nvidia-smi nvlink --status

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

硬件优化

打开终端并编辑/etc/rc.local文件:

sudo vim /etc/rc.local

将下面的内容粘贴到文件里面

#!/bin/sh -e
/usr/bin/nvidia-smi -pm 1
/usr/bin/nvidia-smi -lgc 1400
/usr/bin/nvidia-smi -pl 200
exit 0

按“ESC”键,输入“:wq”保存并退出编辑模式

为文件赋予执行权限:

sudo chmod +x /etc/rc.local

这样可以每次开机的时候自动执行上面的文件中的3行命令,确保计算机的稳定性,以稳定显卡的功耗。忽视这一步骤可能会导致由于功耗波动过大而引起计算机重启。执行上述命令后,显卡的功耗将保持在当前状态,从而避免不必要的波动。这有助于提高系统的稳定性,特别是在运行资源密集的推理任务时。

*******(下面的这些内容不是正常步骤中的内容)********

如果在修改/etc/rc.local文件后导致Ubuntu无法正常启动,我们可以通过以下步骤进行修复:

步骤一:进入恢复模式

  1. 重启计算机。
  2. 在启动时按住Shift键,直到出现Grub菜单。
  3. 在Grub菜单中,选择Advanced options for Ubuntu
  4. 选择带有(recovery mode)的内核版本进入恢复模式。

步骤二:修复或者删除/etc/rc.local文件

  1. 选择root选项进入单用户模式,你将进入一个命令行环境。
  2. 挂载根文件系统为读写模式:
mount -o remount,rw /

修复/etc/rc.local文件:

vim /etc/rc.local

或删除/etc/rc.local文件:

rm -r /etc/rc.local

步骤三:退出编辑器并重新启动系统

reboot

安装CUDA

官方地址:https://developer.nvidia.com/cuda-downloads

只需要执行Base Installer中的步骤即可!

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-5

安装miniconda

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

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

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

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

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

安装vllm

由于我们上面已经安装了miniconda3,我们可以直接用conda来创建虚拟环境了!

# 创建名为vllm的Python 3.10环境,并自动确认(-y)
conda create -n vllm python=3.10 -y

# 激活名为vllm的环境
conda activate vllm

# 在激活的环境中,通过清华大学的镜像源安装vllm包
pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple

* 如果已经安装过vllm,请保持vllm为最新版本,否则可能会出现某些报错,更新命令如下:

pip install --upgrade transformers vllm

以后运行只需要重新激活vllm虚拟环境即可!

conda activate vllm

vllm启动参考命令

python3 -m vllm.entrypoints.openai.api_server \
--model /media/arthur/新加卷/LLM/Qwen1.5-110B-Chat-GPTQ-Int4 \  #这个是模型的路径,支持中文名称
--served-model Qwen1.5-110B-Chat-GPTQ-Int4 \  #这个是模型的名称,在oneapi中要填写这个名称“Qwen1.5-110B-Chat-GPTQ-Int4”,这个名称可以自定义;
--dtype float16 \
--tensor-parallel-size 4 \  #这个是显卡数量,我这里是4块显卡就填4
--quantization gptq \  #这个是量化的方法,可以是gptq、awq等,根据模型的实际情况填写
--trust-remote-code \
--gpu-memory-utilization 0.98 \  #这个是显存占用比例
--host=0.0.0.0 --port=8001 \
--max-model-len 8000  \
--max-num-seqs 2

实测中4张定制版的22G 2080ti可以流程运行“Qwen1.5-110B-Chat-GPTQ-Int4”,速度大概是23tokens/秒,这个速度是可以接收的!

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

四张显卡都可以满负荷工作,工作时候的电源在120W左右!

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

在测试中我通过局域网调用api的方式调用该服务器的api来进行翻译,800字大约耗时19秒,平均42字/秒

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

4张定制版22G 2080ti 搭建AI服务器 用vllm框架跑Qwen1.5-110B模型非常丝滑!

其他案例:

python3 -m vllm.entrypoints.openai.api_server \
--model /media/arthur/新加卷/LLM/Qwen1.5-72B-Chat-AWQ \
--served-model Qwen1.5-72B-Chat-AWQ \
--dtype float16 \
--tensor-parallel-size 4 \
--quantization awq \
--trust-remote-code \
--gpu-memory-utilization 0.98 \
--host=0.0.0.0 --port=8001 \
--max-model-len 15000  \
--max-num-seqs 2

参考文章

AI大模型本地化部署Q/A本地大模型部署篇(https://www.bilibili.com/read/cv33373992/?from=readlist

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/4zhangdingzhiban22g-2080ti-dajianaifuwuqi-yongvllmkuangjiapaoqwen15-110bmoxingfeichangsihua/.html

Like (2)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2024年6月3日 下午12:05
Next 2024年6月23日 下午2:58

相关推荐

发表回复

Please Login to Comment