2023 年最佳多 GPU 深度学习系统指南

简介: 2023 年最佳多 GPU 深度学习系统指南

本文提供了有关如何构建用于深度学习的多 GPU 系统的指南,并希望为您节省一些研究时间和实验时间。

1. GPU

让我们从有趣(且昂贵)的部分开始!

购买 GPU 时的主要考虑因素是:

  • 内存(显存)
  • 性能(张量核心、时钟速度)
  • 槽宽
  • 功耗(热设计功耗)

内存

对于当今的深度学习任务,我们需要大量的内存。大语言模型甚至需要进行微调,而且计算机视觉任务可能会占用大量内存,尤其是在使用 3D 网络时。当然,最重要的方面是 GPU 内存。对于大语言模型,我建议至少 24 GB 内存,对于计算机视觉任务,我不会低于 12 GB。

性能

第二个标准是性能,可以用 FLOPS(每秒浮点运算次数)来估计:

过去最关键的数字是电路中CUDA核心的数量。然而,随着深度学习的出现,NVIDIA 推出了专门的张量核心,可以在每个时钟执行更多的 FMA(融合乘加)运算。这些已经得到了主要深度学习框架的支持,并且是您在 2023 年应该寻找的。

下面是我经过大量手动工作后编译的按内存分组的 GPU 原始性能图表:

请注意,在比较不同 GPU 的性能时必须格外小心。不同代/架构的张量核心不具有可比性。例如,A100 每个时钟执行 256 次 FP16 FMA 操作,而 V100“仅”64 次。此外,较旧的架构(Turing、Volta)不支持 32 位张量操作。

使比较变得更加困难的是,NVIDIA并不总是报告FMA,甚至在白皮书中也没有,并且相同架构的GPU可以有不同的FMA。另请注意,NVIDIA 经常宣传具有稀疏性的张量 FLOPS,这是一个仅在推理时可用的功能。

为了确定价格方面最好的 GPU,我使用 eBay API 收集了 eBay 价格,并计算了新卡每美元 (USD) 的相对性能:

要选择最适合您预算的 GPU,您可以选择一款具有您能承受的最大内存的顶级 GPU。我的建议是:

槽宽

在构建多 GPU 系统时,我们需要规划如何将 GPU 物理安装到 PC 机箱中。随着 GPU 变得越来越大,尤其是游戏系列,这变得更加成为一个问题。消费类主板拥有多达 7 个 PCIe 插槽,PC 机箱也是围绕此设置构建的。根据制造商的不同,4090 很容易占用 4 个插槽,因此您可以明白为什么这会成为一个问题。此外,我们应该在非鼓风机式或水冷式的 GPU 之间至少留出 1 个插槽,以避免过热。我们有以下选择:

  • 水冷

水冷型号最多需要 2 个插槽,但价格更昂贵。您也可以转换风冷 GPU,但这将使保修失效。如果您没有获得一体化 (AIO) 解决方案,您将需要构建自定义水冷回路。如果您想安装多个水冷 GPU,情况也是如此,因为 AIO 散热器可能不适合机箱。构建自己的循环是有风险的,我个人不会使用昂贵的卡来这样做。我只会直接从制造商那里购买 AIO 解决方案(规避风险)。

  • 风冷 2–3 插槽卡和 PCIe 转接卡

在此场景中,您将 PCIe 插槽上的卡与通过 PCIe 转接电缆连接的卡交错放置。 PCIe 转接卡可以放置在 PC 机箱内部或露天的某个位置。无论哪种情况,您都应该确保 GPU 受到保护(另请参阅有关 PC 机箱的部分)。

电源

现代 GPU 变得越来越耗电。例如,A 4090 需要 450 W,而 H100 最高可达 700 W。除了电费外,安装三个或更多 GPU 也成为一个问题。

如果您接近可以从 PSU/电源插座获取的最大功率,则此问题的解决方案是功率限制。降低 GPU 最大消耗功率所需要做的就是:

sudo nvidia-smi -i <GPU_index> -pl <power_limit>

where:
GPU_index: the index (number) of the card as it shown with nvidia-smi
power_limit: the power in W you want to use

事实证明,功率限制 10-20% 可使性能降低不到 5%,并使卡保持较低温度(Puget Systems 进行的实验)。例如,将四个 3090 的功率限制 20%,会将其功耗降低至 1120w,并且可以轻松安装在 1600w PSU/1800w 插座中(假设其余组件为 400w)。

2. 主板和CPU

构建的下一步是选择支持多个 GPU 的主板。这里主要考虑的是 PCIe 通道。我们至少需要每张卡具有 x8 通道的 PCIe 3.0 插槽(请参阅 Tim Dettmers 的帖子)。 PCIe 4.0 或 5.0 较少见,大多数深度学习用例都不需要。

除了插槽类型之外,插槽的间距也将决定 GPU 的放置位置。确保您已经检查了间距,并且您的 GPU 确实可以到达您想要的位置。请注意,当您使用多个 GPU 时,大多数主板会对某些 x16 插槽使用 x8 配置。

无需花费大量时间进行研究,并且让您的系统面向未来的最简单方法是选择到处都有 x16 插槽的主板。您可以使用 PCPartPicker 并筛选具有 7 个以上 PCIe x16 插槽的主板。这为我们提供了 21 种产品可供选择。然后,我们通过选择我们想要的最小 RAM 量(例如 128 GB)和 DDR4 / DDR5 类型来减少列表,将其减少到 10 个产品:

上述列表中支持的 CPU 插槽为 LGA2011–3 和 LGA2066。然后我们进行 CPU 选择并选择具有所需核心数量的 CPU。这些主要用于数据加载和批量准备。目标是每个 GPU 至少有 2 个核心/4 个线程。对于 CPU,我们还应该检查它支持的 PCIe 通道。过去十年的任何 CPU 都应该支持至少 40 个通道(在 x8 通道上覆盖 4 个 GPU),但安全总比后悔好。通过过滤,例如具有上述插槽的 16 个以上核心,我们得到以下 CPU:

  • Intel Xeon E5 (LGA2011–3)
  • Intel Core i9 (LGA2066)

然后,我们根据核心数量、可用性和价格选择我们最喜欢的主板和 CPU 组合。

LGA2011–3 和 LGA2066 插槽都很旧(分别是 2014 年和 2017 年),。华擎 X99 WS-E 主板和 18 核 Intel Xeon E5–2697 V4 在二手状态下的成本不到 300 美元。不要购买更便宜的 ES 或 QS 版本的 CPU,因为这些是工程样本,可能会失败。

如果您想购买更强大的和/或更新的和/或 AMD CPU,您可以查看带有例如4 个以上 PCIe x16 插槽,但请确保检查插槽间距。

3. 内存

这里最重要的方面是 RAM 的数量。 RAM 用于深度学习周期的不同地方:从磁盘加载数据以进行批量创建、加载模型,当然还有原型设计。所需的数量在很大程度上取决于您的应用程序(例如,3D 图像数据将需要更多的额外 RAM),但您的目标应该是 GPU 的 VRAM 总量的 1 倍到 2 倍。类型至少应该是 DDR4,但 RAM 不是很重要,所以不要把钱花在那里️。

购买 RAM 时,您应该确保外形尺寸、类型、模块数量和每个模块的内存都符合您的主板规格。

4. 硬盘

另一个可以保存的组件是磁盘。同样,磁盘空间量很重要并且取决于应用程序。您不一定需要超快磁盘或 NVME,因为它们不会影响您的深度学习性能。无论如何,数据都会加载到 RAM 中,为了不造成瓶颈,您可以简单地使用更多并行 CPU 工作线程。

5. 电源

正如我们所见,GPU 是耗电组件。在设置多 GPU 系统时,PSU 的选择成为一个重要的考虑因素。大多数 PSU 可提供高达 1600w 的功率 — 这符合美国插座的功率限制。有一些 PSU 可以提供更多服务,但需要一些研究,而且它们特别针对矿工。

要确定系统的瓦数,您可以再次使用 PCPartPicker 来计算构建的总量。为此,我们需要额外增加 10% 以上,以便安心,因为 GPU 的功率峰值将超过其规格。

一个重要的标准是标有 80 PLUS 等级的 PSU 效率。电源将达到其宣传的瓦数,但在此过程中会损失一些功率。 80 PLUS 铜牌电源的额定效率为 82%,与其他电源相比效率将达到 87% 的 Gold。如果我们有一个消耗 1600w 功率的系统,并且我们使用它的时间为 20%,那么假设成本为 0.16 美元/千瓦时,我们使用具有 Gold 评级的 GPU 每年可以节省 22 美元。

当满负载运行时,某些 PSU 比其他 PSU 噪音更大,因为它们使用高转速的风扇。如果您在靠近箱子的地方工作(或睡觉!),这可能会产生一些影响,因此最好检查手册中的分贝。

选择电源时,我们需要验证它是否有足够的连接器来容纳我们的所有部件。 GPU 特别使用 8(或 6+2)针电缆。这里需要注意的一个重要事项是,对于 GPU 的每个电源插槽,我们应该使用单独的 8 针电缆,而不是使用同一电缆的多个输出(菊花链)。 8 针电缆的额定功率通常约为 150w。当使用一根电缆连接多个电源插槽时,GPU 可能无法获得足够的功率和油门。

6. 机箱

最后但并非最不重要的一点是,选择电脑机箱并非易事。 GPU 可能会变得巨大,而某些情况下可能无法容纳它们。例如 4090 的长度可达 36 厘米!

最重要的是,使用 PCIe 转接卡安装 GPU 可能需要一些技巧。有一些较新的机箱允许安装附加卡,特别是像 Phanteks Enthoo 719 这样的双系统机箱。另一个选择是 Lian-Li O11D EVO,它可以通过 Lian-Li 直立 GPU 支架将 GPU 放置在直立位置。我没有这些手机壳,所以我不确定它们是否适合,例如多个 3090 / 4090。但是,即使您的 PC 机箱不直接用 Lian-Li 支架支撑 GPU,您仍然可以直立安装 GPU。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
5天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第26天】 随着人工智能技术的飞速发展,特别是深度学习在图像处理领域的突破性进展,使得自动驾驶技术得以快速进步。本文旨在探讨基于深度学习的图像识别技术如何被集成应用于自动驾驶系统中,以提升车辆的环境感知能力和决策准确性。文中不仅介绍了相关的技术原理和架构,还分析了当前面临的主要挑战及潜在的优化策略。
22 2
|
1天前
|
机器学习/深度学习 自动驾驶 安全
基于深度学习的图像识别技术在自动驾驶系统中的应用网络安全与信息安全:防御前线的关键技术与意识
【4月更文挑战第30天】随着人工智能技术的飞速发展,深度学习已成为推动多个技术领域革新的核心力量。特别是在图像识别领域,深度学习模型已展现出超越传统算法的性能。在自动驾驶系统中,准确的图像识别是确保行车安全和高效导航的基础。本文将探讨深度学习在自动驾驶中图像识别的应用,分析关键技术挑战,并提出未来的发展方向。
|
1天前
|
机器学习/深度学习 自动驾驶 安全
深入理解操作系统内存管理:策略与实现基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第30天】 在现代计算机系统中,操作系统的内存管理是确保系统高效、稳定运行的关键组成部分。本文将深入探讨操作系统中内存管理的多种策略及其实现机制,包括但不限于分页、分段和段页式结合等技术。我们将剖析内存分配的原理,讨论虚拟内存技术的实现以及它如何提供更大的地址空间并允许内存的交换。同时,我们还会涉及内存保护机制,它们是如何防止程序访问未授权的内存区域。最后,文中将对现代操作系统如Linux和Windows中的内存管理实践进行比较分析,以期给读者提供全面而深入的理解和参考。 【4月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已经
|
1天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已成为推动技术创新的核心动力之一。特别是在图像识别领域,深度学习技术已经取得了显著的成就。本文旨在探讨基于深度学习的图像识别技术在自动驾驶系统中的应用,并分析了该技术对提升自动驾驶汽车环境感知能力的重要性。通过构建高效准确的深度神经网络模型,实现对道路场景中各种物体的快速识别与分类,从而为自动驾驶决策提供可靠的数据支持。
|
1天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第30天】 随着人工智能技术的不断进步,深度学习在图像处理与分析方面取得了革命性的突破。尤其是在自动驾驶领域,基于深度学习的图像识别技术已经成为实现车辆环境感知的关键。本文将探讨深度学习模型如何改善自动驾驶系统中的图像识别任务,包括物体检测、分类及追踪,并分析这些技术对提高自动驾驶汽车安全性和可靠性的影响。我们还将讨论目前面临的挑战以及未来的发展趋势。
|
1天前
|
机器学习/深度学习 数据采集 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第30天】 本文深入探讨了深度学习技术在自动驾驾驶车辆图像识别系统中的应用,重点分析了卷积神经网络(CNN)的结构优化、训练策略和在实际场景中的部署问题。通过对比不同深度学习模型的性能表现,揭示了数据处理、模型泛化能力和实时性要求之间的平衡机制。文章不仅总结了现有技术的局限性,还提出了未来研究的方向,旨在为自动驾驶领域的技术进步提供理论支持和实践指南。
|
2天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2目标检测算法的仿真结果,包括多张检测图像。YOLOv2是实时检测算法,由卷积层和全连接层构成,输出张量包含边界框坐标和类别概率。损失函数由三部分组成。程序使用75%的数据进行训练,剩余25%作为测试集。通过ResNet-50预训练模型构建YOLOv2网络,并用SGDM优化器进行训练。训练完成后,保存模型为`model.mat`。
15 2
|
2天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第29天】 本文深入探讨了深度学习技术在图像识别领域的最新进展,并重点分析了该技术如何被集成到自动驾驶系统中。通过对比传统机器学习方法,我们展示了深度学习在处理复杂视觉数据时的优势,包括其在高维数据处理、特征提取和模式识别方面的能力。文章还讨论了目前自动驾驶领域面临的主要挑战,如实时性要求、传感器融合以及环境适应性,并提出了几个创新的解决方案。最后,对当前技术的局限性进行了批判性分析,并对未来的发展趋势提供了展望。
|
2天前
|
机器学习/深度学习 监控 算法
基于深度学习的图像识别技术在智能监控系统中的应用
【4月更文挑战第29天】 随着人工智能技术的飞速发展,尤其是深度学习算法在图像处理领域的突破性进展,基于深度学习的图像识别技术已经成为智能视频监控系统的核心。本文将深入探讨深度学习技术如何提升监控系统中目标检测、分类和跟踪的准确性与效率,并分析其在实际应用中的优势与挑战,为未来智能监控技术的发展提供参考。
|
2天前
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第29天】 随着人工智能技术的飞速发展,深度学习已成为推动计算机视觉领域前进的核心动力。特别是在图像识别任务中,深度学习模型已经表现出超越人类的识别能力。本文将探讨一种基于深度学习的图像识别技术,并分析其在自动驾驶系统中的应用。首先,介绍了卷积神经网络(CNN)的基本结构和工作原理,其次,展示了通过训练得到的模型如何在复杂的交通环境中准确识别行人、车辆和其他障碍物。最后,讨论了该技术在提高自动驾驶安全性方面的潜力及面临的挑战。