8x4090 离线部署 Qwen2.5 求助
设备配置
显卡:8x4090 ,单张 24564MIB--约 24G 显存(单张可用 60%左右)
CentOS 7.6 ,已有 cuda 、python 、docker 环境
需求
暂时采用量化模型,Qwen2.5 32B q6 或者 q8 ( q4km 效果太差了)
多卡部署,想充分利用多卡 gpu
简易离线部署(优先级小于多卡部署),最好类似 docker 镜像直接保存的方式,也可以使用 python 离线依赖安装的方式,主打一个一次导入,导入太麻烦了。
最终需要一个类似open_webui的 web 方案
方案
当前单卡ollama+open_webui效果差,想堪比 gpt 4o (当然没必要太强)能用的程度。
llama.cpp 多卡好像支持不太好?
vllm 多卡部署好像不支持量化模型,不是很满足需求。
TGI 好像可以( Int4 、Int8 、AWQ )但是不太了解。
官方还提供 SkyPilot 、OpenLLM 但都不太了解
有没有一种好的方式快速部署
拿个 32B 开源想跟现在行业龙头 gpt 4o 比,你要给用户提供什么服务? 这种聊天机器人满大街都是
#1 自用,离线环境部署只能选 32B
8x4090 跑 ollama ,不如借给我用()(感兴趣可以联系 cXRiYm9zajVzQG1vem1haWwuY29t ,我可以帮你配置环境)
我个人的推荐是 lmdeploy + Qwen2.5 72B awq int8 ,响应速度很快,支持多卡,在 4xV100 上实跑 72B gptq int4 比 vllm 好用
vllm 文档是有量化实验特性支持的,可以试试好不好用: docs.vllm.ai/en/latest/quantization/auto_awq.html
8x24GB 为什么不上 72B ,是要考虑多用户使用的情况吗。
github.com/exo-explore/exo
#3 离线环境无法远程:)
感谢提供 LMdeploy (┌・ω・)┌✧
#4 好的,好像确实可以,就是配置麻烦,我对比一下
#5 用户数在 0-10 左右,不过确实可以上 72B ,我考虑下量化(服务器可能被用于跑其他深度学习,不好说)
#6 等多来几台服务器试试集群(),目前环境较为封闭,可用设备只有一台 8x4090
lmdeploy≈sglang>vllm ,个人偏好是这样
可以试下 sglang
- 为什么单张可用 60%? 把其他任务都集中到 4 张显卡上,剩余 4 张用于跑 72b-awq 。多卡不建议超过 4 张,因为通信成本。
- vllm 支持量化模型的。生产上用的最多的就是 vllm ,然后是 sglang (但是个人体感 sglang 比 vllm 稳定一些,因为版本都在不断迭代,所以仅是时效性的使用感受)。ollama 基于 llama.cpp ,这个项目最初就是用于在资源有限环境把模型 offload 到内存里跑起来的,一般就是个人玩具使用。
- 喜欢一键的话,可以试一下 xinference ,有 docker 镜像,挺好用。
web 方案其实是各种 web client + openai style api ,各个推理引擎以 openai style api 将接口提供出来,兼容各类应用。
用 32B Q8 远不如 72B Q4 。参数量带来的提升远大于提升精度
Ollama 是 llama.cpp 的一个前端。
llama.cpp 支持多 GPU ,但不支持张量并行,单一并发同时只有一张卡在跑,多卡还有通信的开销,所以会比单卡还慢(前提是单卡的显存足够放模型)。
vLLM 支持在多卡上推理量化模型。
4-bit 的 Qwen2.5 72B 应该比未量化的 Qwen2.5 32B 要好。
Qwen2.5 可以试试用同系列的小参数量模型做推测解码( Speculative decoding ),应该会快不少。
我 8 张 3080 的跑 qwen2.5:72b-instruct-q8_0 都没问题呀
#16 我用的就是 ollama+open_webui 的方案
学习了几个月下来,ray server 或者 kuberay 蚂蚁字节都在用,万卡级别部署
可以试一下: github.com/xorbitsai/inference
目前多卡用的 ollama+open_webui 的方案(以前用的 lobe-chat ,现在替换成了 open_webui )。
使用的 ollama.com 提供的量化后的 qwen2.5 72b q4km ,针对常规的提示词工程的任务,对比询问了同样的问题,72b 相比于单卡就能带动的 qwen2.5 32b q4km 有明显的效果提升。不过多卡明显感觉有特别高的通信成本,远没有单卡响应速度快(显卡是几年前的,实际使用的 PCIe3 )。
之前常用 qwen2.5 32b q4km ,最近几天切换成了 qwen 的 qwq:32b q4km 模型,感觉推理能力有稍微加强。(以上体验都是主观评价,没跑过 benchmark ,仅作参考)
建议:
- 试试 qwen2.5 72b q4km ,内存占用大概 59GB ,体验提升明显,可能比精度带来的提升来的更快更直接
- 如果 8 张 4090 资源只能分出来一小部分使用,试试 qwq:32b
- 你这 8 张都能用上的话,可以试试 deepseek-v2.5:236b
如果本地化部署不是任务的必要条件,那么 chatgpt/claude 仍然是目前的最优解, 4o 免费的目前已经有自我反思能力,能够回答问题过程中发现错误打断自己重新回答,而这些我是在其他模型中没有体验到的
#11
#12
感谢推荐 sglang !#13
- 感谢建议,会着手解决
- ollama 感觉确实是玩具 hh
- 感谢推荐,我去了解一下
确实,感觉现成的 open_webui 就行,兼容 openai api
#14 多谢!这就去上 72B
#15
ollama 确实不适合多卡。
目前方案是 LMdeploy ,比 vllm 好
我去用 72B 了哈哈
还是大参数量好,充分利用 gpu
#17 ollama 多卡不太行吧
#19 好的,感谢推荐!
#20
- q4km 量化多卡不太合适,目前尝试 72B awq 量化+LMdeploy ,参数级提升应该大于精度提升
- 我协调一下显卡使用,应该能合理分配,毕竟多卡通信存在速度损失
- qwen2.5 优于 deepseek 吧
本地部署必要,100%无法联网,4o 还是太成熟了
#18 我是一台机器多卡,暂时没有分布式条件,可能没有表述清楚
开发笔记 - 博客地址 Github - VaalaCat/frp-panel 最近实在是想要一个 webui 的 frp ,之前的 nps 又太老了一堆 bug 不太敢用…
下面一组有趣的Web示例,这些示例使用Web的一些很“土”控件做出一些很有趣的玩意儿。原来,编程是可以用来玩的,看看这些玩程序的人搞出的这些有意思的玩意,简直是玩得太有意思了。…
一位长者,紧急求助与我,安卓手机: 卸载软件,不小心把微信卸载了,新装如何恢复旧的记录。(没有预先备份的) 提示:使用第三方软件或者各种黑科技都行。 如果平时也有用电脑端微信…