GPU选购指南:训练ML模型,我必须买RTX3080吗?( 四 )

如果你想了解我如何评估 Ampere GPU 性能的更多技术细节,那么本节就是为你准备的 。如果你不关心这些技术方面,则可以跳过此部分 。
Ampere 速度的理论估计综上所述,我们认为,两种配备张量核的 GPU 架构之间的差异主要在于内存带宽 。使用张量核的其他好处包括更多的共享内存 /L1 缓存和更好的寄存器 。
如果我们将 TeslaA100GPU 带宽与 TeslaV100 GPU 带宽相比较,我们得到的速度提升为 1555/900 = 1.73 倍 。此外,我希望从更大的共享内存中得到 2-5% 的加速,从改进的张量核中得到 1-3% 的加速 。这使得速度提升在 1.78 倍和 1.87 倍之间 。用类似的推理方法,你就可以估计 Ampere 系列其他 GPU 与 TeslaV100 相比的速度提升 。
Ampere 速度的实际估计假设我们有针对一种 GPU 架构的估计,如 Ampere、Turing 或 Volta,我们就可以很容易地将这些结果推到相同架构 / 系列的其他 GPU 上 。幸运的是,NVIDIA 已经在广泛的计算机视觉和自然语言理解任务中对 A100 和 V100 进行了基准测试 。遗憾的是,NVIDIA 使用了不同的批次大小和 GPU 数量,使得这些数值无法直接进行比较,从而得出有利于 A100 的结果 。所以,在某种意义上,这些基准数据部分是真实的,部分是市场数据 。一般来说,你可能会认为,更大的批次大小才公平,因为 A100 有更多的内存,但是为了比较 GPU 架构,我们应该评估批次大小相同时的无偏内存性能 。
为了得到无偏估计,我们可以通过两种方式对 V100 和 A100 结果进行缩放:
(1)考虑批次大小差异,(2)考虑使用 1 个 GPU 和 8 个 GPU 的差异 。幸运的是,我们能在 NVIDIA 提供的数据中找到对这两种偏差的估计 。
批次大小增加一倍使吞吐量增加 13.6%(CNN,以每秒图像数为单位) 。我在 RTX Titan 上针对同样的问题测试了 Transformer,惊奇地发现了同样的结果:13.5%——这似乎是一个可靠的估计 。
当我们将网络在更多的 GPU 上并行化时,由于一些网络开销,我们会损失性能 。与 V100 8x GPU 系统(NVLink 2.0)相比,A100 8x GPU 系统有更好的网络(NVLink 3.0)——这是另一个令人困惑的因素 。直接查看 NVIDIA 的数据,我们可以发现,对于 CNN 来说,8x A100 系统比 8x V100 系统开销低 5% 。这意味着,从 1x A100 到 8xA100 可以获得 7 倍的速度提升,而从 1x V100 到 8xA100 可以获得 6.67 倍 。对于 Transformer 来说,这个数值是 7% 。
使用这些数据,我们可以从 NVIDIA 提供的直接数据中估算其对于一些特定深度学习架构的速度提升 。与 Tesla V100 相比,Tesla A100 可以提供以下速度提升:

  • SE-ResNeXt101:1.43 倍
  • Masked-R-CNN:1.47 倍
  • Transformer(12 层, 机器翻译, WMT14 en-de):1.70 倍
因此,对于计算机视觉来说,这些数值比理论估计要低一些 。这可能是由于张量维数较小,准备矩阵乘法(如 img2col 或快速傅里叶变换(FFT))所需的操作开销,或者操作无法充分利用 GPU(最后的层通常相对较小) 。它也可以是特定架构的工件(分组卷积) 。
Transformer 实际估计值与理论估计值非常接近 。这可能是因为大型矩阵的算法非常简单 。我将使用这些实际的估计来计算 GPU 的成本效率 。
估计中可能存在的偏差上面是对 A100 和 V100 的对比估计 。过去,NVIDIA“游戏”GPU RTX 出现了性能偷偷下降的问题:(1)降低张量核利用率,(2)风扇散热,(3)禁用对等 GPU 传输 。与 Ampere A100 相比,RT 30 系列可能有未公布的性能下降 。有了消息,我会更新这篇博文 。
Ampere / RTX 30 系列的其他考虑因素要点:
  • Ampere 可以用于稀疏网络训练,它最高可以将训练速度提高 2 倍 。
  • 稀疏网络训练仍然很少使用,但将使 Ampere 可以经受住未来的考验 。
  • Ampere 有新的低精度数据类型,这使得使用低精度数值更容易,但不一定比以前的 GPU 更快 。
  • 新的风扇设计非常棒,如果你的 GPU 之间有间隙的话,但不清楚如果多个 GPU 之间没有间隙,它们是否能有效冷却 。
  • RTX3090 的 3 插槽设计使得 4x GPU 构建成为问题 。可能的解决方案是 2 插槽转换或使用 PCIe 扩展器 。
  • 4x RTX 3090 需要的电量比目前市场上任何标准电源单元所能提供的电量都多 。
与 NVIDIA Turing RTX 20 系列相比,新的 NVIDIA Ampere RTX30 系列具有额外的优点,如稀疏网络训练和推理 。其他特性,比如新的数据类型,更多的是易用性特性,因为它们提供了和 Turing 一样的性能提升,但是不需要任何额外的编程 。


推荐阅读