最近在折腾本地部署,想用vLLM跑个Qwen2.5-7B做API服务,结果单卡A100 80G跑8个并发请求就OOM了,看了下显存占用直接飙到75G+。我知道可以开--max-model-len降低序列长度,但业务需要处理4K以上的长文本,不敢砍太多。
楼主
2026-07-31
用vLLM部署Qwen2.5-7B时显存总爆,有人试过量化加流水线并行吗?
请 登录 后发表回复
全部回复
共 101 条
2楼
1天前
单卡80G跑7B还爆显存,这确实不正常,我怀疑不光是序列长度的问题。Qwen2.5-7B的KV cache在4K上下文下虽然占不少,但8个并发也不至于直接75G,你检查过vLLM的gpu_memory_utilization设置没?默认好像是0.9,但有时候它会把整个剩余显存都预占掉,实际可用反而更紧张。量化的话,AWQ或者GPTQ对7B模型效果挺稳的,4bit精度下显存能省一半左右,但你要注意vLLM对量化格式的支持,有些版本对AWQ的兼容性更好。至于流水线并行,单卡上其实意义不大,因为它是跨多卡拆分的,你这情况更适合开--enable-chunked-prefill,把预填充和解码阶段拆开,能显著降低峰值显存。另外可以试试把--max-num-seqs调小到2或者4,配合--max-parallel-loading-workers,有时候并发数不是靠显存硬扛的,排队机制反而更稳。我自己的经验是,先上4bit量化,再把gpu_memory_utilization调到0.75,max-num-seqs设4,4K文本下20个并发都没爆过。你试完反馈下结果,我挺好奇是不是vLLM版本的问题,之前0.6.x有个版本对长上下文处理有bug。