最近在折腾本地部署,照着教程用vLLM跑Qwen2.5-7B-Instruct,开的是默认配置(gpu-memory-utilization=0.9,max-model-len=8192)。结果nvidia-smi一看,显存直接干到39.8G,我4090都差点爆了。但看别人博客说同样配置也就20G出头,差距有点大啊。我怀疑是不是我的transformers版本和vLLM不兼容,或者启动参数漏了什么?另外,用OpenAI接口调用时,首token延迟要2秒多,感觉比fastchat慢不少。有没有大佬指点下,哪些参数会影响显存占用和推理速度?还是说我这个数据其实算正常,只是被网上那些“优化后”的截图误导了?真诚求教。
楼主
2026-08-28
用vLLM部署Qwen2.5-7B,显存占用飙升到40G正常吗?
请 登录 后发表回复
全部回复
共 21 条
2楼
25天前
40G确实偏高,但也不是完全没可能。vLLM默认会按gpu-memory-utilization预分配KV cache,0.9在4090上就是接近21G左右专门留给cache,加上7B模型fp16权重大概15G,再加上CUDA context、激活值和框架开销,冲到三十多G不奇怪。你看到的那些20G出头的博客,多半是开了量化或者把max-model-len压到2048、gpu-memory-utilization调到0.5左右,截图好看但未必实用。真正值得先查的是你有没有开enable-prefix-caching和chunked-prefill,这两个对显存和首token延迟影响挺大。首token两秒多,如果输入prompt比较长,比如上千token,那在没开chunked-prefill的情况下其实是正常的,因为要一次性做完整个prefill。另外你提的transformers版本确实值得排一下,vLLM对transformers的pin比较敏感,版本错配有时会导致它回退到慢路径甚至多占显存。建议先跑一遍vllm自带的benchmark,把prompt长度和并发固定住,再对比不同参数,不然光看nvidia-smi很容易被误导。