AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


构建 10 万卡 GPU 集群的技术挑战
发布日期:2024-06-18 08:05:28 浏览次数: 2543


摘要


这篇文章详细介绍了超大规模 AI 训练集群的基础设施和挑战。它首先概述了训练集群发展的必要性,以突破目前 AI 能力的瓶颈。然后重点介绍了 10 万 GPU 集群(如 OpenAI、Meta 等公司正在建设)的挑战和需求:

  1. 功耗挑战 - 10 万个 H100 GPU 集群需要超过 150MW 的 IT 功率,需要多个数据中心大楼来支持。

  2. 网络拓扑 - 需要多层次的交换机网络,并权衡成本、带宽和维护性。文中讨论了多种拓扑选择,如 Ethernet vs InfiniBand、使用中间机架还是优化机架等。

  3. 可靠性和故障恢复 - 随着规模增大,各种硬件故障变得难以避免。文章探讨了检查点、故障恢复、内存重建等机制。  

  4. 并行计算 - 介绍了数据并行、张量并行和管线并行,以及如何结合使用。

  5. 成本分析 - 比较了采用 InfiniBand、Spectrum-X Ethernet 和 Broadcom Tomahawk 5 等不同方案的成本差异。  

总的来说,这是一篇非常详尽的技术分析文章,深入解构了大规模 AI 训练集群的复杂性和技术挑战。

以下为正文。

有一种观点认为,自 GPT-4 发布以来,AI 能力停滞不前。一般来说,这种观点是正确的,但原因在于还没有人能够大规模地增加单个模型的计算量。每个发布的模型的训练计算量大致在 GPT-4 的水平(约 2e25 FLOP 训练计算量)。这是因为用于这些模型的训练计算量也大致相同。以 Google 的 Gemini Ultra、Nvidia 的 Nemotron 340B 和 Meta 的 LLAMA 3 405B 为例,它们的 FLOPS 甚至比 GPT-4 更高,但由于架构劣势,这些模型未能解锁新能力。

尽管 OpenAI 获得了更多的计算资源,但他们主要将其用于训练更小的、过度训练的、更便宜的推理模型,如 GPT-4 Turbo 和 GPT-4o。OpenAI 承认,他们最近才开始训练下一个层级的模型。

AI 的下一个显而易见的步骤是训练一个具有多达万亿参数的多模态变换器,涵盖大量的视频、图像、音频和文本。尚未有人完成这一任务,但在争夺首位的竞争中,活动非常频繁。

多个大型 AI 实验室,包括但不限于 OpenAI/Microsoft、xAI 和 Meta,正在竞相建立超过 10 万个 GPU 的集群。这些单个训练集群的服务器资本支出成本超过 40 亿美元,但由于 GPU 通常需要共址以进行高速芯片到芯片的网络连接,它们还受到数据中心容量和电力不足的严重限制。一个 10 万 GPU 的集群需要超过 150MW 的数据中心容量,并在一年内消耗 1.59 太瓦时的电力,按照标准费率 $0.078/kWh 计算,成本为 1.239 亿美元。

今天我们将深入探讨大型训练 AI 集群及其周围的基础设施。构建这些集群远比单纯投入金钱复杂得多。实现高利用率更为困难,因为各种组件的高故障率,尤其是网络故障。我们还将介绍电力挑战、可靠性、检查点、网络拓扑选项、并行方案、机架布局和这些系统的总物料清单。超过一年前,我们报道了 Nvidia 的 InfiniBand 问题,导致一些公司选择 Spectrum-X 以太网而非 InfiniBand。我们还将介绍 Spectrum-X 的主要缺陷,导致超大规模用户选择 Broadcom 的 Tomahawk 5。

为了说明 10 万 GPU 集群能提供多少计算能力,OpenAI 为 GPT-4 的训练 BF16 FLOPS 为约 2.15e25 FLOP(2150 万 ExaFLOP),使用约 2 万个 A100 进行了 90 到 100 天的训练。该集群的峰值吞吐量为 6.28 BF16 ExaFLOP/秒。在一个 10 万 H100 集群上,这个数字将飙升至 198/99 FP8/FP16 ExaFLOP/秒。这是相对于 2 万 A100 集群的峰值理论 AI 训练 FLOPs 增加了 31.5 倍。

在 H100 上,AI 实验室在万亿参数训练运行中达到了高达 35% 的 FP8 模型 FLOPs 利用率(MFU)和 40% 的 FP16 MFU回顾一下,MFU 是在考虑到开销和各种瓶颈(如功率限制、通信不稳定、重新计算、滞后和低效内核)后,峰值潜在 FLOPS 的有效吞吐量和利用率的衡量标准。使用 FP8,10 万 H100 集群只需四天即可训练 GPT-4。在一个 10 万 H100 集群上进行 100 天的训练运行,可以达到大约 6e26 的有效 FP8 模型 FLOP(600 万 ExaFLOP)。请注意,硬件的低可靠性显著降低了 MFU

电力挑战


10 万 H100 集群所需的关键 IT 电力约为 150MW。虽然 GPU 本身只有 700W,但在每个 H100 服务器中,CPU、网络接口卡(NIC)、电源模块(PSU)每个 GPU 还需要额外约 575W。除了 H100 服务器外,AI 集群还需要一系列存储服务器、网络交换机、CPU 节点、光学收发器等项目,总共占 IT 电力的 10%。对比而言,最大的国家实验室超算 El Capitan 只需 30MW 的关键 IT 电力。政府的超级计算机与行业相比相形见绌。

目前没有任何单个数据中心建筑能够容纳新的约 150MW 部署。当人们提到 10 万 GPU 集群时,一般指的是在一个校园内,而不是单个建筑。由于缺乏其他选择,X.AI 甚至在田纳西州孟菲斯改造一个旧工厂成为数据中心,以满足电力需求。

这些集群使用光学收发器进行网络连接,成本与覆盖范围成正比。长距离的“单模”DR 和 FR 收发器可以可靠地传输信号到约 500 米到约 2 公里,但成本是支持最多 50 米范围的“多模”SR 和 AOC 收发器的 2.5 倍。此外,校园级“相干”800G 收发器的范围超过 2 公里,但成本是多模收发器的 10 倍以上。

小型 H100 集群通常通过一两层交换机,以每个 GPU 400G 的速度与其他 GPU 连接。大型集群中需要更多层交换机,光学器件成本高昂。此类集群的网络拓扑因供应商、当前和未来的工作负载以及资本支出而异。

每栋楼通常包含一个或多个计算单元,通过较便宜的铜线或多模收发器连接。然后使用长距离收发器在“岛屿”之间互联。155MW 很难在一个地点提供,但我们正在追踪超过 15 个数据中心的建设,包括 Microsoft、Meta、Google、Amazon、Bytedance、X.AI、Oracle 等,它们将有足够的空间容纳 AI 服务器和网络设备。

不同客户基于数据传输基础设施、成本、维护性、电力、当前和未来的工作负载等多种因素选择不同的网络拓扑。因此,有些客户选择基于 Broadcom Tomahawk 5 的交换机,有些坚持使用 InfiniBand,还有些选择 NVIDIA Spectrum-X。接下来,我们将深入讨论原因。

回顾并行性


为了理解网络设计、拓扑、可靠性问题和检查点策略,我们首先回顾一下用于万亿参数训练的三种并行性:数据并行、张量并行和流水线并行。我们有一个关于并行性的详细解释。

数据并行性 是最简单的并行形式,每个 GPU 持有整个模型权重的副本,每个 GPU(等级)接收不同的数据子集。这种并行性通信量最少,因为只需要在每个 GPU 之间求和(全规约)梯度。不幸的是,数据并行性仅在每个 GPU 有足够内存存储整个模型权重、激活和优化器状态时有效。对于像 GPT-4 这样的 1.8 万亿参数模型,训练时模型权重和优化器状态可能需要高达 10.8TB 的内存。

为了克服这些内存限制,使用张量并行性。在张量并行性中,每层的工作和模型权重分布在多个 GPU 上,通常跨隐藏维度分布。通过多次在每层的自注意、前馈网络和层归一化之间的全规约交换中间工作。需要高带宽,特别是非常低的延迟。实际上,域内的每个 GPU 像一个巨大的 GPU 一样在每层上协同工作。张量并行性按张量并行性等级数量减少每个 GPU 使用的总内存。例如,今天通常使用 8 个张量并行性等级在 NVLink 上,因此这将使每个 GPU 的使用内存减少 8 倍。

另一种克服每个 GPU 无法容纳模型权重和优化器状态的挑战的方法是使用流水线并行性。使用流水线并行性时,每个 GPU 只负责一部分层的计算,并将输出传递给下一个 GPU。这种技术按流水线并行性等级减少所需内存量。流水线并行性具有高通信量要求,但不如张量并行性重。

为了最大化模型 FLOP 利用率(MFU),公司通常将三种并行性结合起来形成 3D 并行性。然后在 H100 服务器内应用张量并行性,在同一个岛内的节点之间使用流水线并行性。由于数据并行性通信量最小,岛之间的网络较慢,因此在岛之间使用数据并行性。

网络设计考虑因素


网络是根据并行性方案设计的。如果每个 GPU 以最大带宽在全树拓扑中连接到每个其他 GPU,则成本将非常高,因为需要四层交换机。随着每层额外的网络需要光学设备,光学器件的成本将急剧上升。

因此,没有人会为大型 GPU 集群部署完全全树架构。相反,他们依靠在计算岛中建立完全全树架构,同时在这些岛之间具有较小带宽。有多种方法可以实现,但大多数公司选择在网络顶部层“超额订阅”。例如,查看 Meta 的上一代 GPU 集群架构,最多 32,000 个 GPU。有 8 个总岛,每个岛之间具有全带宽,然后在顶部层有 7:1 的超额订阅。岛之间的网络比岛内的网络慢 7 倍。

GPU 部署有多个网络,前端、后端和扩展网络(NVLink)。在某些情况下,您可能会在每个网络中运行不同的并行方案。NVLink 网络可能是唯一足够快以满足张量并行性带宽要求的网络。您的后端网络通常可以轻松处理大多数其他类型的并行性,但如果存在超额订阅,则通常只限于数据并行性。

此外,有些公司甚至没有在顶层超额订阅带宽的岛屿。相反,他们使用从后端网络到前端网络的移动。

混合 InfiniBand 和前端以太网结构


一家公司跨多个 InfiniBand 岛屿使用前端以太网进行训练。这是因为前端网络的成本更低,可以利用现有的数据中心校园网络和区域路由。

不幸的是,随着模型大小由于稀疏技术(如 MoE)而快速增长,前端网络需要处理的通信量也随之增长。必须仔细优化这一权衡,否则前端网络带宽增长过大会使其成本与后端网络带宽相匹配。

需要注意的是,Google 在其多 TPU pod 训练运行中完全使用前端网络。他们的“计算结构”称为 ICI,最多扩展到 8960 个芯片,通过昂贵的 800G 光学和光学电路交换机连接每 64 个 TPU 水冷机架。因此,Google 必须通过使 TPU 前端网络比大多数 GPU 前端网络更强大来弥补。

在训练期间使用前端网络时,必须在岛之间进行网络拓扑感知的全规约。首先,每个 pod 或岛将在 InfiniBand 或 ICI 网络内执行本地规约散射,这将使每个 GPU/TPU 拥有梯度的一个子部分的总和。接下来,通过前端以太网网络在每个主机等级之间执行跨 pod all reduce,最后每个 pod 将执行 pod 级别的全规约。

前端网络还负责加载数据。随着我们向多模态图像和视频训练数据的发展,前端网络需求将呈指数增长。在这种情况下,前端网络带宽将在加载大型视频文件和执行 all reduce 之间竞争。此外,滞后问题增加,如果存储网络流量不规则,会导致整个 all reduce 变慢,无法预测建模。

另一种选择是四层 InfiniBand 网络,具有 7:1 超额订阅,每个 pod 具有 24,576 个 H100,非阻塞三层系统。这比使用前端网络更容易增加未来带宽,因为增加 A 楼的交换机到 B 楼交换机的光纤收发器比升级集群中每个机箱的前端网络 NIC 更容易。

这创造了一个更稳定的网络模式,因为前端网络可以专注于加载数据和检查点,后端网络可以专注于 GPU 到 GPU 通信。这也有助于滞后问题。不幸的是,四层 InfiniBand 网络非常昂贵,因为需要额外的交换机和收发器。

轨道优化 vs 机架中部


为了提高维护性并增加铜线网络(< 3 米)和多模网络(< 50 米)的使用,一些客户选择放弃 NVIDIA 推荐的轨道优化设计,转而采用机架中部设计。

轨道优化是一种技术,每个 H100 服务器连接到 8 个不同的叶交换机(而不是全部连接到同一个机架中部交换机),使每个 GPU 只需一次交换机跳跃即可与更远的 GPU 通信。这提高了现实世界 all2all 集体通信性能。all2all 集合通信在混合专家模型(MoE)专家并行性中被广泛使用。

轨道优化设计的缺点是,必须连接到不同距离的叶交换机,而不是一个靠近所有 8 个 GPU 的机架中部交换机。当交换机可以放置在同一机架中时,可以使用无源直连电缆(DAC)和有源电缆(AEC),但在轨道优化设计中,交换机不一定在同一机架中,必须使用光学设备。此外,叶到脊的距离可能超过 50 米,必须使用单模光收发器。

使用非轨道优化设计,可以将连接 GPU 到叶交换机的 98,304 个光收发器替换为廉价的直连铜线,使 25-33% 的 GPU 结构为铜线。如下图所示,GPU 到叶交换机连接不再是向上走到电缆托盘再侧向 9 个机架到专用的轨道优化叶交换机机架,而是叶交换机现在位于机架中部,使每个 GPU 可以使用 DAC 铜缆。

DAC 铜缆运行更凉爽,使用更少的电力,且比光学设备便宜得多。由于 DAC 电缆运行更凉爽,使用更少的电力,并且更可靠,这导致网络波动(网络链路间歇性断开)和故障减少,这是所有使用光学设备的高速互连的主要问题。使用 DAC 铜缆时,量子-2 IB 脊交换机功耗为 747 瓦。使用多模光收发器时,功耗增加到最多 1,500 瓦。

此外,对于数据中心技术人员来说,轨道优化设计的初始布线非常耗时,因为每个链路的末端相距 50 米,不在同一个机架中。相比之下,在机架中部设计中,叶交换机与所有连接到叶交换机的 GPU 在同一个机架中。在机架中部设计中,可以在集成工厂测试计算节点到叶交换机的链路,因为它们都在同一个机架中。

可靠性与恢复


可靠性是这些大型集群的最重要的操作问题之一,因为当前前沿训练技术的同步性质。最常见的可靠性问题是 GPU HBM ECC 错误、GPU 驱动卡住、光学收发器故障、NIC 过热等。节点不断宕机或输出错误。

为了保持故障恢复的平均时间(MTTR)较低并继续训练,数据中心必须在现场保持热备用节点和冷备用组件。当发生故障时,与其停止整个训练运行,最好是交换已经开启的备用工作节点并继续训练。这些服务器的停机时间通常是简单地电源循环/重启节点,解决出现的问题。

然而,简单的重启并不能解决所有问题,很多情况下需要数据中心技术人员进行物理诊断和更换设备。在最好的情况下,数据中心技术人员修复损坏的 GPU 服务器需要几个小时,但在很多情况下,损坏的节点需要几天时间才能重新投入训练运行。损坏的节点和备用热节点是未能积极贡献于模型的 GPU,尽管理论上具有 FLOPS 的计算能力。

随着模型的训练,频繁将模型检查点存储到 CPU 内存或 NAND SSD 中,以防止发生 HBM ECC 错误。当发生错误时,必须从较慢的内存层重新加载模型权重并重新启动训练。故障容错训练技术,如 Oobleck,可以提供用户级应用驱动的方法来处理 GPU 和网络故障。

不幸的是,频繁的检查点和故障容错训练技术会影响系统的整体 MFU。集群需要不断暂停以将当前权重保存到持久性内存或 CPU 内存。此外,当从检查点重新加载时,通常每 100 次迭代保存一次。这意味着最多只能丢失 99 步有用的工作。在一个 10 万集群上,如果每次迭代耗时 2 秒,由于第 99 步的故障,最多会丢失 229 GPU 天的工作。

另一种故障恢复方法是让备用节点通过后端结构从其他 GPU 上 RDMA 复制。这因为后端 GPU 结构大约为 400Gbps,每个 GPU 有 80GB 的 HBM 内存,大约需要 1.6 秒来复制权重。这种方法最多只能丢失 1 步(因为更多的 GPU HBM 拥有最新的权重副本),所以这只会丢失 2.3 GPU 天的计算+另一个 1.85 GPU 天从其他 GPU HBM 内存复制权重。

大多数领先的 AI 实验室都已实施了这一点,但许多较小的公司仍然坚持使用简单的、慢的、低效的技术来从检查点重新启动,以应对所有故障。通过内存重构进行故障恢复的实施可以为大型训练运行增加多个百分点的 MFU。

最常见的问题之一是 InfiniBand/RoCE 链路故障。即使每个 NIC 到叶交换机链路的故障平均时间(MTTF)为 5 年,由于收发器数量众多,新的工作集群在 26.28 分钟内就会发生第一次作业故障。如果没有通过内存重构进行故障恢复,10 万 GPU 集群由于光学设备故障而重新启动训练运行所花费的时间将超过模型的前进时间

由于每个 GPU 通过 PCIe 交换机直接连接到 ConnectX-7 NIC,因此网络架构级别没有故障容错,因此故障必须在用户训练代码中处理,直接增加代码库的复杂性。这是当前 NVIDIA 和 AMD GPU 网络结构的主要挑战之一,即使一个 NIC、一个收发器或一个 GPU 故障,整个服务器也会下线。

目前正在进行大量工作以使网络可重构且节点不再如此脆弱。这项工作至关重要,因为现状意味着仅一个 GPU 或一个光学故障,整个 GB200 NVL72 都会下线。一个价值数百万美元的 72 GPU 机架下线比一个价值数十万美元的 8 GPU 服务器更具灾难性。

Nvidia 注意到了这一重大问题,并添加了一个专用于可靠性、可用性和可维护性(RAS)的引擎。我们相信 RAS 引擎分析芯片级数据,如温度、恢复的 ECC 重试次数、时钟速度、电压等,预测芯片可能何时故障并警告数据中心技术人员。这将允许他们进行主动维护,如使用更高的风扇速度配置文件以维持可靠性,在稍后的维护窗口取出服务器进行进一步的物理检查。此外,在启动训练作业之前,每个芯片的 RAS 引擎将进行综合自检,如运行矩阵乘法以检测静默数据损坏(SDC)。

Cedar-7


一些客户(如 Microsoft/Openai)通过使用 Cedar Fever-7 网络模块每台服务器,而不是使用 8 个 PCIe 形式的 ConnectX-7 网络卡,来进行成本优化。使用 Cedar Fever 模块的主要好处之一是只需使用 4 个 OSFP 笼,而不是 8 个 OSFP 笼,从而允许在计算节点端使用双端口 2x400G 收发器,而不仅仅是在交换机端。这将 GPU 到叶交换机的收发器数量从 98,304 减少到 49,152。

由于 GPU 到叶交换机的链接减半,这也有助于减少首次作业故障的估计时间。我们估计,每个双端口 2x400G 链接的平均故障时间(MTTF)为 4 年(相对于单端口 400G 链接的 5 年),这将首次作业故障的估计时间提高到 42.05 分钟,这比没有 Cedar-7 模块的 26.28 分钟要好得多。

Spectrum-X NVIDIA


目前我们正在部署一个使用 NVIDIA Spectrum-X 以太网的 10 万 H100 集群,并将在年底前投入使用。

去年我们报道了 Spectrum-X 在大型网络中的各种优势。除了性能和可靠性优势外,Spectrum-X 还具有巨大的成本优势。Spectrum-X 以太网的每个 SN5600 交换机有 128 个 400G 端口,而 InfiniBand NDR Quantum-2 交换机只有 64 个 400G 端口。值得注意的是,Broadcom 的 Tomahawk 5 交换机 ASIC 也支持 128 个 400G 端口,使当前一代 InfiniBand 处于劣势。

一个完全互连的 10 万集群可以是 3 层而不是 4 层。4 层而不是 3 层意味着需要多 1.33 倍的收发器。由于 Quantum-2 交换机的较低径数,10 万集群上完全互连的 GPU 数量最多限制为 65,536 个 H100。下一代 InfiniBand 交换机称为 Quantum-X800,通过具有 144 个 800G 端口解决了这一问题,虽然从“144”这个数字可以看出,这设计用于 NVL72 和 NVL36 系统,并预计在 B200 或 B100 集群中使用不多。尽管使用 Spectrum-X 可以节省成本,但不幸的是,您仍需购买 Nvidia LinkX 产品线的高价收发器,因为其他收发器可能无法工作或未经过 Nvidia 验证。

使用 Spectrum-X 的主要优势在于它首先得到了 NVIDIA 库(如 NCCL)的第一类支持,Jensen 将您推到其新产品线的首批客户队列中。相比之下,使用 Tomahawk 5 芯片,您需要大量内部工程资源优化网络与 NCCL,以实现最大吞吐量。

使用以太网而不是 InfiniBand 作为 GPU 结构的一个不幸的缺点是,以太网目前不支持 SHARP 网络内规约。网络内规约通过在网络交换机内的张量核心中执行每个 GPU 的求和来工作。SHARP 的理论网络带宽增加 2 倍,因为它减少了每个 GPU 需要执行的发送和写入次数。

Spectrum-X 的另一个缺点是,对于第一代 400G Spectrum-X,Nvidia 使用 Bluefield3 而不是 ConnectX-7 作为临时解决方案。我们预计在未来几代 800G Spectrum-X 中,ConnectX-8 将完美工作。然而,Bluefield-3 和 ConnectX-7 卡之间的价格差异约为 300 美元,其他缺点是 Bluefield-3 卡的功耗增加了 50 瓦。因此,对于每个节点,额外需要 400W 的功率,降低了整体训练服务器的“智能每皮焦耳”。使用 Spectrum X 的数据中心现在需要额外的 5MW 电力用于 10 万 GPU 部署,而与 Broadcom Tomahawk 5 部署使用相同网络架构相比。

Broadcom Tomahawk 5


为了避免支付 Nvidia 的高额费用,许多客户正在部署基于 Broadcom Tomahawk 5 的交换机。每个 Tomahawk 5 交换机有与 Spectrum-X SN5600 交换机相同数量的端口,即 128 个 400G 端口,如果您的公司拥有优秀的网络工程师,可以实现类似的性能。此外,您可以从世界上任何供应商处购买任何通用收发器和铜缆,并进行混合搭配。

大多数客户直接与基于 Broadcom 交换机 ASIC 的 ODM 如 Celestica 合作,以及与 Innolight 和 Eoptolink 等公司合作采购收发器。基于交换机成本和通用收发器成本,Tomahawk 5 比 Nvidia InfiniBand 更便宜,与 Nvidia Spectrum-X 相比也更便宜。

不幸的是,您需要有足够的工程能力来为 Tomahawk 5 补丁和优化 NCCL 通信集群。NCCL 通信集群开箱即用仅针对 Nvidia Spectrum-X 和 Nvidia InfiniBand 进行了优化。好消息是,如果您有 40 亿美元用于 10 万集群,您有足够的工程能力为 NCCL 编写优化并切换离开 InfiniBand。

接下来我们将讨论 4 种不同 10 万 GPU 集群网络设计的物料清单、相关的交换机和收发器成本,展示不同网络设计的优势,并展示一个为减少光学设备优化的 GPU 集群的物理平面图。

(后续需付费阅读,有需求可私信)



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询