手头只有一张3090 24G,想本地跑Qwen2.5-32B做点知识库问答。试了GPTQ-Int4和AWQ,加载完模型显存就占了22G多,稍微长一点的上下文直接OOM。看网上有人说能跑,但没给具体配置。是不是得开CPU offload?那速度又慢得没法用。或者换llama.cpp的GGUF格式会好点?有没有实际部署过的老哥分享下参数和实测速度,感谢!
3090单卡部署Qwen2.5-32B,量化到4bit后显存还是不够,大家怎么配的?
全部回复
共 5 条24G跑32B的4bit确实紧,KV cache再一涨就爆了。我这边用llama.cpp的Q4_K_M,n_gpu_layers设到45左右,剩下几层丢CPU,上下文能开4k,大概七八token每秒,能接受但别指望流畅。想全放显卡基本不可能,除非你把上下文压到1k以内,那知识库问答也没啥意义了。建议直接换14B或者试试双卡,单卡32B这活儿太勉强。
3090跑32B确实有点勉强,22G加载完基本没剩多少给KV cache了。我试过llama.cpp的Q4_K_M,显存能压到18G左右,8K上下文勉强能跑,但速度只有10 token/s上下。想流畅点还是得上双卡或者换14B,32B这尺寸单卡24G真的别硬撑。
这个思路不错,收藏了。
GGUF确实值得试,我用Q4_K_M跑32B大概占19G左右,剩的够2-4k上下文,速度大概8-10 tok/s。不过3090跑GGUF有点浪费卡,推理框架对CUDA优化不如vLLM。真要长上下文还是得AWQ加限制max_model_len,或者换14B/7B更实际。
24G跑32B的Int4确实卡在临界点上,22G加载完基本没给KV cache留多少空间,上下文一长必炸。GGUF的Q4_K_M会比GPTQ/AWQ省一点,但也就省个1-2G,别指望质变,真正能吃下长上下文还是得靠offload部分层到CPU,llama.cpp的--n-gpu-layers调到28-30层左右,剩几层扔CPU,配合--ctx-size 4096实测大概5-8 token/s,知识库问答这种场景勉强能忍。纯CPU offload全扔过去肯定不行,速度掉到1-2 token/s没法用,关键是把注意力层尽量留在GPU上。另外可以试试把KV cache量化成q8_0,能再省一截显存,对问答精度影响不大。真要追求速度还是建议换14B或者7B,32B在单卡3090上就是个能用但难受的状态。