共计 1579 个字符,预计需要花费 4 分钟才能阅读完成。
TOPS 基础概念与意义
TOPS(Tera Operations Per Second)是衡量 AI 加速器算力的核心指标,表示每秒可执行万亿次操作。在 AI 推理场景中:

- 1 TOPS = 10^12 次基本运算 / 秒
- 通常指 INT8 精度下的峰值算力
- 实际有效算力受内存带宽、架构效率等因素影响
主流显卡 TOPS 对比
| 显卡型号 | INT8 TOPS(官方) | FP16 TFLOPS | 实测 ResNet-50 吞吐 (images/s) |
|---|---|---|---|
| RTX 3090 | 142 | 35.7 | 2850(batch=32) |
| RTX 4090 | 330 | 82.6 | 6200(batch=64) |
| A100 80GB | 624 | 156 | 15200(batch=128) |
| AMD MI250X | 383 | 95.7 | 8900(batch=64) |
测试条件:PyTorch 2.0, CUDA 11.7, 输入分辨率 224×224
FLOPs 与 TOPS 换算
换算关系:
# FP32 TFLOPS 转 INT8 TOPS
fp32_tflops = 10 # 例如 RTX 3060 的 FP32 算力
int8_tops = fp32_tflops * 4 # INT8 算力通常是 FP32 的 4 倍
print(f"INT8 TOPS: {int8_tops}") # 输出 40 TOPS
场景化选型建议
计算机视觉模型需求
- ResNet-50 分类任务
- 1080p 实时 (30FPS):约 15 TOPS
-
4K 视频处理:需要 50+ TOPS
-
YOLOv5 目标检测
- YOLOv5s@640px:8 TOPS 可达到 45FPS
- YOLOv5x@1280px:需要 50+ TOPS
大语言模型策略
- 7B 参数模型:
- INT8 推理需 16GB 显存 +30 TOPS
- 每增加 10B 参数,显存需求增长约 20GB
- 优化方案:
- 使用 Flash Attention 减少计算量
- 采用 KV Cache 降低重复计算
实际性能避坑指南
- 厂商宣传水分识别
- 确认测试精度 (INT8/FP16/FP32)
- 检查是否包含稀疏化加速
-
要求提供实际 benchmark 代码
-
多卡并行损耗计算
实际算力 = 单卡算力 × 卡数 × 通信效率 典型通信效率:- NVLink: 85%~90% - PCIe 4.0: 70%~75%
Benchmark 代码示例
import torch
import time
# 模型加载
device = 'cuda:0'
model = torch.hub.load('ultralytics/yolov5', 'yolov5s').to(device)
model.eval()
# 测试数据
dummy_input = torch.randn(16, 3, 640, 640).to(device)
# 预热
for _ in range(10):
_ = model(dummy_input)
torch.cuda.synchronize()
start = time.time()
# 正式测试
with torch.no_grad():
for _ in range(100):
_ = model(dummy_input)
torch.cuda.synchronize()
elapsed = time.time() - start
# 计算吞吐量
throughput = 100 * 16 / elapsed
print(f"Throughput: {throughput:.2f} FPS")
print(f"Latency: {1000*elapsed/100:.2f} ms")
# 算力利用率
util = torch.cuda.utilization(device)
print(f"GPU Utilization: {util}%")
思考题延伸
当需要实现 100FPS 的 4K 视频分析时,建议:
1. 先量化模型到 INT8(可节省 50% 算力)
2. 选择单卡 50+TOPS 设备(如 RTX 4090)
3. 采用 TensorRT 优化预处理流水线
4. 若预算有限,可用 2 张 RTX 3090 通过 NVLink 并联
关键权衡点:
– 延迟敏感型:优先选择高单卡性能
– 吞吐量优先:考虑多卡性价比方案
– 长期运维:评估电费与散热成本
正文完
