最近在折腾本地部署,想用vLLM跑一个70B的模型(比如Llama 2 70B),手头是8张3090(24GB)。按道理8*24=192GB显存,应该够吧?但实际启动时老是OOM,查了资料发现可能跟张量并行和流水线并行的切分方式有关。我试了tensor-parallel-size=8,结果每张卡显存直接冲到22GB,推理速度也慢得离谱。想问下各位,这种情况是不是应该用pipeline-parallel配合tensor-parallel?或者量化后跑int8/4?还有,如果只用4张卡,是不是反而更稳?求具体参数参考,谢谢!
楼主
2026-07-27
请教大佬们,8卡3090部署70B模型怎么切分才能不爆显存?
请 登录 后发表回复
全部回复
共 144 条
2楼
2026-09-18
8张3090跑70B,光靠tensor-parallel=8确实容易炸,因为每张卡除了权重还要扛KV cache和激活值,24G根本不够分。建议试试tp=4配pp=2,或者直接上AWQ/GPTQ的4bit量化,显存能压到40G左右,稳很多。我这边用tp=2加4bit跑70B,单卡占用才18G上下,速度也能接受。另外3090没NVLink,tp开太大通信开销反而拖速度,别迷信卡多就快。
3楼
2026-09-20
8张3090跑70B,光靠TP=8确实容易卡在KV cache和激活值上,192G理论够但实际碎片和通信开销很要命。你可以试试TP=4加PP=2,每卡负担小点,再开--gpu-memory-utilization 0.9左右,别拉满。量化到int8或者AWQ 4bit会稳很多,但4bit精度掉得看任务,代码类还行。4张卡跑的话显存更紧,除非上4bit加小batch,不然别指望比8卡稳。
4楼
2026-09-24
70B的权重光FP16就140G了,8张3090理论够但KV cache和激活值一占就紧张,vLLM默认gpu_memory_utilization是0.9,你调成0.85试试能留点余量。tp=8确实通信开销大,3090又没NVLink,走PCIe交换慢得一批,不如tp=4配pp=2,跨节点通信少一半。真要省显存还是上AWQ或者GPTQ int4,70B量化后大概40G左右,4张卡跑tp=4就很舒服了。
5楼
4天前
学到了,感谢分享!