用于 AI / ML 计算的 GPU 服务器的合理价格
2020 年 9 月上旬,NVIDIA 推出了第二代 GeForce RTX 30 系列显卡,即 Ampere RTX 架构。NVIDIA 打破了传统,其新一代卡的售价比其前辈贵,这意味着训练模型的成本或多或少保持不变。
此次英伟达在发售时将新的、更受欢迎的卡的价格定在了上一代卡的水平。对于 AI 开发人员来说,这一事件意义重大——事实上,RTX 30 卡开启了与 Titan RTX 相当的性能,但价格要低得多。数据科学开发人员现在能够在不增加成本的情况下更快地训练模型。
新系列的旗舰显卡——GeForce RTX 3090,搭载了10496个NVIDIA CUDA内核,时钟频率为1.44GHz(加速高达1.71GHz),328个第三代张量内核和24GB的384位GDDR6X显存。更实惠的 GeForce RTX 3080 具有 8,704 个相同时钟速度的 CUDA 内核、272 个张量内核和 10GB 的 320 位 GDDR6X 内存。
尽管新显卡短缺(英伟达甚至不得不为在发布时导致显卡短缺而向市场道歉),但在 10 月初,第一批 GPU 服务器出现在托管提供商的产品线中。荷兰供应商 HOSTKEY是首批测试和展示基于新技嘉 RTX3090 / 3080 TURBO 卡的 GPU 服务器的欧洲供应商之一。从 10 月 26 日开始,基于 RTX 3090 / Xeon E-2288G 和 RTX 3080 / AMD Ryzen 9 3900X 的配置已向荷兰和莫斯科数据中心的所有Hostkey 客户开放。
NVIDIA RTX 30:黄金中间?
RTX3090 / 3080 卡被制造商定位为一种更高效的解决方案,可以用之前的图灵架构替换 RTX 20 系列卡。而且,当然,新卡比可用的基于 GTX1080 / GTX1080 Ti 显卡的“普通”GPU 服务器高效得多。它们也适用于神经网络和其他机器学习任务——尽管有保留,但同时它们以非常“民主”的价格提供。
位于NVIDIA RTX 30系列之上的是基于A100/A40(安培)卡的全能解决方案,拥有多达432个第三代张量核心,Titan RTX/T4(图灵)拥有多达576个第二代张量核心,以及V100 (Volta) 具有 640 个第一代张量核心。
这些功能强大的显卡以及租用 GPU 服务器的价格远远超过 RTX 30 的清单,因此在实践中评估 AI / ML 任务中的性能差距特别有趣。
案例研究:面部再现
基于新 RTX 3090 和 RTX 3080 卡的 GPU 服务器运行测试的工作研究之一是 U-Net + ResNet 神经网络的面部重演过程,带有 SPADE 空间自适应归一化和补丁鉴别器。Facebook PyTorch 1.6 版具有内置的自动混合精度 (AMP) 模式和 torch.backend.cudnn.benchmark = True 标志模式被用作框架。
为了进行比较,同样的测试在配备 GeForce GTX 1080 Ti 卡但没有 AMP 的 GPU 服务器以及配备 Titan RTX 卡的机器上运行,这只会减慢进程速度。
为了实验的纯粹性,需要说明的是,在使用 Titan RTX 卡进行的测试中,使用的是 Intel Core i9–10920X 处理器的系统,而其余 GPU 服务器与所有其他卡一起使用至强 E-2288G。
当然,在相同处理器上进行分类时进行比较很重要,因为它们通常是限制系统性能的瓶颈。因此,在这种情况下,对 GPU 测试结果持保留态度是非常合适的。
我们得到了以下结果:
当您考虑到两种解决方案之间的巨大价格差距时,RTX 3090 和 Titan RTX 之间的最小差异尤其令人印象深刻。在接下来的测试中,RTX 3090 至少值得与基于一张和两张 RTX 2080 卡的 GPU 服务器进行全面、深入的比较。
RTX 3080 到 RTX 3090 之间的滞后是可以理解的,因为内存容量存在显着差异 – 10 GB 与 24 GB,架构的差异也在 GTX 1080 Ti 相应的两倍和三倍滞后上留下了印记。
如果您从评估租用 GPU 服务器的情况下训练模型的财务成本的实际角度来看这些结果,那么最终会倾向于选择配备 RTX 3090 的系统。这张卡片将为每周和每月的资费计划提供最佳预算支出。
实践研究:GAN 训练
在第二个测试任务中,包括使用 PyTorch 包训练生成对抗网络 (GAN),有趣的是不仅要比较不同代卡的性能,还要跟踪火炬状态的效果。最终结果上的 backends.cudnn.benchmark 标志。在训练 GAN 架构时,将标志设为 True 可以提升性能,但结果的可重复性可能会受到影响。
这些结果再次证明,配备 24 GB GDDR6X 内存的 RTX 3090 卡是处理繁重成像任务的最佳选择——无论是性能(比 RTX 3080 提高 65%)还是租用 GPU 服务器时的训练成本。
尽管 RTX 3080 在任何标志设置上都明显优于 GTX 1080 Ti,尽管内存大小大致相同,但还应该记住,在训练 GAN 架构时,启用 torch.backends.cudnn.benchmark 标志= True 会提高性能,但结果的可重复性可能会受到影响。因此,在某些情况下租用更实惠的带有 GTX 1080 Ti 卡的 GPU 服务器可能是一个合理的选择,或者至少在预算上与带有 RTX 3080 的训练模型相当。
不幸的是,没有时间通过 Titan RTX 运行此网格,但在这种情况下,图片很有可能保持不变。
动手研究:视觉任务中的训练和推理
在视觉任务中训练网络的下一个测试任务中,将 RTX 3090 和 RTX 3080 显卡的性能与具有 16 GB HBM2 内存的最强大(但仍然非常昂贵)的“老手”Tesla V100 的性能进行了比较。
测试使用最新版本的 NVIDIA PyTorch 框架(10 月 24 日的 20.09-py3)运行。不幸的是,这个版本不是为 Ampere 架构编译的,所以为了完全支持 RTX 30 显卡,我不得不使用 PyTorch nightly build 版本,即 1.8.0.dev20201017 + cu110。RTX 30 系列在torch.jit 上也存在一些问题,但是在为特定卡构建PyTorch 时完全消除了该问题。
在所有测试中,PyTorch 与混合精度自动化脚本一起使用,默认启用 torch.backend.cudnn.benchmark = True 标志。使用以下训练设置测试了五种分类模型的对象检测:模型前向 + 均值(无损失)+ 后向。
值得一提的是这种比较的一些细微差别。特别是,没有使用最快的 V100,因为它在虚拟机中工作。因此,可能会有一些损失,很可能可以通过更好的设置进行优化。此外,所有可用的 VRAM 都没有参与测试过程,这将允许进一步加速计算。
测试:分类训练
训练复杂神经网络模型的任务是基于 NVIDIA 卡的 GPU 服务器的核心任务,有时可以使深度学习算法的训练时间减少几个数量级。
在启动任务以获得基准结果时,对象检测的转移是在没有 NMS 的情况下进行的,并且训练的转移不包括目标匹配。换句话说,学习率在实践中很可能会降低 10-20%,而输出速度会降低约 20-30%。
测试:分类推理
在这种情况下,推理是通过现成的神经网络运行图像来获得预测的过程,非常适合部署在远程 GPU 服务器上。
总的来说,我们可以说在 Vision 任务中的训练和网络推理任务中,RTX 3090 卡平均仅比 Tesla V100 慢 15-20%,这非常令人印象深刻,尤其是考虑到价格差异。
RTX 3080 落后于 RTX 3090 的事实相对较少——至少比执行其他任务时明显少,这一事实也表明了这一点。在实践中,这意味着即使为租用基于 RTX 3080 的 GPU 服务器分配的预算相对较少,也可以在数据处理时间略有增加的情况下获得相当高的性能。
检测训练
使用 ResNet50FPN 进行对象检测的 RetinNet 测试使用以下 PyTorch 参数(10 月 24 日的 20.09-py3)、torch.backend.cudnn.benchmark = True 标志和模型前向 + 均值(无损失)+ 后向训练设置.
在这里,RTX30系列卡的滞后已经很小,这说明了新安培架构在提供此类解决方案方面无疑具有优势。事实上,RTX 3090 显卡非常出色,已被证明是“粗犷的钻石”。
预算卡相对较小的滞后表明,由于其出色的性价比,RTX 3080 应该是预算有限的原型任务的理想选择。一旦原型完成,模型就可以进行更大规模的部署,例如在带有 RTX 3090 卡的 GPU 服务器上。
结论
根据对 GeForce RTX 30 系列新图形解决方案的测试结果,我们可以自信地断言,NVIDIA 出色地完成了发布具有足够强大的张量内核以进行快速 AI 计算的图形卡的任务。在一些网络训练任务中,例如处理稀疏网络,Ampere 架构相对于 RTX20 代的优势可以将处理时间减少一半。
将 GPU 服务器与 GeForce RTX 3090 卡配合使用的优势在模型训练与内存需求增加相关的任务中尤为明显——例如,在分析医学图像、现代计算机视觉建模以及需要处理超大图像的任何地方—— ,当使用 GAN 架构时。
同时,具有 10 GB 显存的 RTX 3080 非常适合处理深度机器学习任务,因为它足以减少网络的大小或在输入中使用较小的图像来学习机器学习的基础知识。大多数架构,然后,如有必要,在更强大的 GPU 服务器上将模型扩展到所需的参数。
考虑到 A100 级卡所使用的 HBM 内存在不久的将来不太可能大幅降价,我们可以说 RTX 3090 / RTX 3080 卡在未来几年将是一项非常有效的投资。