最强开源Qwen2.5:本地部署 Ollma/vLLM 实测对比,邀你围观体验

最近 Qwen2.5 特别火,72B 模型性能超越 Llama3.1 405B,稳居全球最强开源大模型。

既然这么强,咱必须给它整起来啊。

前两天分享了:手机端跑大模型:Ollma/llama.cpp/vLLM 实测对比

Ollama 完胜 llama.cpp!奈何 vLLM 比较傲娇,在 arm 架构上搞不赢,还没能一睹它的芳容~

今天,刚好借 Qwen2.5 的东风,实测 Ollma//vLLM 本地部署大模型,到底该怎么选?

1. Qwen2.5 有哪些亮点

模型规模多元:分别为0.5/1.5/7/14/32/72B,分base和instruct两个版本。

海量训练数据:训练数据总量高达18T个token,具备强大的知识储备。

指令遵循出色:实测结构化输出(如json)遵循不错,其它指令遵循待测试。

支持语种丰富:支持超过29种语言,中文、英语、法语、西班牙语、德语、日语等。

2. Ollama 部署实测

当前 Ollama的 Library 中已支持 Qwen2.5 下载。

2.1 Ollama 安装

不了解 Ollama 的小伙伴,可翻看之前的教程:本地部署大模型?Ollama 部署和实战,看这篇就够了

这里,我们依然采用 Docker 安装,用官方最新镜像,拉起一个容器:

# CPU
sudo docker run -d -v ollama:/root/.ollama -p 3002:11434 --restart unless-stopped --name ollama ollama/ollama

如果有 GPU,那就用如下命令,把 GPU 用上,跑大模型还是很吃算力的:

# GPU 单卡
sudo docker run -d --gpus "device=3" -v ollama:/root/.ollama -p 3002:11434 --restart unless-stopped --name ollama ollama/ollama
# GPU 多卡
sudo docker run -d --gpus '"device=2,3"' -v ollama:/root/.ollama -p 3002:11434 --restart unless-stopped --name ollama ollama/ollama

友情提醒:docker 容器中指定多张 GPU,命令行中 '"device=2,3"' 需要加两个引号!

2.2 Qwen2.5 下载

Ollama 容器启动成功后,进入容器,下载模型并运行:

sudo docker exec -it ollama /bin/bash

我这里下载了7/14/32b(资源有限,搞不定72b):

ollama run qwen2.5:7b
ollama run qwen2.5:14b
ollama run qwen2.5:32b

这三个模型,资源占用情况如何?先抛结论

NAME           显存占用   SIZE           
qwen2.5:32b    24 G      19 GB           
qwen2.5:14b    11 G      9.0 GB        
qwen2.5:7b     6 G       4.7 GB   
  • qwen2.5:7b 模型权重大小 4.7GB,运行 6G 显存就够。

  • qwen2.5:14b 模型权重大小 9GB,运行需要 11G 显存

  • qwen2.5:32b 模型权重大小 19GB,运行需要 24G 显存

注:单张 16G 显卡,只够跑 14b 模型,所以我这里用了两张 4080 跑 32b 模型,Ollama 会自动将模型分配到两张卡上。此外,如果启动一段时间没有调用,Ollama 会自动释放显存,简直不要太友好。

2.3 接入OneAPI

如果要接入兼容 OpenAI 格式的应用,可考虑将 Ollama 的模型接入 OneAPI。

不了解 OneAPI 的小伙伴,可参考这篇教程:OneAPI-接口管理和分发神器:所有大模型一键封装成OpenAI协议

新建一个渠道,把我们刚部署的三个模型接进来:

注意:渠道最后的代理位置,需要要填主机的公网 IP 地址

如果没有公网 IP 咋办?

可参考之前教程:【白嫖 Cloudflare】之 免费内网穿透,让本地AI服务,触达全球,把内网服务穿透出来。

2.4 推理速度对比

以下是 Ollama 原生调用:

Ollama 原生调用 -- GPU:
第1次调用:3.02秒, token/s:121.90
第2次调用:2.84秒, token/s:122.96
第3次调用:3.16秒, token/s:122.59
第4次调用:2.62秒, token/s:121.59
第5次调用:2.68秒, token/s:126.79
---
Ollama 原生调用 -- CPU:
第1次调用:36.59秒, token/s:11.59
第2次调用:34.16秒, token/s:13.94
第3次调用:32.24秒, token/s:12.78
第4次调用:40.60秒, token/s:13.08
第5次调用:22.18秒, token/s:13.93

可见 GPU 推理速度是 CPU 的 10+ 倍!

接入 OneAPI 是方便集成了,但速度会受影响么?

显然的。。。内网穿透,数据都经过海底隧道走了两圈了,能不慢么?来看看吧:

Ollama 接入 OneAPI -- localhost调用:
第1次调用:3.47秒, token/s:105.99
第2次调用:3.44秒, token/s:118.40
第3次调用:3.14秒, token/s:109.80
第4次调用:2.33秒, token/s:107.97
第5次调用:2.98秒, token/s:106.32
---
Ollama 接入 OneAPI -- 域名调用:
第1次调用:23.06秒, token/s:11.54
第2次调用:3.56秒, token/s:101.78
第3次调用:3.67秒, token/s:99.89
第4次调用:4.01秒, token/s:94.40
第5次调用:3.60秒, token/s:99.56

3. vLLM 部署实测

vLLM 只支持从 huggingface/modelscope 等平台下载的模型文件。

考虑到大家访问外网受限,ModelScope 提供了和 huggingface 类似的丝滑体验,我们就从 ModelScope 拉模型。

3.1 Qwen2.5 下载

前往:https://modelscope.cn/models/qwen/Qwen2.5-7B-Instruct

ModelScope 上下载模型有两种方式:

方式一:git lfs

git lfs install
git clone https://www.modelscope.cn/qwen/Qwen2.5-7B-Instruct.git

方式二:modelscope 命令

# 先安装ModelScope
pip install modelscope
# 下载完整模型
modelscope download --model qwen/Qwen2.5-7B-Instruct
# 如果只需下载单个文件
modelscope download --model qwen/Qwen2.5-7B-Instruct README.md

两种方式有什么区别?亲测速度没啥区别,方式二的优势是,可以实时显示下载进度,所以更推荐大家用方式二。

不过,这下载速度,相比 Ollma,简直不能忍👇

下载的模型默认保存在下面地址,7b 的模型占了 15G 磁盘空间。

~/.cache/modelscope/hub/qwen/Qwen2___5-7B-Instruct

3.2 vLLM 安装

参考文档:https://docs.vllm.ai/en/latest/getting_started/installation.html

如果你本地已准备好 CUDA12.1 环境,可采用如下命令一键安装:

pip install vllm

当前最新版 vllm-0.6.1,依赖torch-2.4.0,下载过程中会安装 nvidia_cudnn_cu12 等一众依赖,所以最好配合虚拟环境使用,耐心等吧!

3.3 vLLM 实测

参考文档:https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html

命令行一键启动 OpenAI 服务:

vllm serve ~/.cache/modelscope/hub/qwen/Qwen2___5-7B-Instruct --dtype auto --api-key 123 --port 3003 --tensor-parallel-size 2

单卡 16G 显存,加载 7b 模型,居然 CUDA out of memory 了?

你知道 Ollama 只需 6G 显存,懂的小伙伴帮忙评论区解释下~

无奈,只要加上--tensor-parallel-size 2,用两张卡并行跑吧。

终于,起来了,但看显存占用👇

这资源占用,用 Ollama 跑 32b 模型,不香?

资源占用大,难道推理速度要起飞?

来测了看看:

第1次调用:2.23秒, token/s:95.30
第2次调用:3.32秒, token/s:98.05
第3次调用:4.34秒, token/s:99.02
第4次调用:3.81秒, token/s:92.54
第5次调用:3.69秒, token/s:93.59

同样是 7 b 模型,和 Ollama 差距可不小。。。

还有什么理由用 vLLM?

写在最后

本文以 Qwen2.5 为例,实测了 Ollama/vLLM,回答了本地部署大模型该用哪款框架。

综合来看,Ollma 在存储、计算、效率三方面,均完爆 vLLM。

不知道大家体验咋样,欢迎评论区交流。

如果对你有帮助,不妨点赞收藏备用。


最近一直在打造微信机器人小爱(AI),目前也已接入 qwen2.5:32b

为方便大家交流,新建了一个 AI 交流群,欢迎对AIoTAI工具AI自媒体等感兴趣的小伙伴加入。

小爱(AI)也在群里,如需体验,公众号后台「联系我」即可,拉你进群。


猴哥的文章一直秉承分享干货 真诚利他的原则,最近陆续有几篇分享免费资源的文章被CSDN下架,申诉无效,也懒得费口舌了,欢迎大家关注下方公众号,同步更新中。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值