博客专栏

EEPW首页 > 博客 > RTX 40时代,给深度学习买的显卡居然能保值9年?仔细一算绷不住了(2)

RTX 40时代,给深度学习买的显卡居然能保值9年?仔细一算绷不住了(2)

发布人:机器之心 时间:2023-01-17 来源:工程师 发布文章

RTX 40 系列的优劣


与英伟达 Turing RTX 20 系列相比,新的 Ampere RTX 30 系列具有额外的优势,例如稀疏网络训练和推理能力。其他功能,如新数据类型,应该更多地被视为一种易于使用的功能,因为它们提供与 Turing 相同的性能提升,但不需要任何额外的编程。


Ada RTX 40 系列还有更进一步的改进,例如上面介绍的张量内存加速器 (TMA) 和 8 位浮点数 (FP8)。与 RTX 30 相比,40 系也存在类似的功率和温度问题。通过正确连接电源线,可以避免 RTX 40 中电源连接器电缆熔化的问题。


稀疏网络训练


Ampere 允许以密集的速度进行细粒度结构自动稀疏矩阵乘法。这是如何运作的?取一个权重矩阵并将其分成 4 个元素的片段。现在想象这 4 个中的 2 个元素为零。如下图所示:



图片

图 1:Ampere GPU 中稀疏矩阵乘法功能支持的结构。


当你将此稀疏权重矩阵与一些密集输入相乘时,Ampere 中的稀疏矩阵张量核心功能会自动将稀疏矩阵压缩为大小一半的密集表示,如下图所示。压缩后密集压缩矩阵块被送入张量核心,该核心计算两倍于通常大小的矩阵乘法。这有效地产生了 2 倍加速,因为从共享内存进行矩阵乘法期间的带宽要求减半。


图片

图 2:稀疏矩阵在执行矩阵乘法之前被压缩为密集表示。


低精度计算


在我的工作中,我之前已经证明新数据类型可以提高低精度在反向传播过程中的稳定性 (https://arxiv.org/abs/1511.04561)。


图片

图 4:低精度深度学习 8 位数据类型。深度学习训练受益于高度专业化的数据类型。


但使用 BF16 精度,训练可能比使用 FP16 精度更稳定,同时提供相同的加速。使用 TF32 精度,你可以获得接近 FP32 的稳定性,同时提供接近 FP16 的加速。另外要使用这些数据类型,只需要将 FP32 替换为 TF32,将 FP16 替换为 BF16—— 无需更改代码!


风扇设计的问题


虽然目前 GPU 的设计充分考虑了散热,但如果将多个 GPU 彼此相邻堆叠,过热情况仍可能发生。一个解决方案是使用 PCIe 扩展器在 GPU 之间创造空间。


图片

图 5:带有 PCIe 扩展器的 4 块 GPU。


电源设计和插槽问题


RTX 3090 和 RTX 4090 是 3 插槽 GPU,因此无法在采用英伟达默认风扇设计的 4x 设置中使用它。这自然有其道理,因为它以超过 350W TDP 运行,并且在多 GPU 双插槽设置中很难冷却。RTX 3080 仅在 320W TDP 时稍好一些,冷却 4x RTX 3080 配置也将非常困难。


在 4x RTX 3090 或 4x RTX 4090 机箱中也很难为 4x 350W = 1400W 或 4x 450W = 1800W 系统供电。1600W 的电源 (PSU) 很容易买到,但只有 200W 为 CPU 和主板供电可能太紧张了。组件的最大功率只有在组件被充分利用的情况下才会使用,而在深度学习中,CPU 通常只是处于弱负载状态。因此,1600W PSU 可能与 4x RTX 3080 配合得很好,但对于 4x RTX 3090 ,最好寻找高瓦数 PSU (+1700W)。


请务必注意并非所有插座都支持 1600W 以上的 PSU,尤其是在美国。如果你买到服务器级 PSU,请注意外形尺寸 —— 确保它适合你的机箱。


你也可以在 GPU 上设置功率限制,以编程方式将 RTX 3090 的功率限制设置为 300W,而不是其标准的 350W。在 4x GPU 系统中,这节省了 200W,这可能足以构建具有 1600W PSU 的 4x RTX 3090 系统。它还有助于使 GPU 保持低温。因此,设置功率限制可以同时解决 4x RTX 3080 或 4x RTX 3090 设置、冷却和功率的两个主要问题。对于 4x 配置,仍然需要有效的大风扇 GPU(标准设计可能足以满足此要求),但这至少解决了供电问题。



图片

图 6:降低功率限制具有轻微的冷却效果。


你肯定会问,「这不会降低 GPU 的速度吗?」是的,但问题在于降低了多少。我在不同的功率限制下对图 5 所示的 4x RTX 2080 Ti 系统进行了基准测试。在推理期间对 BERT Large 的 500 个小 batch 的时间进行了基准测试(不包括 softmax 层)。我选择 BERT Large inference,因为根据我的经验,这是对 GPU 压力最大的深度学习模型。因此,我预计功率限制对该模型的影响最大。因此,此处报告的减速可能接近你可以预期的最大减速。结果如下图所示:



图片

图 7:在 RTX 2080 Ti 上给定功率限制下测得的减速。所采取的测量是推理期间 500 个 BERT Large mini-batches 的平均处理时间(不包括 softmax 层)。


可见,设置功率限制不会严重影响性能。将功率限制为降 50W 足以带动 4x RTX 3090,性能仅降低 7%。


H100 和 RTX 40 中的 8 位浮点数支持


支持 8 位浮点数 (FP8) 是 RTX 40 系列和 H100 GPU 的巨大优势。使用 8 位输入,它可以让你以两倍的速度加载矩阵乘法的数据,在缓存中存储两倍的矩阵元素,现在使用 FP8 张量核心,你可以用一块 RTX 4090 获得 0.66  PFLOPS 的算力,这比 2007 年世界上最快的超级计算机的 FLOPS 还要多。


使用 8 位精度的主要问题是:transformer 在训练过程中使用如此少的位会变得非常不稳定和易崩溃,或者在推理过程中产生无意义的结果。


图片


但 RTX 30 / A100 / Ampere 一代 GPU 已经支持 Int8,为什么 RTX 40 中的 FP8 又是一次大升级?FP8 数据类型比 Int8 数据类型稳定得多,并且很容易在层范数或非线性函数等函数中使用它,而这些函数很难用整数(Integer)数据类型来实现。这将使在训练和推理中使用它变得非常简单,我认为 FP8 训练和推理会在几个月内变得逐渐流行起来。


图片


针对不同数据类型的 Pythia 大语言模型的 4-bit 推理扩展比例。可以看到与 Int4 数据类型相比,逐位的 4 位浮点数据类型具有更好的 zeroshot 精度。


GPU 纯性能排名


下图是所有 GPU 的原始相关性能图表。我们看到 H100 GPU 的 8 位性能与针对 16 位性能优化的旧卡相比存在巨大优势。


图片


这里展示的是 GPU 的原始相对性能。例如,对于 8 位推理,RTX 4090 的性能大约是 H100 SMX 的 0.33 倍。换句话说,与 RTX 4090 相比,H100 SMX 的 8 位推理速度****倍。


对于此数据,我没有为旧 GPU 建模 8 位计算速度,这样做的原因是 8 位推理和训练在 Ada/Hopper GPU 上更有效,因为张量内存加速器 (TMA) 节省了大量寄存器,这些寄存器在 8 位矩阵乘法中非常精确。Ada/Hopper 也有 FP8 支持,这使得特别是 8 位训练更加有效。我没有为 8 位训练建模数字,因为这需要知道 Hopper/Ada GPU 上 L1 和 L2 缓存的延迟,它们是未知的,我无法访问此类 GPU。


在 Hopper/Ada 上,8 位训练性能很可能是 16 位训练性能的 3-4 倍,如果缓存像传闻的那样快的话。对于旧 GPU,它们的 Int8 推理性能接近 16 位推理性能。


深度学习 GPU 性价比


下面是按 8 位推理性能排序的所有 GPU 性价比图表。选择适合的 GPU 时需要:


1. 确定你需要的 GPU 内存(例如至少 12 GB 用于图像生成,至少 24 GB 用于处理 transformer)2. 虽然 8 位推理和训练是实验性的,但将在 6 个月内成为标准。在此期间,你可能需要做一些额外的困难编码才能使用 8 位。对于你来说这是可接受的吗?如果不是,请只看 16 位性能。3. 使用 (2) 中确定的指标,找到具有所需内存量的相对性能 / 美元最高的 GPU。


可以看到,RTX 4070 Ti 对于 8 位和 16 位推理的成本效益最高,而 RTX 3080 对于 16 位训练的成本效益仍然最高。虽然这些 GPU 性价比看来挺高,但不一定推荐使用它们,因为它们没有足够的内存用于许多用例,但它可能是你开始深度学习之旅的理想 GPU。其中一些 GPU 非常适合 Kaggle 竞赛。在数据竞赛中,人们通常可以依赖较小的模型,想要取得好成绩,工作方法比模型大小更重要。


用于学术和启动服务器的最佳 GPU 似乎是 A6000 Ada GPU(注意不要与 A6000 Turing 混淆)。H100 SXM 的性价比也很高,内存大,性能非常强。如果我要为公司 / 学术实验室构建一个小型集群,我会使用 66-80% 的 A6000 GPU 和 20-33% 的 H100 SXM GPU。如果我在买 L40 GPU 时能获得折扣价,我也会选择它们而不是 A6000,因此请关注这些 GPU 的报价。


图片

这里显示的是每美元 GPU 的相对性能,按台式计算机的成本和每块 GPU 的亚马逊和 eBay 平均价格归一化。例如,与 RTX 3090 GPU 相比,配备 RTX 4070 Ti 卡的台式计算机每美元产生的 8 位推理性能高出约 2 倍。


GPU 推荐


我创建了一个推荐流程图。这个图表在 80% 的情况下可以帮助到你,但也可能也不完全使用,因为有些选项太过昂贵了。如果是这样,你可以试着看一下上面的基准,并选择性价比最高的 GPU,仍然能满足你的日常使用。


具体来说,你可以通过在 vast.ai 或 Lambda Cloud 中运行你的问题来估计所需的 GPU 内存。如果你只是需要一个不常用的 GPU(每隔几天用那么几个小时),而且不需要下载和处理大型数据集就可以开始工作,那么 vast.ai 或 Lambda 云可能也很好用。但如果你会连续几个月使用 GPU,并且每天都有很高的使用率(如每天 12 小时),云 GPU 通常不是一个好的选择。


图片

Ada/Hopper GPU 的推荐表。按照是 / 否问题的答案,可以找到最适合你的 GPU。使用上面的成本 / 性能图表来进行选择吧。


我直接等 RTX 50 系? 


为了理解跳过这一代而购买下一代 GPU 是否有意义,我们有必要谈一谈未来的 GPU 改进会是什么样子。


过去,通过缩小晶体管的尺寸可以提高处理器的速度,而这种状态即将终结。例如,虽然缩小 SRAM 曾经可以提高其速度,但目前对 SRAM 的改进并没有再提高其性能,甚至可能是「负面改进」。虽然张量核心等逻辑变得更小,但这并不一定能使 GPU 更快,因为矩阵乘法的主要问题是将内存送到张量核心,这是由 SRAM 和 GPU RAM 的速度和大小决定的。


如果我们将内存模块堆叠成高带宽模块(HBM3+),GPU RAM 的速度仍然会提高,但对于消费者应用来说,这些模块的制造成本太高。提高 GPU 原始速度的主要方法是使用更多的功率和更多的冷却,正如我们在 RTX 30 和 40 系列中看到的那样。但这种情况不能再持续下去了。


诸如 AMD CPU 所使用的芯片是另一种改进方式。AMD 通过开发 CPU 芯粒击败了英特尔。芯粒是指用高速片上网络融合在一起的小芯片,你可以把它们看作是两个物理层面非常接近的 GPU,也可以看作是一个单一的大 GPU。它们的制造成本较低,但要组合成一个大的芯片却比较困难。因此,你需要专有技术和芯粒之间的快速连接。


AMD 在芯粒设计方面有很多经验,其下一代 GPU 将采用芯片组设计,而英伟达目前没有公开的此类设计计划。这可能意味着,与英伟达的 GPU 相比,下一代的 AMD GPU 在成本或性能方面可能表现更好。


然而,目前 GPU 的主要性能提升属于专业逻辑。例如,张量存储器加速器(TMA)单元节省了宝贵的寄存器,这些寄存器现在被释放出来以进行更多的计算。这对 8 位计算尤为重要。


总体来说,低位精度是几年内的另一个直接的发展方向。在接下来的几个月里,我们将看到 8 位推理和训练的广泛采用,以及在明年看到 4 位推理的普及。目前,4 位的训练技术并不存在,但看起来很有希望,我预计在 1-2 年内将训练出第一个具有竞争性预测性能的高性能 FP4 大型语言模型(LLM)。


目前,将训练精度提高到 2 位估计是不可能的,但这是一个比进一步缩小晶体管更容易的问题。因此,硬件方面的进展主要取决于软件和算法,这些软件和算法使我们有可能使用硬件提供的专门功能。


我们可能仍将能够改进算法 + 硬件的组合,直到 2032 年,那之后将遇到 GPU 提升的终点(类似智能手机)。2032 年之后的性能提升浪潮将来自更好的网络算法和大规模硬件。目前还不能确定消费级 GPU 是否会与此相关。或许,你需要 RTX 9090 来运行 Super HyperStableDiffusion Ultra Plus 9000 Extra 或 OpenChatGPT 5.0,但也可能有一些公司会提供高质量的 API,比 RTX 9090 的电费更便宜,让你希望用笔记本 + API 来生成图像和其他任务。


最后,我认为买 8 位精度的 GPU 将是未来九年内一项非常可靠的投资。4 位和 2 位的改进可能很小,而像排序核心这样的其他功能只有在稀疏矩阵乘法能够得到很好利用时才会变得相关。我们可能会在 2-3 年内看到一些其他的进步,这些进步会在 4 年后的下一个 GPU 中出现,但是如果我们继续依赖矩阵乘法,我们就会耗尽精力。


参考内容:

https://timdettmers.com/2023/01/16/which-gpu-for-deep-learning/#RTX_4090s_and_Melting_Power_Connectors_How_to_Prevent_Problems


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 芯片

相关推荐

技术专区

关闭