前言
最近有一个小需求需要使用具有视觉理解能力的大模型,刚好春节前Qwen2.5-VL发布,到今天差不多刚好两个月出头,一系列量化版本也陆续推出了,这对于消费级显卡很是友好(ps: 20系三朝元老请求出战!),其实这两天阿里刚刚发布了最新的多模态旗舰模型Qwen2.5-Omni,性能对比如下图,在图像推理这块和Qwen2.5-VL相比有细微提升,但因为是刚刚发布,相关量化版还不够完善,对于20系元老而言食用起来有些烫嘴o(TヘTo),因此本文还是选择了Qwen2.5-VL。
环境准备
WSL安装 (Linux忽略)
由于目前ollama框架暂不支持部署Qwen系列带有图像视觉理解能力的模型,我的需求又需要API形式的调用于是只好采用生产级的vLLM框架,但是vLLM框架需要Linux环境,而我是在自己的Windows PC上进行部署,因此需要借助WSL,如果大家是在Linux上部署则可以忽略这一步~
在win11上安装WSL非常简单,只需一行命令即可
wsl --install
如果之前没有安装过则需要重启一次,默认安装应该是Ubuntu最新的LTS版本,我这里默认是Ubuntu 24.04.02 LTS,当然如果需要安装其他系统版本也可以用以下命令查看系统列表
wsl -l -o
具体细节可以查阅适用于 Linux 的 Windows 子系统文档 | Microsoft Learn
为了方便后续操作,本章节都是在WSL中以Root身份执行,在Windows PowerShell中执行
wsl --user root
即可以Root身份登入WSL
软件包更新
sudo apt update && sudo apt upgrade
Python环境
更新python
sudo apt upgrade python3
安装pip并配置镜像源
sudo apt install python3-pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安装venv
sudo apt install python3-venv
模型部署
本章节命令以普通用户(WSL安装时自定义的用户)执行即可
目录准备
开始工程前当然要为项目建立一个新家,之后的工作都将在此文件夹中展开
cd ~ && mkdir qwenVL_deploy
虚拟环境配置
python3 -m venv qwenVL_env # 创建环境
source qwenVL_env/bin/activate # 激活环境,命令行左侧会出现(qwenVL_env)字样
vLLM框架及依赖安装
pip install 'vllm>0.7.2' 'transformers>=4.49.0' accelerate qwen-vl-utils modelscope
模型文件下载
命令中的--local_dir后面需要改为自己的目录地址
modelscope download --model Qwen/Qwen2.5-VL-3B-Instruct-AWQ --local_dir /home/wsl/qwenVL_deploy/Model/Qwen2-5VL-3B-AWQ
启动API服务(OpenAI兼容的API)
vllm serve Model/Qwen2-5VL-3B-AWQ --port 8000 --host 0.0.0.0 --dtype float16 --limit-mm-per-prompt image=1,video=0 --max-model-len 10000 --max-num-seqs 1 # --allowed-local-media-path xxxxx 如需使用本地图片url或视频进行推理则加上目录路径即可
出现如下提示则表示启动成功啦~
Tips
- 由于20系显卡不支持bfloat因此在vllm启动时需要配置--dtype float16
- 如果出现显存溢出可以尝试逐步降低vllm启动参数中的max-model-len和max-num-seqs