当大模型的参数量过大,单张显卡的显存无法装下大模型时,我们不得不考虑使用多卡来部署大模型。vLLM主要通过 Tensor Parallelism (张量并行) 来实现多卡部署,从而解决单卡显存限制。

  • 原理: vLLM 在加载模型时,会将模型中的线性层(如 QKV 投影、FFN)的权重横向切分到集群中的多张 GPU 上。
  • VRAM 占用: 如果您使用 4 张 GPU,每张 GPU 大约只需要存储 1 / 4 1/4 1/4 的模型权重。
  • 用途: 这种方法不仅解决了 VRAM 限制,而且由于计算任务也被并行化,还能显著提高推理吞吐量
  • 限制: 目前 vLLM 的 Tensor Parallelism 仅限于单台机器内部(多张 GPU 在同一个节点上)。

之前使用vLLM测试过3090和4090两张显卡大模型单卡推理的性能比较:

vLLM大模型推理场景显卡性能实测

这里使用vLLM测试下多卡推理场景下3090和4090两张显卡的性能表现。

还是在AI算力租赁平台 晨涧云 分别租用3090显卡和4090显卡的vLLM云容器,实例配置选择两张显卡进行测试。

大模型选择

选择 Qwen3-14B的模型进行测试,3090和4090 都是单卡24G显存,使用两张显卡进行部署。

让大模型帮忙写个测试脚本,控制部署和推理的参数一致:

  • 使用复杂度近似的N个prompts;

  • MAX_TOKENS配置256,让每次请求需要一定的生成时长便于采样显卡的使用指标,减少波动;

  • 选择[1, 4, 8, 16] 4种BATCH_SIZES测试不同并发度下的性能表现;

  • 每轮测试执行3次推理,指标取平均;

  • 同时需要模型预热,消除第一次推理响应延时过大的问题;

  • 显卡的显存占用和GPU使用率指标使用两卡相加的值。

执行测试脚本,查看输出结果:

3090多卡推理测试

vLLM多卡推理-3090

4090多卡推理测试

vLLM多卡推理-4090

测试结果解释

  • Batch Size:一次推理调用的并发prompt数量

  • 平均耗时 (s):多次推理平均响应时长

  • 平均吞吐量 (tokens/s):多次推理平均Token生成速度

  • 平均显存 (MB):多次推理平均显存使用量,两卡相加

  • 平均GPU使用率(%):多次推理平均GPU使用率,两卡相加

3090显卡和4090显卡在多卡模型推理过程中的显存和GPU使用率都比较接近,主要看平均耗时平均吞吐量两个指标:

Batch Size 指标 双卡 3090 双卡 4090 对比
1 平均耗时(s) 5.65 4.72
1 平均吞吐量(tokens/s) 45.3 54.3 119.9%
4 平均耗时(s) 6.15 4.81
4 平均吞吐量(tokens/s) 166.5 213.0 127.9%
8 平均耗时(s) 6.84 5.01
8 平均吞吐量(tokens/s) 291.9 398.7 136.6%
16 平均耗时(s) 8.28 5.47
16 平均吞吐量(tokens/s) 491.2 748.2 152.3%
  • 从平均耗时来看,4090在1~8的较低并发度下耗时较为稳定,性能接近线性增长,16并发度下面略微衰减;3090在1~8较低并发度下耗时逐步增加,并且在16并发度下耗时明显增大,性能衰减比4090更加明显。

  • 平均吞吐量指标也能说明相应的情况,对比数据可以看出4090和3090在1~16的并发度下面,差异被逐渐拉大,16并发度下面4090的性能是3090的1.5倍左右。

比较及选择

  1. 4090延迟更稳定:4090在1~8并发度下平均耗时基本接近,4090凭借更强的核心和更大的L2缓存,小并发场景延迟较为稳定。

  2. 4090具备更高吞吐:4090的Tokens/s输出率在高并发下远超3090,效率提升最高可达50%+!这意味着同时服务更多用户,响应更快。

  3. 性价比选择:如果是个人学习/轻度使用,二手的3090性价比无敌;如果是企业级项目部署,希望对外提供服务或者追求极致效率,直接上4090!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐