根据 GPU 架构的不同,可分为以下几类:
- NVIDIA Volta 架构
代表型号: V100
- 配备第二代 Tensor Core,是较早支持深度学习的 GPU,仍适用于部分训练任务。
- 性能特点:相比后续架构,V100 的训练性能相对较低,尤其在处理大规模 Transformer 模型时不如 Ampere 和 Hopper 架构高效。
- 适用场景:预算受限或对性能要求不高的场景,如中小型模型的训练与推理任务。
- NVIDIA Ampere 架构
代表型号:A100
- 配备第三代 Tensor Core,支持 TensorFloat32(TF32)格式,显著提升单精度训练性能。
- 默认情况下,较新版本的 PyTorch 禁用了 TF32,需要手动启用后使用。
- 性能对比 V100:Ampere GPU 的训练速度和能效比均大幅领先于 V100,尤其是在使用半精度 (float16) 时,性能提升尤为显著。
- 建议:优先使用半精度 (float16) 模型训练,以最大化性能(参考 Nvidia Blog)。
- NVIDIA Hopper 架构
代表型号:H100
- NVIDIA 最新的数据中心级 GPU 架构,性能和特性显著增强。
- 配备第四代 Tensor Core 和 Transformer Engine,可大幅提升 Transformer 模型训练效率。
Hopper 在训练速度和效率上比 Ampere 提升显著,尤其在大规模 Transformer 模型(如 GPT-4 级别)上,性能提升可达 2~3 倍。 - 进一步优化的 sparsity 支持,使训练大模型时的计算效率更高。
- NVIDIA Ada Lovelace 架构
代表型号:RTX 4090
- 最新一代消费级 GPU 架构,在深度学习任务中表现优异。
- 尤其在游戏场景和 AI 推理任务中,提供了显著性能提升,是兼顾研究和个人应用的优秀选择。
- Ada Lovelace 架构在推理任务中的表现接近 Hopper,但训练性能不及 Hopper 的数据中心级优化。
GPU 型号简介:
型号 | FP32 | TF32 | FP16 | 说明 |
---|---|---|---|---|
Tesla V100 16/32GB | 15.7 TF | 不支持 | 125 TF | Volta 架构的经典 GPU,支持第二代 Tensor Core,适合中小型任务训练与推理。需要 CUDA 10.x。 |
RTX4090 24GB | 82.58 TF | 82.6 TF | 330 T | Ada Lovelace 架构的旗舰 GPU,适合深度学习任务。需要 CUDA 11.8 或更新版本 |
A100 40/80G | 19.5 TF | 156 TF | 312 TF | Ampere 架构高端 GPU,适合大规模训练任务。需要 CUDA 11.x |
H100 80GB | 67 TF | 989 TF | 1979 T | Hopper 架构顶级 GPU,适用于大规模 AI 和 HPC 工作负载。需要 CUDA 12.x |
格式对比:
格式 | 结构 | 范围 | 精度 | 适用场景 |
---|---|---|---|---|
FP64(64-bit Floating Point) | 1+11+52 | ±10^(-308) 到 ±10^(308) | 极高精度(52 位尾数) | 科学计算、模拟仿真、高精度数值分析 |
FP32(32-bit Floating Point) | 1+8+23 | ±10^(-38) 到 ±10^(38) | 高精度(23 位尾数) | 科学计算、需要高稳定性的训练和推理 |
TF32(TensorFloat32) | 1+8+10 | 与 FP32 相同 | 中精度(10 位尾数) | 深度学习矩阵运算,加速训练,适合单精度优化 |
BF16(Brain Floating Point 16-bit) | 1+8+7 | 与 FP32 相同 | 低精度(7 位尾数) | 大规模模型训练和推理,特别是低精度预训练 |
FP16(16-bit Floating Point) | 1+5+10 | ±10^(-5) 到 ±10^(5) | 中低精度(10 位尾数) | 半精度训练与推理,适用于内存受限的场景 |
参考阅读:
TensorFloat-32 in the A100 GPU Accelerates AI Training, HPC up to 20x