GPU 选型指南
GPU 型号的选择并不困难。对于常用的深度学习模型,根据 GPU 对应精度的算力可大致推算 GPU 训练模型的性能。
选择 GPU 类型
按照 GPU 架构大致分为以下几类:
NVIDIA Ampere 架构
NVIDIA Ampere 架构的 GPU,如 RTX 30 系列,Tesla A40/A100 等。 这类 GPU 搭载第三代 TensorCore,支持 TensorFloat32(TF32)格式,可加速单精度训练。默认情况下,较新版本的 PyTorch 中禁用了 TF32,需要手动启用才能使用。建议继续使用半精度 (float16) 训练模型,以获得比上一代 GPU 更显著的性能提升(Nvidia Blog)。
NVIDIA Hopper 架构
NVIDIA Hopper 架构的 GPU,如 H100。这是目前 NVIDIA 最新的数据中心 GPU 架构,提供了更强大的性能和新特性,如第四代 Tensor Core 和 Transformer Engine,显著提升了训练速度和效率。
NVIDIA Ada Lovelace 架构
NVIDIA Ada Lovelace 架构的 GPU,如 RTX 4090。最新的消费级 GPU 架构,在深度学习任务中表现出色,尤其在游戏和 AI 推理任务中有明显提升。
选择 GPU 数量
与训练任务有关。通常建议一次训练在 24 小时内完成,便于第二天改进模型。以下是多 GPU 选择的一些建议:
- 1 块 GPU:适合较小的数据集训练任务,如 Pascal VOC 等。
- 2 块 GPU:可以同时运行两组参数实验,或增大 Batchsize。
- 4 块 GPU:适合中等数据集的训练任务,如 MS COCO 等。
- 8 块 GPU:经典配置,适合各种训练任务,也方便复现论文结果。
您可以参考当前 AIStudio 按量付费型开发机的规格表:
算力规格 | 总显存 | CPU | 内存 | 持久化存储 | 可用区 | 价格 |
---|---|---|---|---|---|---|
NVIDIA-4090-24GB × 1 | 24 GB | 14 核 | 28 GB | 50GB 系统盘 + 20GB 云盘 | 广东B | 2.09 元/小时 |
NVIDIA-4090-24GB × 2 | 48 GB | 28 核 | 56 GB | 50GB 系统盘 + 20GB 云盘 | 广东B | 4.18 元/小时 |
NVIDIA-4090-24GB × 4 | 96 GB | 56 核 | 112 GB | 50GB 系统盘 + 20GB 云盘 | 广东B | 8.36 元/小时 |
NVIDIA-4090-24GB × 8 | 192 GB | 112 核 | 224 GB | 50GB 系统盘 + 20GB 云盘 | 广东B | 16.72 元/小时 |
NVIDIA-A100-40GB × 1 | 40 GB | 10 核 | 86 GB | 50GB 系统盘 + 20GB 云盘 | 江苏A | 4.81 元/小时 |
NVIDIA-A100-40GB × 2 | 80 GB | 20 核 | 172 GB | 50GB 系统盘 + 20GB 云盘 | 江苏A | 9.62 元/小时 |
NVIDIA-A100-40GB × 4 | 160 GB | 40 核 | 344 GB | 50GB 系统盘 + 20GB 云盘 | 江苏A | 19.24 元/小时 |
NVIDIA-A100-40GB × 8 | 320 GB | 80 核 | 688 GB | 50GB 系统盘 + 20GB 云盘 | 江苏A | 38.48 元/小时 |
关于 CPU 配置
尽管 CPU 并不直接参与深度学习模型计算,但 CPU 需要提供大于模型训练吞吐的数据处理能力。
我们通常为每块 GPU 分配固定数量的 CPU 逻辑核心。理想情况下,模型计算吞吐随 GPU 数量线性增长,单 GPU 的合理 CPU 逻辑核心数分配可以直接线性扩展到多 GPU 上。每块 GPU 配备至少 10~12 核心的 CPU,以满足多线程的异步数据读取和预处理需求。具体分配取决于工作负载和数据管道的复杂性。分配更多的核心通常不会再有很大的收益,此时的数据读取瓶颈通常源于 Python 的多进程切换与数据通信开销(如使用 PyTorch DataLoader)。
选择内存
内存充足时通常不会影响性能,但租用实例的内存有严格上限限制(不能使用算力规格的内存),因此需要确保内存充足,避免程序中断。若内存需求较大,应选择内存更大的算力规格。
GPU 型号简介
型号 | FP32 | TF32 | FP16 | 说明 |
---|---|---|---|---|
RTX4090 24GB | 82.58 TF | 82.6 TF | 330 T | Ada Lovelace 架构的旗舰 GPU,适合深度学习任务。需要 CUDA 11.8 或更新版本 |
A100 40G | 19.5 TF | 156 TF | 312 TF | Ampere 架构高端 GPU,适合大规模训练任务。需要 CUDA 11.x |
A100 80G | 19.5 TF | 156 TF | 312 TF | A100 的大显存版本,适合超大模型训练。需要 CUDA 11.x |
H100 80GB | 67 TF | 989 TF | 1979 T | Hopper 架构顶级 GPU,适用于大规模 AI 和 HPC 工作负载。需要 CUDA 12.x(Pytorch Blog) |
请确保所选 GPU 与您的软件栈兼容,尤其是 CUDA 版本。