3、深度学习推理卡选型:NVIDIA T4 vs A10 vs A100,如何根据模型吞吐量选择

说实话,每次有朋友问我「该买哪张卡」,我都得先反问一句:你跑什么模型?吞吐量要求多少?预算多少?

这三个问题问完,答案基本就出来了。T4、A10、A100,这三张卡我都在项目里摸爬滚打用过。今天咱们就聊聊,怎么根据模型吞吐量来选。

3.1 先看核心参数:一张表说清楚

我习惯先把硬指标摆出来。你想想看,选卡就像选车,排量、扭矩、油耗得先心里有数。

参数 NVIDIA T4 NVIDIA A10 NVIDIA A100
架构 Turing Ampere Ampere
显存 16GB GDDR6 24GB GDDR6 40/80GB HBM2e
显存带宽 320 GB/s 600 GB/s 1555/2039 GB/s
FP32算力 8.1 TFLOPS 31.2 TFLOPS 19.5 TFLOPS
INT8算力 130 TOPS 250 TOPS 624 TOPS
功耗 70W 150W 250/400W
价格(参考) 约 2-3k 约 8-12k 约 20-40k

嗯,这里要注意:A100的FP32算力看起来比A10低,但实际推理中,A100靠的是巨大的显存带宽和Tensor Core加速。说白了,A100是为大模型和批量推理设计的。

3.2 模型吞吐量:核心指标怎么算?

吞吐量,就是每秒能处理多少个样本。单位通常是 samples/sec 或 inferences/sec。

我个人习惯用这个公式估算:

吞吐量 ≈ (显存带宽 × 利用率) / (模型大小 × 批量大小系数)

但实际项目中,我更推荐直接跑 benchmark。我曾经在一个项目中,光看理论算力选了T4,结果跑BERT-large时,吞吐量死活上不去。后来才发现,瓶颈在显存带宽,不是算力。

关键结论:对于推理卡,显存带宽往往比峰值算力更重要。尤其是大模型,带宽决定了你能喂多快的数据。

3.3 按模型类型选卡:实战经验

3.3.1 小模型(ResNet-50、MobileNet、YOLOv5s)

这类模型参数量小,对显存要求低。T4完全够用。

  • T4:单卡吞吐量约 800-1200 samples/sec(INT8)
  • A10:约 1500-2000 samples/sec
  • A100:约 2500-3500 samples/sec

说实话,小模型上T4性价比最高。我有个项目用T4跑YOLOv5s,INT8量化后,单卡能跑到1000fps,完全够用。没必要上A100,浪费钱。

3.3.2 中等模型(BERT-base、ResNet-152、EfficientNet-B4)

这类模型显存占用在2-6GB之间。A10开始展现优势。

  • T4:显存够用,但带宽瓶颈明显,吞吐量约 200-400 samples/sec
  • A10:带宽翻倍,吞吐量约 500-800 samples/sec
  • A100:带宽优势巨大,吞吐量约 1000-1500 samples/sec

我记得有一次,客户要求BERT-base推理延迟低于10ms。T4勉强能做到,但批量大小只能设为1。换成A10后,批量大小可以提到4,吞吐量直接翻倍。

小技巧:如果模型支持动态形状,尽量用A10或A100。它们的Tensor Core对动态batch支持更好,T4在这方面有点吃力。

3.3.3 大模型(BERT-large、GPT-2、LLaMA-7B)

大模型是A100的天下。显存和带宽都是硬门槛。

  • T4:16GB显存,跑BERT-large都勉强,批量大小只能设为1,吞吐量约 50-100 samples/sec
  • A10:24GB显存,可以跑小批量,吞吐量约 150-300 samples/sec
  • A100:40/80GB显存,带宽近2TB/s,吞吐量约 500-1000 samples/sec

我曾经在A10上跑LLaMA-7B,显存刚好够,但延迟高得离谱。换成A100后,问题迎刃而解。说白了,大模型就是吃带宽和显存,没别的捷径。

3.4 选型决策树:一张图看懂

我画了个决策流程图,方便你快速定位:

推理卡选型决策树 模型类型? 小模型(<100M参数) 推荐:T4 吞吐量:800-1200 samples/sec 性价比最高,功耗仅70W 中等模型(100M-1B参数) 推荐:A10 吞吐量:500-800 samples/sec 24GB显存,带宽600GB/s 大模型(>1B参数) 推荐:A100 吞吐量:500-1000 samples/sec 80GB显存,带宽2TB/s 总结 小模型 → T4(省钱省电) 中等模型 → A10(平衡之选) 大模型 → A100(性能王者)

3.5 避坑指南:我踩过的几个坑

坑1:只看算力不看带宽

我曾经在选型时,盯着FP32算力看,觉得T4和A10差距不大。结果跑BERT模型时,A10的吞吐量是T4的3倍。为什么?带宽差了一倍。说白了,推理是带宽密集型任务,不是算力密集型。

坑2:忽略量化对吞吐量的影响

INT8量化能让T4的吞吐量翻倍。我有个项目,模型从FP32切到INT8后,T4的吞吐量从400涨到1000。但要注意,A10和A100的Tensor Core对INT8支持更好,提升更明显。

坑3:批量大小设得太大

我见过有人把batch size设到64,结果显存爆了。T4只有16GB,大模型建议batch size不超过8。A100有80GB,可以大胆设到32甚至64。但也要看模型大小,别盲目。

3.6 实际选型建议

好了,说了这么多,我直接给结论:

  • 预算有限,跑小模型:无脑选T4。70W功耗,不用改散热,插上就能用。
  • 中等规模,要求延迟低:选A10。24GB显存,带宽600GB/s,性价比之王。
  • 大模型,追求极致吞吐:选A100。80GB显存,2TB/s带宽,没对手。
  • 如果只能买一张卡:我建议A10。它覆盖了80%的推理场景,从ResNet到BERT都能跑。

最后说一句:别光看参数,有条件的话,拿自己的模型跑一遍benchmark。我每次选型都会先跑个测试,数据不会骗人。


公众号:蓝海资料掘金营,微信deep3321