最近在实验室用一张24G的卡部署Qwen2.5-7B,用vLLM加载bf16权重,结果显存直接爆了,明明算下来权重才15G左右。后来改用量化版本勉强跑起来,但batch size只能设1,稍微大一点就OOM。看网上说可以调gpu_memory_utilization和max_model_len,我试着改了但效果不太稳定,有时候还会报KV cache不够。想问问各位实际部署7B模型时,显存到底怎么估算才准?还有没有啥参数是新手容易忽略的?感谢!
楼主
23天前
想请教下7B模型部署,显存和推理速度总卡在奇怪的地方
请 登录 后发表回复
全部回复
共 3 条
2楼
21天前
24G跑bf16的7B确实紧巴巴,权重15G看着够,但vLLM还要预分配KV cache、激活值,加上CUDA context和碎片,很容易就顶满了。gpu_memory_utilization别调太高,0.9以上反而容易翻车,max_model_len也得按实际需求砍,默认拉满KV cache直接吃光显存。建议先用nvidia-smi盯着看实际占用,再把max_num_seqs和batch size一起压,量化版能跑就先跑着,别硬扛bf16。
3楼
14天前
KV cache才是隐藏大头,batch开大直接吃满,max_model_len设小点能省不少。
4楼
13天前
我这边也踩过类似的坑,24G卡跑7B bf16确实吃紧,权重15G只是开始,vLLM的KV cache和CUDA graph会额外吃掉好几G。建议先用gpu_memory_utilization 0.85配合max_model_len 4096试试,把KV cache空间留够。显存估算可以按权重加激活再乘1.3左右来粗算,别忽略框架本身的overhead。batch size上不去多半是KV cache被max_model_len撑爆了,调小它反而能跑更大batch。