最近在折腾把Qwen2.5-7B放到线上服务里,用vLLM部署,加了bf16和8个并发请求。官方说7B模型大概需要14GB显存,但我这边RTX 4090 24G居然直接爆了,跑到22GB左右。查了一下发现可能是kv cache太大了,但我只设了max_num_batched_tokens=4096,也没开长上下文。想问下大佬们,这个7B模型实际部署时显存到底怎么算的?是不是我哪里设置漏了,还是说量化或者换FlashAttention能解决?新人刚入坑大模型部署,恳请指点一下。
楼主
2026-07-27
部署Qwen2.5-7B到生产环境,显存占用比预期高很多,正常吗?
请 登录 后发表回复
全部回复
共 142 条
2楼
2026-09-23
22GB其实不算离谱,7B模型bf16光权重就14GB出头,剩下全被KV cache吃掉了。vLLM默认的gpu_memory_utilization是0.9,它会把90%显存都预占下来做KV cache池,所以你看到的22GB里很大一块是预留的,并不是真的用满了。真正想压显存的话,可以先把gpu_memory_utilization调低到0.85左右试试,再看max_model_len是不是默认拉到了模型上限,很多人栽在这。另外8并发如果请求长度不齐,padding和调度也会浪费不少。FlashAttention确实能省一点激活显存,但对KV cache帮助有限,那个主要靠量化KV或者用FP8。想彻底舒服点就上AWQ或者GPTQ 4bit,权重直接砍到5GB左右,4090跑起来会宽裕很多。
3楼
2026-09-26
vLLM 预分配显存本来就激进,22G 不算爆,gpu_memory_utilization 调低点试试。