GPU 购买指南

深度学习训练通常需要大量的计算资源。GPU 目前是深度学习最常使用的计算加速硬件。相对于 CPU 来说,GPU 更便宜且计算更加密集。一方面,相同计算能力的 GPU 的价格一般是 CPU 价格的十分之一。另一方面,一台服务器通常可以搭载 8 块或者 16 块 GPU。因此,GPU 数量可以看作是衡量一台服务器的深度学习计算能力的一个标准。

本节主要针对购买一两台自用 GPU 服务器的个人用户介绍一些 GPU 购买须知。如果你是拥有 100 台机器以上的大公司用户,通常可以考虑 Nvidia Tesla P100 或者 V100,详情请咨询数据中心维护人员。如果你是拥有 10 到 100 台机器的实验室和中小公司用户,如果预算充足,可以考虑 Nvidia DGX-1,否则可以考虑购买如 Supermicro 之类的性价比较高的服务器。

选择 GPU

目前独立 GPU 主要有 AMD 和 Nvidia 两家厂商。其中 Nvidia 在深度学习布局较早,对深度学习框架支持更好。因此,目前大家主要会选择 Nvidia 的 GPU。

Nvidia 有面向个人用户(例如 GTX 系列)和企业用户(例如 Tesla 系列)的两类 GPU。这两类 GPU 的计算能力相当。然而,面向企业用户的 GPU 通常使用被动散热并增加了内存校验,从而更适合数据中心,并通常要比面向个人用户的 GPU 贵上 10 倍。因此,个人用户通常选用 GTX 系列的 GPU。

Nvidia 一般每一两年发布一次新版本的 GPU,例如最近的 GTX 1000 系列。每个系列中会有数个不同的型号,分别对应不同的性能。

GPU 的性能主要由以下三个参数构成:

  1. 计算能力。通常我们关心的是 32 位浮点计算能力。当然,特殊情况下也可考虑其他的计算能力,例如用 16 位浮点训练,用 8 位整数预测。
  2. 内存大小。当模型越大,或者训练时的批量越大时,所需要的 GPU 内存就越多。
  3. 内存带宽。只有当内存带宽足够时才能充分发挥计算能力。

对于大部分用户来说,只要考虑计算能力就可以了。我们建议 GPU 内存尽量不小于 4GB。但如果 GPU 要同时显示图形界面,那么推荐的内存大小至少为 6GB。至于内存带宽,通常厂家已在设计时考虑。

图 11.19 描绘了 GTX 900 和 1000 系列里各个型号的 32 位浮点计算能力和价格的对比。其中价格为 Wikipedia 的建议价格。

浮点计算能力和价格的对比。

浮点计算能力和价格的对比。

我们可以从图 11.19 中读出两点信息:

  1. 在同一个系列里面,价格和性能大体上成正比。
  2. GTX 1000 系列比 900 系列在性价比上高出 2 倍左右。

如果大家继续比较 GTX 较早的系列,也可以发现类似的规律。据此,我们推荐大家在能力范围内,尽可能买较新的 GPU。如果预算充足,直接买最新的 GPU。如果预算相对有限,购买入门的 1050TI 也是个不错的选择。

整机配置

通常,我们主要用 GPU 做深度学习训练。因此,不需要购买高端的 CPU。至于整机配置,尽量参考网上推荐的中高档的配置就好。

不过,考虑到 GPU 的功耗、散热和体积,我们在整机配置上也需要考虑以下三个额外因素。

  1. 机箱体积。GPU 尺寸较大,通常考虑较大且自带风扇的机箱。
  2. 电源。购买 GPU 时需要查一下 GPU 的功耗,例如 50W 到 300W 不等。购买电源要确保功率足够,并不会过载机房的供电。
  3. 主板的 PCIe 卡槽。推荐使用 PCIe 3.0 16x 来保证充足的 GPU 到主内存的带宽。如果搭载多块 GPU,要仔细阅读主板说明,以确保多块 GPU 一起使用时仍然是 16x 带宽。注意,有些主板搭载 4 块 GPU 时会降到 8x 甚至 4x 带宽。

小结

  • 在预算范围之内,尽可能买较新的 GPU。
  • 整机配置需要考虑到 GPU 的功耗、散热和体积。

练习

  • 浏览本节讨论区中大家有关机器配置方面的交流。

扫码直达讨论区