深度学习常见gpu硬件选购指南

文 / @WordPress主题

当前,独立显卡市场主要由两家巨头,即AMD和NVIDIA所主导。在这两者中,NVIDIA一直处于深度学习领域的前沿,对深度学习框架的支持也更为出色。因此,当今绝大多数人在选择显卡时倾向于选用NVIDIA的GPU。

NVIDIA提供两类主要的GPU产品,分别面向个人用户(例如GTX系列)和企业用户(如Tesla系列)。这两类GPU的计算能力相当。不过,企业级GPU通常具备被动散热设计,显存校验等功能,因此更适合用于数据中心等高要求的场景,而价格也通常要高出个人用户级别的GPU近10倍。

如果您代表的是一个拥有超过100台计算机的大型公司,通常可以考虑选择面向企业用户的NVIDIA Tesla系列。如果您代表的是一个中小企业或实验室,拥有10至100台计算机,并且预算充足的情况下,您可以考虑NVIDIA DGX系列。否则,您可以考虑购买性价比较高的服务器,例如Supermicro,然后在其上安装GTX系列的GPU。

NVIDIA通常每一至两年发布一次新版本的GPU,比如2016年发布的GTX 1000系列和2018年发布的RTX 2000系列。每个系列中都包含多个不同型号,各自性能有所不同。

GPU的性能主要由以下三个关键参数决定:

  • 计算能力:通常我们最关注的是32位浮点计算能力,不过16位浮点计算在训练领域也越来越受欢迎,如果只需进行推断操作,还可以考虑使用8位整数计算。
  • 显存大小:随着模型的增大或批处理大小的增加,所需的显存也会增加。
  • 显存带宽:只有在显存带宽足够的情况下,才能充分发挥计算能力。

对于大多数用户来说,关注计算能力即可。显存大小通常不应低于4GB,但如果GPU还需要用于图形界面显示,那么建议的显存大小至少为6GB。显存带宽通常相对固定,选择余地较小。

下图展示了GTX 900和GTX 1000系列不同型号的32位浮点计算能力和价格对比,价格数据来自Wikipedia的建议价格。

NVIDIA Pascal架构的GPU,如TitanXp,GTX 10系列等。这类GPU缺少低精度硬件加速能力,但具备中等的单精度计算能力。由于价格较为亲民,适合用于练习小型模型(如Cifar10)的训练或模型代码的调试。

NVIDIA Volta/Turing架构的GPU,如GTX 20系列,Tesla V100等。这类GPU配备了专为低精度(int8/float16)计算加速而设计的TensorCore,但与上一代相比,单精度计算能力提升不明显。我们建议在实际应用中启用深度学习框架的混合精度训练以加速模型计算。相较于单精度训练,混合精度训练通常可以提供两倍以上的训练速度。

NVIDIA Ampere架构的GPU,如GTX 30系列,Tesla A40/A100等。这类GPU搭载了第三代TensorCore,支持TensorFloat32格式,可直接加速单精度训练(PyTorch默认开启)。尽管如此,我们仍然建议使用高性能的float16半精度训练模型,以获得比上一代GPU更显著的性能提升。

寒武纪MLU 200系列加速卡。这些卡不支持模型训练,只能使用int8进行量化计算,以进行模型推理。同时,使用这些卡进行模型推理需要安装与寒武纪MLU兼容的深度学习框架。

华为Ascend系列加速卡。这些卡支持模型的训练和推理,但需要安装MindSpore框架以进行计算。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。