最近想本地跑Qwen2.5-72B做长文本总结,查了一圈资料有点懵。有的说4张A100够,有的说8张才稳,还有人说用GGUF量化能压到单卡。我试了AWQ 4bit量化,加载时显存直接飙到60G+,用的vLLM,batch_size已经调到1了,上下文长度设8k,还是OOM。看日志好像KV cache占了大头。有没有实际部署过的老哥,说下你们的生产配置?另外,如果换成70B的Llama3,显存压力会小一点吗?或者有没有什么技巧,比如offload到CPU,但推理速度慢到什么程度?求真实数据,别让我瞎试了,实验室经费有限。
部署Qwen2.5-72B到底要几张卡?显存爆了求老哥指点
全部回复
共 28 条72B的AWQ 4bit光权重就差不多40G了,你8k上下文KV cache在vLLM里按fp16算,72层每层8个KV头,8k长度大概还要十几G,60G+很正常。4张A100 80G跑AWQ 4bit加8k上下文是够的,但并发基本别想,想稳一点还是8卡。Llama3 70B压力差不多,别指望省多少。真要省钱就上GGUF Q4_K_M配llama.cpp,offload部分层到CPU,速度大概掉到每秒几个token,做离线总结能忍,交互就算了。
AWQ 4bit还OOM,大概率是KV cache没算对,8k上下文72B的cache本身就不小。Llama3 70B显存压力差不多,不如试试vLLM的gpu_memory_utilization调低点或开chunked prefill。
72B用AWQ 4bit单卡确实不现实,光权重就36G左右,加上8k上下文的KV cache,60G打不住很正常。我之前双卡A100 80G跑vLLM,上下文开到16k,batch也就勉强到4。Llama3 70B显存压力差不多,架构几乎一样,别指望省多少。offload到CPU速度会掉到个位数token/s,长文本总结基本没法用,经费紧的话建议先租卡验证配置。
72B 4bit权重就快40G了,8k上下文KV cache确实顶不住,试试降到4k或者上双卡。
72B的KV cache才是大头,你8k上下文单卡肯定扛不住,换Llama3-70B也省不了多少,不如试试CPU offload,慢是慢但能跑起来。
AWQ 4bit权重才36G左右,60G+基本都是KV cache吃的,把gpu_memory_utilization调低点试试。
72B这个体量,AWQ 4bit权重本身大概就40G左右,你加载完飙到60G+,那多出来的基本就是KV cache和vLLM预分配的激活显存。8k上下文按72B的GQA配置算,单条序列的KV cache可能就要好几个G,vLLM默认还会按max_model_len预扣一大块,你batch_size调到1也没用,因为它预留的是峰值。想稳跑的话,4张80G的A100/H100做4bit推理是比较现实的底线,8张那是要上fp16或者大batch才需要。Llama3 70B和Qwen2.5-72B显存压力其实差不多,都是GQA,KV cache量级接近,别指望换模型能省多少。offload到CPU确实能救急,但token生成速度会掉到个位数,长文本总结这种场景基本没法忍。真要省钱,建议先降到32B或者用更激进的量化,长文本总结对模型规模的敏感度没那么高。
72B的KV cache确实是大头,你8k上下文按FP16算,每token每层2×2×80×128字节,光cache就几十G,量化权重省的那点根本不够看。试试把KV cache也量化成int8,vLLM加--kv-cache-dtype fp8,能砍掉一半,但精度会掉一点。Llama3 70B结构上GQA比Qwen2.5的GQA更激进,KV head更少,同样上下文能省不少显存,不过权重加载差不多。CPU offload我用过,速度大概降到原来的1/5到1/10,长文本总结这种吞吐场景基本没法忍,不如直接租云卡按小时算。