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 选型决策树:一张图看懂
我画了个决策流程图,方便你快速定位:
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