最近想本地跑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到底要几张卡?显存爆了求老哥指点
全部回复
共 14 条实测过4×A100 80G跑Qwen2.5-72B AWQ,batch=1、8k上下文,KV cache确实吃满,但把max_num_seqs调成1、加--enable-chunked-prefill能压到52G左右,4卡勉强够。Llama3-70B同量化下显存低大概10%,但长文本效果明显不如Qwen。offload到CPU真别试,单token延迟能到5秒以上,做总结任务会等到怀疑人生。实验室经费有限的话,建议直接租按小时的云GPU,比买卡划算多了。
vLLM的KV cache确实吃显存,8k上下文在72B上单卡基本没戏,我这边4卡A100跑7B都要预留20G给KV。你要是只做长文本总结,可以试试把上下文砍到4k,或者用H2O那类KV cache剪枝,能省一半还多。Llama3-70B和Qwen2.5-72B半斤八两,别指望换模型能救命。offload到CPU的话,batch=1大概每秒出2-3个token,基本没法用,实验室经费有限的话建议直接租云上8卡A100按小时跑,比自己买划算。
量化救不了长文本的,KV cache才是真吃显存,8k上下文AWQ也得60G+,建议直接上SGLang开chunked prefill,能省不少。Llama3 70B比Qwen2.5同尺寸略轻一点,但差距不大,别指望换模型能解决问题。offload到CPU的话,速度大概掉到每秒两三个token,做长文本总结基本没法忍,除非你拿来做夜间批处理。真要单卡跑,试试把上下文砍到4k,或者用streaming attention那类稀疏注意力,能压到40G左右,但精度会有损失。
同款问题,我最后是8卡A100 80G才跑稳的,4卡就算量化了也悬,主要就是KV cache太吃显存。老哥试试把context砍到4k,或者用--kv-cache-dtype fp8,能省不少。Llama3 70B比Qwen2.5稍微友好一点,但差距不大,别指望换模型能救。CPU offload我试过,速度慢到怀疑人生,一个短文档总结能等几分钟,只能应急用。建议直接上8卡,或者看看能不能租云GPU,实验室经费紧张的话更得算清楚时薪。
这题我熟,刚用8卡A800跑过Qwen2.5-72B,AWQ 4bit下context 8k大概占了58G每卡,但KV cache确实吃紧,建议把--max-num-seqs调低到64,再开下--enable-chunked-prefill,能省不少显存。Llama3-70B同量化下比Qwen能少5-8G,但长文本能力明显弱一截。CPU offload真别试,我测过延迟能到8秒/token,基本告别实时交互,实验室经费有限的话,租两张L40S也比offload强。
别纠结8卡了,你这情况明显是KV cache在作妖,8k上下文对72B来说本身就吃显存。我生产环境是4卡A100 80G,AWQ量化+把vLLM的gpu_memory_utilization调到0.9,prompt缓存开着,勉强能跑16k,但并发一高就抖。Llama3-70B比Qwen2.5省大概10%显存,但长文本能力差一截,你如果主要做总结还是别换。offload到CPU试过,速度惨到每秒两三个token,基本没法用,除非你纯离线跑。建议先用GPTQ的4bit配合nvme的swap试试,或者干脆租几台MIG实例摸清上限再买卡。
说实话你这情况我太懂了,72B的AWQ 4bit看着显存算得挺美,但实际跑起来KV cache加activation直接教你做人,8k上下文60G真不夸张。我这边生产环境是4卡A100 80G,vLLM开tensor parallel,batch_size=1,上下文压到4k才能稳,8k就得5张卡。Llama3 70B的显存压力确实小一点,但也就省个10%左右,解决不了根子问题。CPU offload建议别碰,我用过,速度慢到怀疑人生,一个1000字的总结能等三分钟,除非你拿来做离线批处理否则纯折磨。真想单卡跑,试试把KV cache量化打开,加上--kv-cache-dtype fp8,能省不少,但长文本还是悬。
别光盯着AWQ,4bit下60G很正常,因为你没开vLLM的--kv-cache-dtype fp8,这玩意儿能砍掉小一半缓存。我生产用4卡A100 80G跑72B,tensor parallel=4,max-model-len设4096,batch动态8,稳得很,8k上下文纯属自己给自己上难度。Llama3 70B比Qwen同尺寸省不了多少,关键看激活层计算,建议直接上GQA的模型,比如Qwen2.5-57B,两卡就够。offload到CPU就别想了,我试过,长文本生成速度能慢到每秒0.3 token,等于看PPT。
你这情况太真实了,KV cache确实是72B的隐形杀手,8k上下文在4bit下也得吃20多G。我生产环境是4张A100跑AWQ,但得把max_model_len砍到4k才稳,batch_size=1时vLLM照样预分配显存,建议试试--kv-cache-dtype=fp8能省不少。Llama3-70B同量化下压力小大概15%,但长文本能力明显不如Qwen。offload到CPU我试过,batch=1时延迟能到5秒/token,基本只能拿来验证输出格式。预算有限的话,不如直接租按小时的云GPU,比买卡划算。
试过同样配置,AWQ 4bit加载时峰值显存确实吓人,但问题多半出在KV cache上,8k上下文对72B来说太奢侈了。建议把max_model_len砍到4k,或者开vLLM的prefix caching,实测能省10-15G。Llama3-70B比Qwen同规模省一点,但差距不大,主要看注意力实现。CPU offload别碰,单token能给你拖到秒级,除非你只跑离线任务。经费有限的话,租卡按小时算,先拿8卡A100试一轮,记下实际吞吐再决定买断。
8k上下文加KV cache确实吃显存,72B这规模就别指望单卡了,4张A100跑4bit AWQ应该是够的,但vLLM默认的KV cache策略偏保守,建议手动调一下gpu_memory_utilization到0.9试试。Llama3-70B比Qwen2.5-72B在同等量化下大概能省10-15%显存,但长文本能力会明显弱一截。CPU offload真别轻易碰,我测过速度能掉到2-3 token/s,基本没法用。你要实在经费紧张,不如考虑下Qwen2.5-32B加长上下文的方案,精度损失换实用。
量化救不了KV cache,换MHA改GQA的模型或者直接砍上下文吧,offload到CPU慢到怀疑人生。
建议直接上8卡A100,4卡跑8k上下文确实紧,KV cache占大头无解。offload到CPU慢到怀疑人生,别折腾。
说个实测数据给你参考下,我们这边用AWQ 4bit跑72B,单卡A100 80G硬上确实能塞进去,但上下文一旦超过4k就疯狂触发swap,速度掉到大概每秒5个token,基本没法用。后来改成2卡张卡各分一半,用张量并行,8k上下文稳定在20 tokens/s左右,显存占用每张卡65G左右,你可以试试这个方向。KV cache这块儿其实可以用--kv-cache-dtype fp8,vLLM新版本支持,能省差不多15%显存,代价是极轻微精度损失,做总结任务根本看不出来。Llama3 70B别指望压力小多少,架构差不多,AWQ后显存差距可能就3-4G,反而Qwen的长文本能力更强,不如死磕Qwen。offload到CPU实在不推荐,除非你跑离线任务,不然等你上生产就知道多痛苦了,延迟能到分钟级。最后建议你把实验室预算花在刀刃上,租云GPU先验证下再买卡,别急着下单。