8x4090 离线部署 Qwen2.5 求助 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fid
V2EX    Local LLM

8x4090 离线部署 Qwen2.5 求助

  •  
  •   fid 314 天前 4501 次点击
    这是一个创建于 314 天前的主题,其中的信息可能已经有所发展或是发生改变。

    设备配置

    • 显卡: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 但都不太了解

    有没有一种好的方式快速部署

    第 1 条附言    312 天前

    致谢

    感谢 @Leon6868 @Azure99 提供的lmdeploy工具,使用conda-pack成功迁移离线部署。 感谢 @Leon6868 @GPLer @mythabc @kenvix @oldfans 提到的72B模型,当前尝试是官方Qwen2.5-72B-Instruct-AWQ模型,可惜官方没有8bit AWQ量化。

    方案

    采用conda-pack离线部署lmdeploy。

    原因:支持多卡,性能高

    采用Qwen2.5-72B-Instruct-AWQ模型(4 bit)

    原因:与GPTQ相比,AWQ可以显著提高推理速度,同时保持类似甚至更好的性能。

    体验

    • 短token很顺滑,几乎秒出答案;长token等个10s左右也能出答案,完全没有32B_q4那样混乱的答案,结果很清晰。
    • 单人使用时,8x4090,单张GPU占用78%-90%左右,可以了

    需求

    • 暂时没有其他需求了,可能就是更少的内存更优的体验?不过感觉已经能充分利用显卡了,爽
    40 条回复    2024-12-04 17:59:09 +08:00
    qiniu2025
        1
    qiniu2025  
       314 天前
    拿个 32B 开源想跟现在行业龙头 gpt 4o 比,你要给用户提供什么服务? 这种聊天机器人满大街都是
    fid
        2
    fid  
    OP
       314 天前
    @qiniu2025 #1 自用,离线环境部署只能选 32B
    Leon6868
        3
    Leon6868  
       314 天前   1
    8x4090 跑 ollama ,不如借给我用()(感兴趣可以联系 cXRiYm9zajVzQG1vem1haWwuY29t ,我可以帮你配置环境)

    我个人的推荐是 lmdeploy + Qwen2.5 72B awq int8 ,响应速度很快,支持多卡,在 4xV100 上实跑 72B gptq int4 比 vllm 好用
    mmjy
        4
    mmjy  
       314 天前
    vllm 文档是有量化实验特性支持的,可以试试好不好用: https://docs.vllm.ai/en/latest/quantization/auto_awq.html
    GPLer
        5
    GPLer  
       314 天前 via Android
    8x24GB 为什么不上 72B ,是要考虑多用户使用的情况吗。
        6
    Livid  
    MOD
    PRO
       314 天前   1
    Livid
    fid
        7
    fid  
    OP
       314 天前
    @Leon6868 #3 离线环境无法远程:)
    感谢提供 LMdeploy (┌·ω·)┌
    fid
        8
    fid  
    OP
       314 天前
    @mmjy #4 好的,好像确实可以,就是配置麻烦,我对比一下
    fid
        9
    fid  
    OP
       314 天前
    @GPLer #5 用户数在 0-10 左右,不过确实可以上 72B ,我考虑下量化(服务器可能被用于跑其他深度学习,不好说)
    fid
        10
    fid  
    OP
       314 天前
    @Livid #6 等多来几台服务器试试集群(),目前环境较为封闭,可用设备只有一台 8x4090
    Azure99
        11
    Azure99  
       314 天前   1
    lmdeploy≈sglang>vllm ,个人偏好是这样
    Fanhz
        12
    Fanhz  
       314 天前
    可以试下 sglang
    mythabc
        13
    mythabc  
       314 天前   1
    1. 为什么单张可用 60%? 把其他任务都集中到 4 张显卡上,剩余 4 张用于跑 72b-awq 。多卡不建议超过 4 张,因为通信成本。
    2. vllm 支持量化模型的。生产上用的最多的就是 vllm ,然后是 sglang (但是个人体感 sglang 比 vllm 稳定一些,因为版本都在不断迭代,所以仅是时效性的使用感受)。ollama 基于 llama.cpp ,这个项目最初就是用于在资源有限环境把模型 offload 到内存里跑起来的,一般就是个人玩具使用。
    3. 喜欢一键的话,可以试一下 xinference ,有 docker 镜像,挺好用。
    4. web 方案其实是各种 web client + openai style api ,各个推理引擎以 openai style api 将接口提供出来,兼容各类应用。
    kenvix
        14
    kenvix  
       314 天前   2
    用 32B Q8 远不如 72B Q4 。参数量带来的提升远大于提升精度
    oldfans
        15
    oldfans  
       313 天前
    Ollama 是 llama.cpp 的一个前端。

    llama.cpp 支持多 GPU ,但不支持张量并行,单一并发同时只有一张卡在跑,多卡还有通信的开销,所以会比单卡还慢(前提是单卡的显存足够放模型)。

    vLLM 支持在多卡上推理量化模型。

    4-bit 的 Qwen2.5 72B 应该比未量化的 Qwen2.5 32B 要好。

    Qwen2.5 可以试试用同系列的小参数量模型做推测解码( Speculative decoding ),应该会快不少。
    DreamingCTW
        16
    DreamingCTW  
       313 天前
    我 8 张 3080 的跑 qwen2.5:72b-instruct-q8_0 都没问题呀
    DreamingCTW
        17
    DreamingCTW  
       313 天前
    @DreamingCTW #16 我用的就是 ollama+open_webui 的方案
    wantstark
        18
    wantstark  
       313 天前
    学习了几个月下来,ray server 或者 kuberay 蚂蚁字节都在用,万卡级别部署
    woscaizi
        19
    woscaizi  
       313 天前
    Les1ie
        20
    Les1ie  
       313 天前
    目前多卡用的 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 ,仅作参考)
    建议:
    1. 试试 qwen2.5 72b q4km ,内存占用大概 59GB ,体验提升明显,可能比精度带来的提升来的更快更直接
    2. 如果 8 张 4090 资源只能分出来一小部分使用,试试 qwq:32b
    3. 你这 8 张都能用上的话,可以试试 deepseek-v2.5:236b
    4. 如果本地化部署不是任务的必要条件,那么 chatgpt/claude 仍然是目前的最优解, 4o 免费的目前已经有自我反思能力,能够回答问题过程中发现错误打断自己重新回答,而这些我是在其他模型中没有体验到的
    fid
        21
    fid  
    OP
       313 天前
    @Azure99 #11
    @Fanhz #12
    感谢推荐 sglang !
    fid
        22
    fid  
    OP
       313 天前
    @mythabc #13
    1. 感谢建议,会着手解决
    2. ollama 感觉确实是玩具 hh
    3. 感谢推荐,我去了解一下
    4. 确实,感觉现成的 open_webui 就行,兼容 openai api
    fid
        23
    fid  
    OP
       313 天前
    @kenvix #14 多谢!这就去上 72B
    fid
        24
    fid  
    OP
       313 天前
    @oldfans #15
    ollama 确实不适合多卡。

    目前方案是 LMdeploy ,比 vllm 好

    我去用 72B 了哈哈

    还是大参数量好,充分利用 gpu
    fid
        25
    fid  
    OP
       313 天前
    @DreamingCTW #17 ollama 多卡不太行吧
    fid
        26
    fid  
    OP
       313 天前
    @woscaizi #19 好的,感谢推荐!
    fid
        27
    fid  
    OP
       313 天前
    @Les1ie #20
    1. q4km 量化多卡不太合适,目前尝试 72B awq 量化+LMdeploy ,参数级提升应该大于精度提升
    2. 我协调一下显卡使用,应该能合理分配,毕竟多卡通信存在速度损失
    3. qwen2.5 优于 deepseek 吧
    4. 本地部署必要,100%无法联网,4o 还是太成熟了
    fid
        28
    fid  
    OP
       313 天前
    @wantstark #18 我是一台机器多卡,暂时没有分布式条件,可能没有表述清楚
    liu731
        29
    liu731  
    PRO
       313 天前
    礼貌请问 OP 内存( RAM )多大,学习下。
    fid
        30
    fid  
    OP
       313 天前
    @liu731 显卡内存 8x24g ,正文写了的
    DreamingCTW
        31
    DreamingCTW  
       313 天前
    @fid #25 还行吧,还得看你硬件的融合方案
    lixile
        32
    lixile  
       313 天前
    一样的配置 近似版本的系统
    32B 对我来说 也几乎没办法使用 内网下还是太弱
    楼主 72B 部署成功的话 记得反馈一下方案 和实际效果 我就对照着部署一下
    kennylam777
        33
    kennylam777  
       312 天前
    的直接用 ExLlama2 呀, 量化有 2/3/4/5/6/8 bit, 支援多卡, 自或手整 VRAM 分配, 用 text-generation-webui, 生境用 TabbyAPI 即可有 OpenAI compatible API, Concurrent inference with asyncio 能同理多求增加吞吐量。

    我就在用配 3090 跑 Qwen2.5 32B 8bit 量化, 32K context window 全也足了, 8 4090 能直接跑 72B 不量化吧, 但 PCIe 有。
    kennylam777
        34
    kennylam777  
       312 天前
    一提, 我用 4090 已能跑 Qwen2.5 72B 的 ExLlamav2 量化程式(convert), 4/5/6bits 等等模型在本地便生成, Huggingface 上也有很多已量化好的 exl2 模型
    fid
        35
    fid  
    OP
       312 天前
    @lixile #32 8 卡同时跑大概每张卡占用 20-30%,占用率还是非常低的,使用的是 awq int4 ,使用体验很顺滑
    fid
        36
    fid  
    OP
       312 天前
    @kennylam777 #33 目前方案是 8x4090+Qwen2.5-72B-Instruct-AWQ+lmdeploy ,体验良好,占用低
    fid
        37
    fid  
    OP
       312 天前
    @fid #35

    @lixile #32
    更正,8x4090 单张 78-90%占用
    fid
        38
    fid  
    OP
       312 天前
    @kennylam777
    @lixile
    可以查看最新 append
    fid
        39
    fid  
    OP
       312 天前
    @mythabc 4 卡应该不太够用,可以看看最新 append
    fid
        40
    fid  
    OP
       312 天前
    @Les1ie @mythabc @Leon6868 当前配置还有必要优化吗
    关于     帮助文档     自助推广系统     博客     API     FAQ   /span>   Solana     1499 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 16:22 PVG 00:22 LAX 09:22 JFK 12:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86