最近想本地跑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到底要几张卡?显存爆了求老哥指点
全部回复
共 21 条实测过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先验证下再买卡,别急着下单。
我之前也卡在这上面,最后是4张A100 80G跑AWQ才勉强塞下,KV cache那玩意儿确实吃显存,你可以试试把rope_scaling和max_model_len砍到4k,长文本分段处理,能省不少。Llama3 70B比Qwen2.5同量化下显存占用低个10%左右,但效果差挺多的,不建议换。CPU offload就别想了,我试过,batch=1都得等十几秒一个请求,长文本直接分钟级。建议先看看能不能租到H20或者L40S,性价比比A100高不少,实在不行就上量化到2bit,就是质量崩得厉害。
AWQ 4bit都飙到60G+说明你主要卡在KV cache上,8k上下文对72B来说确实吃紧,试试把max_model_len砍到4k或者开vLLM的--enable-chunked-prefill,能省不少。单卡跑GGUF Q4的I量化版本我试过,配4090能勉强进24G,但速度大概只有5-6 token/s,长文本基本没法用。offload到CPU别指望太多,延迟翻十倍起步,做离线批处理还行。Llama3 70B比Qwen2.5同量化下能省10G左右显存,但长文本能力会差一截,看你更看重哪头。生产环境最稳的其实是两张A100跑tensor parallel,比四张效率高,成本还能省一半。
别纠结几张卡了,直接上8卡A100,4卡跑长文本就是给自己找罪受,offload慢到你怀疑人生。
实测8卡A100跑8k上下文稳,KV cache吃显存,开PagedAttention能省不少,别碰offload,慢到怀疑人生。
72B的KV cache确实是吞金兽,8k上下文按FP16算每token要占不少,你4bit权重省的那点显存根本扛不住。我之前用双卡4090跑AWQ,把kv cache dtype设成fp8才勉强稳住,但长文本一上就跪。Llama3 70B显存压力差不多,GQA架构能省点KV cache但权重还是那体积。CPU offload速度大概掉到1-2 token/s,做实验勉强能忍,生产就算了。
AWQ 4bit加载就60G+不太正常,权重本身也就40G出头,你vLLM的gpu_memory_utilization是不是默认0.9把卡吃满了?KV cache在8k上下文下72B确实很吃显存,试试把它压到0.85再限制max_num_seqs=1。换Llama3-70B压力差不多,架构几乎一样,别指望省多少。真要省卡就上GGUF Q4_K_M配llama.cpp,offload到CPU后大概每秒3-5个token,长文本总结能忍但交互就别想了。