Skip to content

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、H800。这类数据中心 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 配置

尽管 CPU 并不直接参与深度学习模型计算,但 CPU 需要提供大于模型训练吞吐的数据处理能力。

我们通常为每块 GPU 分配固定数量的 CPU 逻辑核心。理想情况下,模型计算吞吐随 GPU 数量线性增长,单 GPU 的合理 CPU 逻辑核心数分配可以直接线性扩展到多 GPU 上。每块 GPU 配备至少 10~12 核心的 CPU,以满足多线程的异步数据读取和预处理需求。具体分配取决于工作负载和数据管道的复杂性。分配更多的核心通常不会再有很大的收益,此时的数据读取瓶颈通常源于 Python 的多进程切换与数据通信开销(如使用 PyTorch DataLoader)。

选择内存

内存充足时通常不会影响性能,但租用实例的内存有严格上限限制(不能使用算力规格的内存),因此需要确保内存充足,避免程序中断。若内存需求较大,应选择内存更大的算力规格。

GPU 型号简介

选择 GPU 时,除了显存和算力,也需要关注 CUDA Compute Capability,常在框架、内核或编译参数中写作 sm_80sm_89sm_90 等。部分推理或训练加速内核会按 SM 级别启用不同实现,例如 FlashAttention、FlashInfer、SGLang attention backend、Triton kernel 或自定义 CUDA 扩展。GPU 型号相近时,仍建议根据框架文档确认当前内核支持的 SM 级别。

型号架构Compute Capability / SMFP32TF32FP16说明
RTX5090 32GBBlackwell12.0 / sm_120104.8 TF104.8 TF419 TBlackwell 架构的旗舰消费级 GPU,适合深度学习实验和推理任务。使用前确认 CUDA、PyTorch、推理框架和自定义内核已支持 sm_120
RTX4090 24GBAda Lovelace8.9 / sm_8982.58 TF82.6 TF330 TAda Lovelace 架构的旗舰消费级 GPU,适合深度学习实验和推理任务。需要 CUDA 11.8 或更新版本。
A100 40GAmpere8.0 / sm_8019.5 TF156 TF312 TFAmpere 架构高端 GPU,适合大规模训练任务。需要 CUDA 11.x。
A100 80GAmpere8.0 / sm_8019.5 TF156 TF312 TFA100 的大显存版本,适合超大模型训练。需要 CUDA 11.x。
A800 80GAmpere8.0 / sm_8019.5 TF156 TF312 TFA100 同代的 Ampere 数据中心 GPU,通常可按 A100 的 SM 级别判断 CUDA 内核兼容性,但实际通信带宽、可用规格和性能以平台规格为准。
H100 80GBHopper9.0 / sm_9067 TF989 TF1979 THopper 架构高端 GPU,适用于大规模 AI 和 HPC 工作负载。需要 CUDA 12.x(Pytorch Blog)。
H800 80GBHopper9.0 / sm_9067 TF989 TF1979 TH100 同代的 Hopper 数据中心 GPU,通常可按 H100 的 SM 级别判断 CUDA 内核兼容性。对依赖 NVLink、通信或 FP64 性能的工作负载,应结合实际平台规格和框架 benchmark 判断。

信息

表中的 SM 级别用于判断软件和 CUDA 内核兼容性,不等同于完整性能承诺。遇到严格依赖特定内核的框架时,建议在目标实例中通过 nvidia-smi --query-gpu=name,compute_cap --format=csv、框架启动日志或 benchmark 再次确认。

请确保所选 GPU 与您的软件栈兼容,尤其是 CUDA 版本。

参考资源