AI知识库

53AI知识库

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


手把手教你搭建10万卡GPU集群
发布日期:2024-07-25 20:29:45 浏览次数: 2448


前言

为什么要建设10万卡集群,这里不说了,反正人家都在建,当前AI公司第一梯队的门票是3.2万卡集群,明年第一梯队的门票可能会提升到10万卡(H100)集群。

一个10万张H100构成的AI集群功耗约为150MW,资本开支超过40亿美金(300亿人民币),每年耗能1.59 TWh(1.59 * 10e9千瓦时)。如果按0.078美元/kWh的标准费率测算,每年电费就得1.24亿美金。

挑战

(1)能源跟空间挑战

算力瓶颈的背后,有着“能源”和“工程能力”这两座大山。

一个由10万块H100构成的集群所需的功率约为150MW。而迄今为止最大的美国国家超级计算机El Capitan只需要30MW的功率,只有其1/5。

这150MW具体可以分为H100 Server内部的功耗,以及H100 Server外部的配套设备功耗。

H100 Server内部,每块GPU自身功耗约为700W,为每块GPU配套的CPU、NIC(Network Interface Card)、PSU(Power Supply Units)大约需要575W的功耗。

H100 Server外部,AI集群还囊括了存储服务器、网络交换机、光收发器等许多其他设备,约占总功耗的10%。

目前世界上还没有任何一座数据中心有能力部署150MW的AI集群。X.AI 甚至将田纳西州孟菲斯市的一家旧工厂改造成了数据中心。

这些AI集群通过光通信进行互联,而光通信的成本与传输距离成正比。

多模 SR 和 AOC收发器的最长传输距离约为50米。

长距离单模DR和FR收发器的传输距离为500米~2000米,但其成本是前者的2.5倍。

园区级 800G 相干光收发器的传输距离可以超过2000米,但成本要高出10倍以上。

目前要在一个数据中心内集中提供150MW功率是相当困难的,因此网络拓扑结构的设计变得尤为重要。

对于大规模H100集群,需要增加更多层交换机,光学设备的成本也会变得非常昂贵。不同的网络拓扑结构会带来截然不同的资本开支。

每栋数据中心大楼可以称为一个计算岛(compute island),里面包含多个“计算仓”(compute pod),这些计算仓之间用廉价的铜缆或者多模互联。随后多个“计算岛”(compute island)之间通过长距离的单模光通信进行互联。

由于数据并行相对的通信量比较少,因此,可以跑在不同 计算岛之间: 


在这个微软开发集群中,每个机架支持高达40kW的功率密度,每个机架容纳四个H100节点。

目前,这个拥有10万+节点的集群的4栋建筑中,有3栋已经建成(3个计算岛),每个计算岛约 1000~1100个机柜,每个计算岛约 50MW的功耗; 

(2) 网络架构及并行策略

要深入理解网络拓扑结构,首先要搞懂3种不同类型的并行设计方法,即数据并行、张量并行、流水线并行。

数据并行(Data Parallelism)

数据并行是最简单的并行形式,每块GPU都拥有模型权重的完整副本,并接受不同的训练数据子集。

这种并行方式的通信要求最低,因为GPU之间只需要传递梯度数据。

但是,数据并行要求每块GPU都有足够的内存来存储整个模型的权重。这对于像 GPT-4 这样拥有1.8万亿参数的模型而言,意味着高达10.8 TB的内存占用。

张量并行(Tensor Parallelism)

为了克服数据并行带来的内存限制,人们发明了张量并行技术。

张量并行将模型每一层的工作和权重分布在多个GPU上,通常沿着隐藏维度进行分割。这意味着每个GPU只处理模型的一部分,而不是整个模型。

在张量并行中,GPU之间需要频繁通信,以交换中间计算结果,从外面看起来就像是一块巨型GPU一样。因此,张量并行需要高带宽和低延迟的网络连接。

通过张量并行,可以有效减少每块GPU的内存要求。比如使用8个张量并行等级进行NVLink连接时,每块GPU使用的内存可以减少8倍。

流水线并行(Pipeline Parallelism)

另一个克服GPU内存限制的方法是流水线并行技术。

流水线并行的核心思想是将模型的不同层分配给不同的GPU,每块GPU只负责一部分层的计算。

当一块GPU完成层的前向、反向传播运算后,可以将中间结果传递给下一块GPU,自己则可以立即开始计算下一个数据批次。

使用流水线并行技术可以减少每个GPU所需的内存容量,因为每个GPU只存储模型的一部分层。

但它增加了GPU之间的通信量,每个GPU完成计算后,需要将数据传递给下一个GPU,这就要求有高效的网络连接来支持数据的快速传输。

流水线并行对通信量的要求很高,但没有张量并行那么高。

3D并行(3D Parallelism)

为了最大限度提高模型FLOP利用率(MFU),Hyperscaler通常会将三种并行技术结合起来,形成 3D 并行。

具体做法如下:首先在H100 Server内的GPU之间使用张量并行,然后在同一个计算岛内的节点之间使用流水线并行,最后在不同计算岛之间使用数据并行。


网络架构

进行网络拓扑设计时需要同时考虑到所用的并行化方案。

GPU部署有多种网络,包括前端网络、后端网络和扩展网络(NVLink),每个网络中运行不同的并行方案。

对于张量并行的带宽要求而言, NVLink网络可能是唯一足够快的网络。后端网络通常可以轻松处理大多数其他类型的并行,但如果存在「收敛比」,通常只能采用数据并行。

当前建设10万张H100的超级AI算力集群,可以选择的网络方案主要有三种,分别是Broadcom Tomahawk 5,Nvidia Infiniband,以及Nvidia Spectrum-X。下面我们来详细比较这三种方案的优劣。

InfiniBand

InfiniBand的优势在于,以太网并不支持SHARP网络内缩减。

而SHARP能将每个GPU需要进行的发送和写入次数减少2倍,因此它的理论网络带宽也增加了2倍。

但InfiniBand NDR Quantum-2交换机只有64个400G端口,而每个Spectrum-X以太网的SN5600交换机有128个400G端口,Broadcom的Tomahawk 5交换机ASIC也支持128个400G端口。

由于Quantum-2交换机的端口容量较低,在一个拥有10万节点的集群中,完全互联的GPU数量最多只能达到65,536个H100。

不过,下一代InfiniBand交换机——Quantum-X800,将通过144个800G端口解决这个问题,但从「144」这个数字可以看出,这是为NVL72和NVL36系统设计的,不太可能在B200或B100集群中广泛使用。

Spectrum-X

Spectrum-X的主要优势在于其得到了NVIDIA库如NCCL的一级支持——老黄会将你推到他们新产品线的首批客户队列中。

相比之下,如果你使用的是Tomahawk 5芯片,就需要大量的内部工程努力来优化网络以实现最大吞吐量。

然而,如果采用Spectrum-X,就必须加价购买Nvidia LinkX产品线中的收发器,因为其他收发器可能无法正常工作或者通不过英伟达的验证。

此外,英伟达在第一代400G Spectrum-X中,使用了Bluefield-3来代替ConnectX-7作为临时解决方案。(ConnectX-8预计能够与800G Spectrum-X完美配合)

在超大规模的数据中心中,Bluefield-3和ConnectX-7的价格差异约为300美元ASP,但前者要多耗电50瓦。因此,每个节点需要额外的400瓦功率,降低了整体训练服务器的「每皮焦尔智能度」。

现在,将Spectrum-X放入数据中心需要额外的5MW功率来部署10万个GPU,而使用相同网络架构的Broadcom Tomahawk 5则不需要。

Tomahawk 5
为了避免给英伟达支付高昂的费用,许多客户选择部署基于Broadcom Tomahawk 5的交换机。

每个基于Tomahawk 5的交换机与Spectrum-X SN5600交换机一样,拥有128个400G端口,如果公司有优秀的网络工程师,可以实现类似的性能。此外,你可以从任何供应商购买通用的收发器和铜缆,并进行混合使用。

大多数客户直接与ODM合作,如Celestica的交换机,以及与Innolight和Eoptolink的收发器。

基于交换机和通用收发器的成本,Tomahawk 5相比Nvidia InfiniBand便宜得多,相比Nvidia Spectrum-X也更具成本效益。

不幸的是,你需要足够的工程能力来为Tomahawk 5修补和优化NCCL通信集群。毕竟,虽然后者开箱即用,但仅针对Nvidia Spectrum-X和Nvidia InfiniBand进行了优化。

好消息是,如果你有40亿美元用于10万个集群,就应该也有足够的工程能力来修补NCCL并进行优化。

当然,软件开发是困难的,但Semianalysis认为,每个超大规模数据中心都会进行这些优化并抛弃InfiniBand。

轨道优化

为了提高可维护性并增加铜缆网络(<3米)和多模网络(<50米)的使用,一些客户选择放弃英伟达推荐的轨道优化设计(rail optimized design),转而采用中间架设计(Middle of Rack design)。

轨道优化是一种技术,可让每台H100服务器连接到8个不同的叶交换机(而不是全部连接到同一个机架中的交换机),这样每个GPU只需跳一次交换机就能与更远的GPU通信,提高全对全集体通信(all-to-all collective communication)性能。

比如在混合专家(MoE)并行中,就大量使用了全对全集体通信。

轨道优化设计的缺点则是,必须连接到不同距离的不同叶交换机,而不是将一个机架中间的交换机靠近服务器中的所有8个GPU。

当交换机位于同一机架时,可以使用无源直连电缆(DAC)和有源电缆(AEC),但在轨道优化设计中,交换机不一定位于同一机架,因此必须使用光学器件。

此外,叶交换机到骨架交换机的距离可能大于50米,因此必须使用单模光收发器。

如果采用非轨道优化设计,则可以用廉价的直连铜缆取代连接GPU和叶交换机的98304个光纤收发器,从而使您 GPU链路中铜缆占比达到 25-33% 。

与光缆相比, DAC铜缆运行温度更低、耗电更少、成本更低,且可靠性更高,因此这种设计就减少了网络链路间歇性瘫痪和故障,而这正是所有使用光学器件的高速互连所面临的主要问题。

在使用DAC铜缆时,Quantum-2IB骨架交换机的耗电量为747瓦。使用多模光纤收发器时,功耗会增加到1500瓦。

此外,轨道优化设计的初始布线对于数据中心技术人员来说非常耗时,因为每个链路的两端距离长达50米,而且不在同一个机架上。

而在中间机架设计中,叶交换机与连接到叶交换机的所有GPU位于同一机架上,甚至设计完成之前,可以在集成工厂测试计算节点到叶交换机的链路,因为所有链路都在同一个机架上。

组网举例

如下图所示为常见的三层Fat-Tree 拓扑(SuperSpine-Spine-Leaf),可以将两层的 Spine-Leaf 看做一个 Pod。

  • 由于 Spine Switch 还有一半的 Port 要连接 SuperSpine Switch,相应 Group 的数目要减半,一个 Pod 有 64 个 Spine Switch,对应 8 个 Group。因此,一个 Pod 有 64 个 Leaf Switch。

  • 有了多个 Pod,可以进一步构建 64 个 SuperSpine Fabric,每一个 Fabric 要与不同 Pod 中的 Spine Switch 实现全互联。这里以 8 个 Pod 为例,将 8 个 Pod 里的第 i 个 Spine Switch 与 Fabric i 中的 SuperSpine Switch 实现 Full Mesh,这里有 8 个 Pod,因此一个 Fabric 中只需要 4 个 128 Port 的 SuperSpine Switch 即可。

  • 以上配置 8 个 Pod 对应:

    • 总的 GPU:4096*8=32768

    • SuperSpine Switch:64*4=256

    • Spine Switch:64*8=512

    • Leaf Switch:64*8=512

    • 总的 Switch:256+512+512=1280

    • 总的光模块数:1280*128+32768=196608

  • 实际上理论最多可以支持 128 个 Pod,对应的设备数为:

    • GPU:4096*128=524288=2*(128/2)^3

    • SuperSpine Switch:64*64=4096=(128/2)^2

    • Spine Switch:64*128=8192=2*(128/2)^2

    • Leaf Switch:64*128=8192=2*(128/2)^2

    • 总的 Switch:4096+8192+8192=20480=5*(128/2)^2

万卡集群依次扩展3个类似的pod即可。 

(3)可靠性与恢复

由于当前的模型训练都是同步进行,可靠性就成为了巨型集群最重要的运行问题之一。最常见的可靠性问题包括GPU HBM ECC错误、GPU驱动器卡死、光纤收发器故障、网卡过热等。

为了保持较短的平均故障恢复时间,数据中心必须在现场保留热备用节点和冷备用组件。发生故障时,最好的办法不是直接停止训练,而是换上已经开启的备用节点继续训练。

事实上,大部分服务器宕机的情况都可以通过重启修复,但有些时候则需要技术人员对设备进行现场诊断和更换。

在最好的情况下,数据中心技术人员只需几个小时就能修复损坏的GPU服务器,但很多情况下,损坏的节点可能需要几天时间才能重新投入使用。

在训练模型时,需要经常将检查点存储到到CPU内存或SSD持久化存储, 以防出现HBM ECC等错误。发生错误时,必须重新加载模型和优化器的权重,再继续训练。

容错训练技术可用于提供用户级应用驱动方法,以处理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日的计算时间,再加上从其他GPU HBM内存RDMA复制权重的1.85个GPU日。

大多数领先的人工智能实验室都采用了这一技术,但许多小型公司仍坚持使用繁重、缓慢、低效的技术,即从检查点重新启动处理所有故障。通过内存重构实现故障恢复可为大型训练运行的MFU提升好几个百分点。

网络故障方面,最常见问题之一是Infiniband/RoCE链路故障。由于收发器数量较多,即使每个网卡到最底层交换机链路的平均故障率为5年,在一个全新的、正常运行的集群上发生第一次作业故障也只需要26.28分钟。

如果不通过内存重建进行故障恢复,那么在10万卡的GPU集群中,由于光纤故障而重新启动运行所花费的时间,将比模型实质进行计算所花费的时间更多。

由于每个GPU都直接连接到ConnectX-7网卡(通过PCIe交换机),在网络架构层面没有容错能力,因此故障必须在用户训练代码中处理,增加了代码库的复杂性。

这是当前英伟达和AMD的GPU网络结构的主要挑战之一,即使一个网卡故障,该GPU无法与其他GPU通信。

由于大语言模型(LLM)在节点内使用张量并行,如果一个网卡、一个收发器或一个GPU故障,整个服务器就会宕机。

目前有很多工作正在进行,以使网络可重配置,减少节点的脆弱性。这项工作至关重要,因为现状意味着整个GB200 NVL72仅因一个GPU或光学故障就会宕机。

显然,一个价值数百万美元的72 GPU机架宕机比一个价值几十万美元的8 GPU服务器宕机更具灾难性。

英伟达已经注意到这个重大问题,并增加了一个专用的RAS(可靠性、可用性和可维护性)引擎。

其中,RAS引擎通过分析芯片级数据,如温度、恢复的ECC重试次数、时钟速度、电压等指标,来预测芯片可能的故障并提醒数据中心技术人员。

这将使技术人员能够进行主动维护,例如使用更高的风扇速度配置来保持可靠性,并在以后的维护窗口期中将服务器从运行队列中撤出进行进一步的物理检查。

此外,在开始训练任务之前,每个芯片的RAS引擎将执行全面的自检,例如运行已知结果的矩阵乘法以检测静默数据损坏(SDC)。

(4)物料清单

每10万个H100集群的总资本支出约为40亿美元,但具体金额会因所选择的网络类型而有所不同。

具体来说,可以分为四种(原文中是7:1,实际上应该是8:1?):

1. 4层InfiniBand网络,包含32,768个GPU集群,轨道优化,7:1收敛比

2. 3层Spectrum X网络,包含32,768个GPU集群,轨道优化,7:1收敛比

3. 3层InfiniBand网络,包含24,576个GPU集群,非轨道优化,用于前端网络的集群间连接

4. 3层Broadcom Tomahawk 5以太网网络,包含32,768个GPU集群,轨道优化,7:1收敛比

可以看到,选项1比其他选项贵了1.3到1.6倍;选项2虽然提供了更大的集群、更高的集群间带宽和相似的成本,但需要更多的电力;而选项3则会严重降低并行方案的灵活性。

综上,基于Broadcom Tomahawk 5的32k集群,搭配7:1的收敛比是最具成本效益的选项,这也是多家公司选择构建类似网络的原因。


(5)平面布局

最后,在集群的设计上,还需要优化机架布局。

从图中可以看到,有些行的叶交换机并不在同一排,这其实是为了优化使用50米多模光纤。

因为如果将多模收发器放在行的末端,中间的主干交换机将超出距离范围。

使用轨道优化的Spectrum-X / Tomahawk 5的32k集群平面图(预计至少需要需要 80*60m平面空间)

在这个微软开发集群中,每个机架支持高达40kW的功率密度,每个机架容纳四个H100节点。

目前,这个拥有10万+节点的集群的4栋建筑中,有3栋已经建成(3个计算岛),每个计算岛约 1000~1100个机柜,每个计算岛约 50MW的功耗; 


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

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

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询