重要突破!微软联手OpenAI实现跨数据中心模型训练

旅行   2024-10-09 00:00   北京  

AI 训练scaling law 来了?!

微软和 OpenAI 联手突破了一个重要的技术壁垒——成功实现了跨多个数据中心的分布式训练

这一突破可能会彻底改变大规模 AI 模型的训练方式。

突破的意义

传统的 AI 模型训练通常局限在单个数据中心内,这极大地限制了可用的计算资源。而跨数据中心的分布式训练允许同时利用多个地理位置的计算能力,大幅提升了训练规模和效率

James Campbell(@jam3scampbell) 分享了这一重要消息:

根据 @dylan522p 的说法,微软/OpenAI 已经攻克了跨数据中心的分布式训练

这意味着未来的 AI 模型可能会变得更大、更强大,因为它们可以利用分布在全球各地的计算资源进行训练。

技术挑战

实现跨数据中心的分布式训练并非易事。主要挑战包括:

  1. 网络延迟:不同数据中心之间的通信延迟可能导致训练效率低下。
  2. 数据同步:确保所有数据中心的训练数据保持一致。
  3. 容错机制:处理单个数据中心故障的情况。

微软和 OpenAI 能够克服这些挑战,可谓是 AI 领域的一项重大技术突破。

行业影响

这一突破可能会对 AI 行业产生深远影响:

  • 加速大模型开发:可以更快地训练超大规模模型。

  • 降低成本:通过利用全球分布的计算资源,可能降低训练成本。

  • 提高可用性:减少对单一数据中心的依赖,提高系统可靠性。

neon(@Narvida_) 在回复中提到了一个有趣的细节:

每次我听到这个,就想起 @corbtt 的这条推文

微软和 OpenAI 可能正在使用高达 10 万台 H100 GPU 的超大规模集群。neon 还补充道:

有趣的是,10 万台 H100 正是他们当前 Project Orion 集群的估计规模

市场反应

投资者似乎也意识到了这一突破的重要性。RealisticXptn(@RealisticXptn3) 表示:

买入更多 NVDA

原文译文


标题:多数据中心训练:OpenAI击败Google基础设施的雄心勃勃计划

来源链接: Multi-Datacenter Training: OpenAI's Ambitious Plan To Beat Google's Infrastructure[1]

AI 基础设施的建设需求是无法满足的,因为继续遵循扩展法则的改进推动了这一需求。今年,前沿的 AI 模型训练集群已经扩展到了 100,000 个 GPU[2],预计到 2025 年将达到 300,000+ 个 GPU。由于许多物理约束,包括建设时间、许可、法规和 电力供应[3],在单个数据中心同步训练大型模型的传统方法正面临突破点。

Google、OpenAI 和 Anthropic 已经开始执行计划,将其大型模型训练从一个站点扩展到多个数据中心园区。Google 拥有当今世界上最先进的计算系统[4],并率先大规模使用了许多关键技术,这些技术只有在最近才被其他公司采用,例如机架级液冷架构和多数据中心训练。

Gemini 1 Ultra 是在多个数据中心进行训练的。尽管拥有更多的 FLOPS,但他们现有的模型在 OpenAI 和 Anthropic 之后,因为他们在合成数据、强化学习(RL)和模型架构方面仍在追赶。不过,随着 Gemini 2 的即将发布,这种情况将发生改变。此外,到 2025 年,Google 将能够在多个园区之间进行吉瓦级的训练,但令人惊讶的是,Google 的长期计划并不像 OpenAI 和 Microsoft 那样激进。

图 1

来源:Google

大多数公司刚刚开始引入高密度液冷 AI 芯片 采用 Nvidia 的 GB200 架构[5],明年将开始加速生产数百万个单元。Google 另一方面已经部署了数百万个液冷 TPU,占据了超过 1 吉瓦(GW)液冷 AI 芯片的容量。Google 基础设施与竞争对手之间的显著差异显而易见。

上述 AI 训练园区的电力容量已经接近 300MW,明年将增加到 500MW。除了规模庞大,这些设施还非常节能。下图展示了大型冷却塔和集中的设施水系统,水管连接了三个建筑物,能够排除接近 200MW 的热量。这一系统使 Google 可以在大部分时间里不使用冷却器,2023 年实现了 1.1 的 PUE(电力使用效率),这是其最新环境报告中的数据。

来源:Google

虽然上图仅展示了设施的水系统,但水也通过直接到芯片的系统输送到机架中,液到液的换热器将热量从机架传递到中央设施的水系统。这种非常高效的能源系统与 Nvidia GB200 的 L2L 部署非常相似——在我们的 GB200 深入剖析[6]中有详细描述。

另一方面,微软目前最大的训练集群如图所示,不支持液冷,尽管建筑物的 GFA(总楼面面积)相似,但每个建筑的 IT 容量约低 35%。公开数据显示其 PUE 为 1.223,但 PUE 的计算对空冷系统有利,因为服务器内部的风扇功率未被充分计算——对于空冷的 H100 服务器,这些风扇占服务器功率的 15% 以上,而液冷的 DLC 服务器则小于 5%。因此,对于每瓦提供给芯片的功率,微软需要额外的约 45% 以上的功率用于服务器风扇、电源冷却及其他非 IT 负载,而 Google 则接近每瓦 IT 功率只需额外的 15% 负载。再加上 TPU 的更高效率,差距变得更加明显。

此外,为了在沙漠地区(亚利桑那州)实现较高的能源效率,微软需要大量的水——其水使用效率(WUE)为 2.24 L/kWh,远高于其集团平均的 0.49,以及 Google 略高于 1 的平均值。这种较高的用水量引起了媒体的负面关注,他们被要求在其未来的数据中心切换到空气冷却的冷却器,这将减少每栋建筑的用水量,但进一步增加 PUE,扩大与 Google 的能效差距。在未来的报告中,我们将更详细地探讨数据中心的工作原理和典型的超大规模设计。

因此,基于现有的数据中心参考设计,Google 拥有更高效的基础设施,并且可以更快地建立兆瓦级(MW)的容量,因为每栋建筑的容量要高出 50% 以上,且每 IT 负载需要承包的公用设施功率较少。

Google 始终以独特的方式构建基础设施。虽然今天 Google 的单个数据中心设计比微软、亚马逊和 Meta 更为先进,但这并不能全面展示其基础设施的优势。Google 还在十多年前就开始建设大规模的数据中心园区。Google 在爱荷华州 Council Bluffs 的站点,如下图所示,是一个很好的例子,尽管建设已有多年,但其西侧 IT 容量接近 300MW[7]。虽然很大一部分容量分配给了传统的工作负载,但我们相信位于 底部的建筑物拥有大量 TPU[8]。随着他们最新的数据中心设计,东部扩展将进一步增加 AI 训练容量。

Google 最大的 AI 数据中心也彼此相邻。Google 有两个主要的多数据中心区域,分别位于俄亥俄州和爱荷华州/内布拉斯加州。如今,Council Bluffs 周边地区正在积极扩展至现有容量的两倍以上。除了上述园区外,Google 在该地区还有另外三个站点,这些站点都在建设中,且都在升级以搭载高带宽的光纤网络。

这三个站点之间距离约 15 英里(Council Bluffs、Omaha 和 Papillon Iowa),另一个站点(位于内布拉斯加州 Lincoln)约 50 英里外。下图展示的 Papillion 园区为 Google 在 Omaha 和 Council Bluffs 周边的业务增加了 250MW 以上的容量,与上述总容量相结合,在 2023 年达到 500MW 以上,其中很大一部分分配给了 TPU。

另外两个站点目前还没有那么大,但正在快速增加容量:将这四个园区合并在一起,到 2026 年将形成一个吉瓦级(GW)规模的 AI 训练集群。距离约 50 英里的 Lincoln 数据中心将成为 Google 最大的单个站点。

Google 的大规模 TPU 部署并不止于此。另一个即将推出的吉瓦级集群位于俄亥俄州哥伦布周边——这个地区正在经历类似的发展,三个园区正在建设中,预计到 2025 年底将总共达到 1 吉瓦的容量!

下图展示的 New Albany 集群,将成为 Google 最大的数据中心之一,已经部署了 TPU v4、v5 和 v6。

俄亥俄州和爱荷华/内布拉斯加州的 Google 数据中心集中区域,还可以进一步互联,为训练单一模型提供多个吉瓦的电力。我们在 Datacenter Model[9] 中精确详细地列出了超过 5000 个数据中心的季度历史和预测电力数据,包括 AI 实验室、超大规模云、neoclouds 和企业的集群建设状态。本报告稍后会详细介绍多数据中心训练的软件栈和方法。

微软和 OpenAI 非常清楚自己在短期内基础设施方面的劣势,因此他们开始了极具雄心的基础设施扩展计划,目标是超越 Google。他们正试图在水冷多数据中心训练集群的游戏中击败 Google。

微软和 OpenAI 正在建设超高密度的液冷数据中心园区,规模接近吉瓦,同时也在与 Oracle、Crusoe、CoreWeave、QTS、Compass 等公司[10]合作,帮助他们实现比 Google 更大的 AI 训练和推理总容量。

其中一些园区,一旦建成,将比任何一个 Google 当前的园区更大。事实上,微软在威斯康星州的园区将比所有 Google 在俄亥俄州的站点总和还大,但建成 还需要一些时间[11]

更为雄心勃勃的是 OpenAI 和微软计划将多个超大型园区互联,并在全国范围内运行一个庞大的分布式训练任务。微软和 OpenAI 将成为首个实现多吉瓦计算系统的公司。他们正与供应链合作伙伴深入进行史上最雄心勃勃的基础设施建设[12]

本报告将在接近尾声时详细介绍微软和 OpenAI 的基础设施建设。在此之前,先讲述多园区同步和异步训练方法、落后者问题、容错能力、无声数据损坏,以及多数据中心训练所面临的各种挑战。

接下来,我们将解释数据中心互联的实现方式,以及通过光纤电信网络在数据中心之间的城市和长途连接,涉及的技术和设备。

最后,我们将探讨电信供应链,讨论下一阶段 AI 基础设施建设中的主要受益者,包括我们认为杠杆最大的一些公司。

在深入探讨微软 OpenAI 的基础设施建设之前,先了解一下分布式训练的基础知识。大语言模型(LLMs)主要通过同步方式进行训练。训练数据通常被划分为若干较小的 mini-batch,每个 mini-batch 由运行在不同 GPU 集群上的模型副本处理。处理完一个 mini-batch 后,每个副本计算梯度,然后所有副本必须在每个 mini-batch 处理结束后同步。

这种同步通常涉及所有副本的梯度聚合,通常通过像 all-reduce 这样的集合通信操作进行。一旦梯度被聚合,它们就会被平均化,并用于统一更新模型的参数。这确保了所有数据副本保持相同的一组参数,使模型能够稳定地收敛。这一过程的锁步性质,确保所有设备在每一步之前互相等待,避免有设备在模型状态上过快或过慢。

图 3

来源:Preferred Networks

虽然同步梯度下降具有稳定收敛的优点,但在扩展到 100,000 个以上芯片的单次训练作业时,它也带来了显著的挑战,特别是在增加通信开销方面。同步的性质还意味着需要有严格的延迟要求,并且必须有一个足够大的通信管道连接所有芯片,因为数据交换往往是突发式的。

当尝试使用多个地区的 GPU 来处理同一个训练任务时,不同地区之间的延迟增加。即便在光纤中光的速度为每秒 208,188 公里,从美国东海岸到西海岸的往返时间(RTT)也为 43.2 毫秒(ms)。此外,各种电信设备也会引入额外的延迟。这是一个相当高的延迟,对于标准的同步训练来说很难克服。

根据阿姆达尔定律(Amdahl's Law),通过增加更多芯片来加速工作负载的速度提升会随着同步活动的增加而逐渐减弱。当添加更多芯片时,程序运行时间中需要同步的部分(即无法并行化的计算部分)保持不变,就会达到一个理论极限,即使将 GPU 数量加倍,也无法使整体吞吐量增加超过 1%。

图 4

来源:Wikipedia

除了阿姆达尔定律描述的向单个工作负载添加更多 GPU 的理论限制之外,同步梯度下降(SGD)还有一些实际的挑战,比如“拖延者”(stragglers)问题。当只有一个芯片的速度变慢 10% 时,整个训练过程也会慢 10%。例如,在下图中,从步骤 7,500 到 19,000,字节跳动的 MFU(机器学习利用率)逐渐下降,因为工作负载中的更多芯片逐渐变慢,导致整个工作负载受到拖延影响。

图 5

来源:字节跳动

在确定并移除拖延芯片后,他们从一个检查点重新启动了训练工作负载,恢复了 MFU 到正常水平。正如你所看到的,MFU 从 40% 下降到了 30%,下降了 25%。当你拥有 100 万个 GPU 时,25% 的 MFU 下降相当于有 25 万个 GPU 处于空闲状态,相当于超过 100 亿美元的 IT 资本开支。

容错训练是所有分布式系统的重要组成部分。当数百万个计算、内存和存储元素在工作时,总会有硬件故障或仅是所谓的“硅彩票”导致性能差异[13]。系统设计必须能够处理这些情况。令人意外的是,在世界上最大规模的计算问题——机器学习训练中,采取的却是完全相反的方式。

所有芯片都必须完美地工作,因为如果 100,000 个 GPU 中有一个 GPU 发生故障,这个 GPU 会导致所有 100,000 个 GPU 从检查点重新启动,导致大量 GPU 的空闲时间。使用容错训练时,当单个 GPU 发生故障时,只有少数其他 GPU 会受到影响,大多数 GPU 会继续正常运行,无需从模型权重检查点重新启动。开放模型如 LLAMA 3.1 就因为这个问题而浪费了大量的成本和时间。

Nvidia 的 InfiniBand 网络也存在类似的潜在问题,即每个数据包都必须以完全相同的顺序传输。任何变化或故障都会导致数据重新传输。如 100,000 GPU 集群报告中所述,单靠网络故障导致的恢复就可能需要几分钟,而不是几小时[14]

图 6:Nvidia 的 InfiniBand 问题 - Spectrum-X AI Fabric, Tomahawk-5, Jericho-3AI, Quantum-2

实现容错训练的主要开源库叫做 TorchX(以前称为 TorchElastic),但它存在很多缺点,比如无法涵盖所有长尾故障场景,而且不支持 3D 并行性。这导致几乎每个大型 AI 实验室都不得不自己实现容错训练系统。

不出所料,作为容错基础设施的领导者,Google 通过 Borg[15] 和 Pathways[16] 实现了最好的容错训练系统。这些库涵盖了最多的边缘情况,并且是紧密的垂直集成的一部分:Google 自己设计训练芯片,建造服务器,编写基础设施代码,还负责模型训练。这类似于汽车制造,垂直整合程度越高,越能快速应对制造问题的根本原因并加以解决。Google 几年前推出的 Pathways 系统就是其强大能力的证明,我们将在本报告后面详细描述。

总的来说,容错是扩展 100,000+ GPU 集群以处理单个工作负载时最重要的方面之一。Nvidia 的 AI 系统在可靠性方面远落后于 Google,这就是为什么在 NVIDIA 的招聘信息中反复提到容错的重要性。

图 7

来源:Nvidia Workday

CPU 领域的容错基础设施通常已经是一个解决的问题。例如,Google 的内部数据库 Spanner[17] 运行了 Google 的所有生产服务,包括 YouTube、Gmail 和 Stadia(RIP),并且能够在全球范围内分发和扩展,同时在存储服务器和 NVMe 磁盘出现故障时保持容错。在 Google 数据中心中,每小时都有数百个 NVMe 磁盘发生故障,但对于最终用户和内部服务来说,Spanner 的性能和可用性始终保持不变。

另一个在大型集群上实现容错的传统 CPU 工作负载的例子是 MapReduce[18]。MapReduce 是一种建模方式,用户可以通过处理数据样本对其进行“映射”,然后通过将多个数据样本汇总成一个值来“归约”。例如,计算一篇文章中“W”字母的数量就是一个很好的 MapReduce 理论工作负载:映射每个单词,映射会输出每个数据样本中的“W”字母数量,归约则会汇总所有样本中的“W”字母总数。MapReduce 可以通过检测哪些 CPU 工作节点出现故障并重新在其他 CPU 工作节点上执行失败的映射和归约任务来实现容错。

图 8

来源:Google

在 CPU 领域,容错研究和系统的大部分开发都是由 Google 的杰夫·迪恩(Jeff Dean)、桑杰·盖马瓦特(Sanjay Ghemawat)以及众多世界级的分布式系统专家完成的。在创建健壮且可靠的系统方面的专业知识将是 Google 的竞争优势之一,因为 ML 训练的规模变得越来越大,并且需要更好的容错 ML 训练系统。

一般来说,GPU 故障遵循“浴缸形状”曲线,即大部分故障发生在集群生命周期的开始(即婴儿死亡故障)和结束时。这就是为什么集群的“烧入”测试非常重要。不幸的是,由于 neoclouds 的目标是尽量压榨集群的使用寿命,很多 neoclouds 没有正确地进行集群的“烧入”测试,导致最终用户体验极差。

相比之下,在超大规模云和大型 AI 实验室中,大多数集群会在高温和快速波动的温度下进行长时间的“烧入”测试,以确保所有早期的故障都已经发生,并且进入了随机故障阶段。充分的“烧入”时间必须与避免在 GPU 和光收发器早期问题解决后使用太多有效寿命之间取得平衡。

组件在其生命周期结束时进入磨损故障阶段,通常是由于在 24/7 使用期间快速在中温和高温之间波动导致的疲劳。特别是光收发器由于剧烈的热循环而受到高磨损。

图 9

来源:SemiAnalysis

在 CPU 领域,当宿主物理机的错误率增加时,通常会将虚拟机(VM)迁移到其他物理宿主上。超大规模云服务提供商甚至找到了如何在用户几乎察觉不到的情况下进行虚拟机的“在线迁移”。这通常通过在后台复制内存页面完成,然后当用户的应用程序稍微减速时,虚拟机会迅速切换到第二个正常运行的物理宿主。

图 10

来源:SemiAnalysis

Linux 有一个主流软件包,叫做 CRIU(Checkpoint/Restore In Userspace),它被主要的容器引擎如 Docker、Podman 和 LXD 使用。CRIU 可以在物理宿主之间迁移容器和应用程序,甚至可以将整个进程状态冻结并将其保存到存储磁盘。很长一段时间里,CRIU 仅在 CPU 和 AMD GPU 上可用,因为 Nvidia 一直拒绝实现这一功能,直到今年。

从 2024 年初开始,Nvidia GPU 上的 GPU CRIU 检查点迁移终于成为现实,现在可以更顺畅地将 CPU 进程状态、内存内容和 GPU 进程从一个物理宿主迁移到另一个。

图 11

来源:SemiAnalysis

在 微软的 Singularity 集群管理器论文[19] 中,作者描述了他们如何使用 CRIU 实现 GPU 虚拟机的透明迁移。Singularity 从零开始设计,允许全局调度和管理 GPU 工作负载。该系统已经用于 Phi-3 训练(1024 个 H100)和其他许多模型训练。这是微软在追赶 Google 的垂直整合的 Borg 集群管理器。

图 12

来源:Microsoft

不幸的是,由于容错训练的重要性,有关方法的公开发布实际上已经停止。OpenAI 和其他公司在与硬件行业讨论这些问题时,往往含糊其辞,以防泄露其分布式系统的技巧。毫无疑问,这些技术的重要性甚至超过了模型架构,因为两者都可以被视为计算效率的体现。

图 13

来源:OpenAI

另一个常见的问题是无声数据损坏(Silent Data Corruption,SDC),这会导致计算机在处理结果时无意中引入静默错误,而用户或管理员并未察觉。这是一个非常难以解决的问题,因为“静默”意味着错误是不可察觉的。这些静默错误在许多情况下可能是琐碎的,但也可能导致输出变为 NaN(“非数值”)或输出梯度极大。下图由 Google 的 Jeff Dean 提供,显示了一些 SDC 可以在图表上轻易通过梯度范数突增的方式识别,但也有其他无法通过这种方法检测到的 SDC。

此外,还有一些梯度范数的突增并不是由硬件 SDC 引起的,而是由一批较大的数据或像学习率和初始化方案这样的超参数未被适当调优引起的。所有运行 GPU 集群的公司都会定期经历 SDC 问题,但一般是中小型 Neoclouds 因资源有限,难以及时识别并解决这些问题。

来源:Google

对于 Nvidia GPU,有一款名为 DCGMI Diagnostics 的工具可以帮助诊断 GPU 错误,例如 SDC。它可以捕获相当一部分常见的 SDC,但遗憾的是,它无法捕获很多导致数值错误和性能问题的边缘情况。

在我们对不同 Neocloud 提供的 H100 的测试中发现,尽管 DCGMI 诊断等级 4 测试通过,但 NVSwitch 的算术逻辑单元(ALU)工作不正常,导致性能问题以及在使用 NVLS NCCL 算法时的 all-reduce 结果出错。在即将发布的 NCCL/RCCL 集体通信文章中,我们将更深入地探讨我们的基准测试结果。

相反,由于 Google 基础设施和训练堆栈的垂直整合,Pathways 在识别和解决 SDC 问题方面表现出色。他们能够轻松地在其大规模训练工作负载开始前,通过引入前言和尾声来进行 SDC 检查。

图 17

来源:Google

异步训练曾经是广泛使用的训练技术。在 2012 年,Google Brain 的传奇工程师 Jeff Dean 发表了一篇名为 Distbelief[20] 的论文,描述了在成千上万的 CPU 核上训练深度学习模型的异步(“Async”)和同步(“Sync”)梯度下降技术。该系统引入了一个全局“参数服务器”,并被广泛用于生产环境中训练 Google 的自动补全、搜索和广告模型。

图 18

来源:ResearchGate

这种参数服务器风格的训练在当时的模型中非常有效。然而,由于新的模型架构在收敛方面的挑战,大家都简单地回归到全同步梯度下降。目前所有的前沿级模型,例如 GPT-4、Claude、Gemini 和 Grok 都使用同步梯度下降。但为了继续扩展训练中使用的 GPU 数量,我们认为目前正在出现回归到异步梯度下降的趋势。

在阿姆达尔定律中,绕过增加更多芯片时收益递减的一种方法是减少程序之间需要进行全局同步的次数,允许更多的工作负载(半)独立地运行。可以想象,这种方式适合于跨多个园区、多个区域和跨洲训练,因为在不同的 GPU 之间存在延迟和带宽的层次性。

在同一个园区内的建筑之间,距离非常近(小于 1 公里),延迟非常低,带宽非常高,因此可以更频繁地进行同步。相反,当在同一区域(小于 100 公里)内时,可能带宽很大,但延迟较高,因此需要减少同步的频率。此外,在不同园区之间拥有不同数量的 GPU 也是可以接受的,因为很容易在它们之间进行负载均衡。例如,如果园区 A 有 10 万个 GPU,而园区 B 只有 7.5 万个 GPU,那么园区 B 的 batch 大小可能是园区 A 的 75%,然后在进行同步时,可以在不同园区之间取加权平均值。

图 19

来源:SemiAnalysis

这种原则可以应用于多个区域和跨大洲之间的同步,延迟更高,因此同步的频率也要更少。实际上,这是一个同步的层次结构。

用一个类比来说,这类似于你和距离近的朋友比远的朋友见面频繁,你和同一海岸的朋友比跨大陆的朋友见面频繁。

图 20

来源:PyTorch

此外,分层同步梯度下降(SGD)的另一个好处是,它有助于缓解“拖延者”问题,因为大多数拖延者通常仅在几次步骤中出现异常性能,然后恢复正常。因此,同步次数减少,意味着拖延者在其性能异常时影响同步的机会更少。由于在每次迭代中没有全局同步,拖延者的影响相对较小。分层 SGD 是近期多数据中心训练中的常见创新。

图 21

来源:PyTorch

另一种有前景的方法是重新考虑 Jeff Dean 在 2012 年 DistBelief[21] 论文中讨论的异步参数服务器的使用。每个模型副本处理自己的 token 批次,每隔几步,每个副本与参数服务器交换数据并更新全局权重。这类似于 git 版本控制,每个程序员在自己的任务上工作几天,然后将其合并到主分支(现在称为 main 分支)。这种方式的简单实现可能会导致收敛问题,但 OpenAI 可以通过各种优化器创新解决合并时更新问题。

图 22

来源:ResearchGate

MetaAI 的 Branch-Train-Merge 论文描述了类似的想法,你可以从现有的大型语言模型(主分支)进行分支,然后在数据子集上进行训练,最后合并回主分支。我们认为,这种方法的学习成果将会被纳入到公司如 OpenAI 所使用的多园区训练技术中。Branch-Train-Merge 及其他类似方法的主要挑战是,对于像 GPT-3 175B 或 GPT-4 1.8T 这样的现代大型语言模型,合并并不是一个已解决的问题。需要投入更多的工程资源来管理合并和更新主分支,以确保收敛。

图 23

来源:Meta

要将这种方法扩展到分层的方法,还需要具有多个级别的参数服务器,模型副本与最接近的参数服务器进行数据交换,同时参数服务器之间也要进行交换。在最低级别,单个模型副本与最接近的参数服务器进行通信,更频繁地执行更新以确保本地组内的快速收敛和同步。

这些本地参数服务器将被分成更高的级别,每个级别汇总和精炼从下级得到的更新,然后向上传播。由于涉及的 GPU 数量庞大,参数服务器可能需要以 FP32 格式保存主权重。这类似于 Nvidia 推荐的 FP8 训练服务器,它会在进行矩阵乘法之前将训练权重转换为 FP8 以提高效率。在参数服务器中,主权重仍然是 FP32,而实际计算可能会在 FP8 或更低的格式(例如 MX6)中进行。

图 24

来源:SemiAnalysis

为了实现多园区训练,Google 目前使用了一个强大的分片工具,称为 MegaScaler,它能够在园区内的多个集群和多个园区之间进行同步训练,使用 Pathways。MegaScaler 提供了 Google 在稳定性和可靠性方面的强大优势,特别是在扩展投入单个训练工作负载的芯片数量时。

然而,这可能会成为他们向异步训练过渡的障碍。MegaScaler 是基于同步训练的原则构建的,每个数据副本与其他所有数据副本进行数据交换。要为 MegaScaler 添加异步训练功能可能需要大幅度重构,甚至可能需要重新开始一个新项目。尽管 Pathways 是以异步数据流为基础构建的,但实际上,所有当前生产环境中使用的 Pathways 都是完全同步的 SGD 风格训练。尽管如此,Google 显然具备重新构建这个软件堆栈的能力。

图 25

来源:Google, Jeff Dean

在跨区域联网数据中心时有两个主要的限制因素:带宽和延迟。我们普遍认为,从长远来看,限制因素将是光速在玻璃中的传播延迟,而不是带宽。这是因为在园区之间和区域之间铺设光纤电缆的成本主要是许可和挖掘成本,而不是光纤电缆本身。因此,在凤凰城和达拉斯之间铺设 1000 对光纤和铺设 200 对光纤的成本相差不大。话虽如此,行业运作在一个监管框架内,铺设光纤对的时间无法立刻实现,因此减少带宽需求的策略仍然非常重要。

图 26

来源:SemiAnalysis

我们认为,在这类多园区、多区域训练集群上训练的模型规模将达到 100 万亿参数量级。在区域内的数据中心之间,我们认为在未来的短期内,在园区之间实现大约 5 Pbit/s 的带宽是合理的,而在区域之间实现 1 Pbit/s 则是合理的。如果跨数据中心的带宽真的这么高,在园区之间交换权重就不是训练的主要瓶颈,因为在满载时只需 0.64 秒就能完成权重交换。当交换 400 TB(4 字节 = 参数)的权重时,0.64 秒的时间相对于计算步骤的时间非常理想。

图 27

来源:SemiAnalysis

虽然 Nvidia 提供了一款名为 MetroX 的 InfiniBand 交换设备,可用于 40 公里范围内的网络连接,但没有 AI 实验室使用它,只有少数非 AI 的高性能计算(HPC)集群在 10 公里以内的多个园区之间使用。此外,它每个底座只有 2x100 Gbps 的带宽,相比之下,<40 公里的以太网解决方案已经有相当成熟的生态系统。因此,即使是 heavily 使用 InfiniBand 的微软,也在数据中心之间使用以太网连接。

在数据中心内部的网络(即数据通信)今天通常专注于为终端设备(即 GPU)提供高达 400 Gbps 的速度,明年随着 Nvidia 过渡到 Connect-X8 网络接口卡(NICs),为 AI 使用的传输速率达到 800 Gbps 将全面推进。

相对而言,电信网络通过更高速度的光纤,将单一设备和服务器的通信需求汇聚起来。虽然数据通信的光收发器运行速度通常达到 800 Gbps,并使用每对光纤 100 Gbps(DR8)的速率,这需要多对光纤,而电信应用程序在单模光纤对上已经可以超过 20-40 Tbps。

更高的带宽是通过以下两种方式实现的:

  1. 更高阶的调制方案,可以在每个符号上传输更多位数据。
  2. 密集波分复用(DWDM),将多个不同波长的光信号组合在同一根光纤上。

在调制方面,数据通信通常使用 VCSEL 和 EML 光收发器,这些收发器支持 PAM4 调制,这是一种强度调制方案(即强度调制直接检测 - IMDD 光学),通过四个不同的电平进行信号调制,每个符号编码两位数据。

更高的速度可以通过提高符号传输率(以 Gbaud 或 Gbd 为单位)或者增加每个符号的比特数来实现。例如,一个 400G SR8 收发器可以以 26.6 Gbd 的符号速率进行传输,并使用 PAM4 达到每个符号两位,总共为每对光纤提供 50 Gbps。将 8 对光纤结合到一个连接器中,总速率就可以达到 400 Gbps。要实现 800 Gbps 的总速率,可以将符号速率提高到 53.1 Gbd,同时仍然使用 PAM4 进行 8 条通道的传输。然而,增加符号速率往往比使用更高阶的调制方案更加困难。

16 阶正交幅度调制(16-QAM)是一种在 ZR/ZR+ 光学和电信应用中广泛使用的调制方案。它不仅通过对信号波形的四种不同幅度进行编码,还使用两个分别有四种不同幅度、且彼此相位相差 90 度的载波波形,共有 16 种可能的符号,可以传输 4 位数据。这种方案还可以通过实现双极化来扩展,使用一组水平极化状态的载波波形和一组垂直极化状态的载波波形,共有 256 种可能的符号,可以实现 8 位数据。大多数 400ZR/ZR+ 和 800ZR/ZR+ 收发器仅支持 DP-16QAM,但专用的电信系统(使用较大外形尺寸)在光纤质量较好的情况下可以支持 DP-64QAM,传输 12 位数据。

图 28

16-QAM 的 16 种可能波形。来源:EverythingRF[22]

要实现这种使用不同相位的调制方案,需要使用相干光学(与 Coherent 公司无关)。当光源发出的光波彼此之间相位一致时,光就被称为相干光。这对于实现基于相位的调制方案非常重要,因为不一致的(非相干的)光源会导致不一致的干涉,使得无法恢复相位调制的信号。

相干光学需要使用相干数字信号处理器(DSP),可以处理更高阶的调制方案,还需要一个可调谐激光器和一个调制器,但在 400ZR 的情况下,通常使用硅光子学以实现更低的成本。需要注意的是,可调谐激光器价格昂贵,因此有一些尝试使用更便宜的 O 带激光器来实现相干光学简化。

ZR/ZR+ 光学是一种日益流行的收发器类型,它使用相干光学,专为数据中心互连设计,提供了每对光纤更大的带宽和更远的传输距离(120 公里至 500 公里)。它们通常以 OSFP 或 QSFP-DD 外形尺寸出现,这与用于数据通信应用的相同,意味着它们可以直接插入用于数据通信的网络交换机中。

图 29

来源:SemiAnalysis

传统的电信系统也可用于数据中心互连,但这需要更多的电信设备链,且在数据中心内占用更多物理空间。ZR/ZR+ 插拔模块可以直接插入网络端口,绕过几个电信设备。

图 30

来源:Cisco

更高阶的调制方案能够为每对光纤提供更多的带宽,DP-16QAM 相比 PAM4 的强度调制直接检测收发器可以提供 8 倍的带宽。长距离传输仍然有光纤限制,因此密集波分复用(DWDM)也可以用于每对光纤实现更多的带宽。DWDM 通过将多个不同波长的光信号组合到一根光纤对中来工作。在下面的例子中,C 波段(1530nm 到 1565nm)上的 76 个波长和 L 波段(1565nm 到 1625nm)上的 76 个波长被复用到同一根光纤对上。

如果该系统能够在每个波长上部署 800 Gbps,那就可以为单根光纤对提供 121.6 Tbps 的带宽。海底电缆通常会最大化波长的数量,而一些部署可能使用少于 16 个波长,不过也有不少部署使用 96 个波长,目前典型的部署目标为每对光纤 20-60 Tbps。许多部署会首先在 C 波段上点亮少量的波长,然后随着客户需求的增加逐步增加更多的 C 波段波长,最终使用 L 波段,这使得现有的光纤可以随着时间的推移实现大幅度的速度升级。

美国的大多数大都市地区仍然拥有大量未点亮的光纤,并且人工智能数据中心互连的大量带宽需求非常适合充分利用这些容量。在海底光缆中,电信联盟通常只部署 8-12 对光纤,因为部署成本随着光纤对数量的增加而上升,这是由于物理光缆和部署本身的成本。而在陆地电缆中,挖沟和设备(以及在某些城市区域的使用权)是主要成本,而不是光纤本身。因此,在建设城市区域的地面光缆时,公司往往会铺设数百甚至数千对光纤。

跨海训练将比陆地训练困难得多。

典型的光纤业务案例可能会假设有相当数量的光纤对留待未来需求使用。而且不仅仅是大都市,通常任何主要的道路、输电线、铁路或基础设施旁都会铺设光缆——任何建设基础设施的公司往往会顺便铺设光纤,因为如果施工现场已经有了挖沟的人员,光纤铺设的成本增加并不大。

对于超大规模电信网络来说,首选是构建自己的网络,而不是与电信供应商合作,直接与设备供应商和建筑公司合作,满足长途、城市和数据中心互连的需求。

数据中心互连是指在相距不到 50 公里的两个数据中心之间建立的点对点网络,通常会铺设数千对光纤。超大规模公司可以将 ZR 光学模块插入每个远程数据中心内的网络交换机,并将多个 ZR 光学模块的信号复用到同一对光纤上,最多可以达到 25.5 Tbps 的速率,或者简单地将每个 ZR 光学模块插入自己的一对光纤中。

图 31

来源:Arista

更复杂的电信系统也可以实现 DWDM,将多个 ZR 光学信号复用到较少的光纤对上,并实现比简单的点对点网络更复杂的网络,但这需要占据几机架的电信设备空间,用于存放路由器、ROADM 和 DWDM 复用器/解复用器。

由于光缆铺设的主要成本在于挖掘沟渠,因此大多数超大规模公司认为铺设比需要更多的光纤对更为容易,这样可以节省数据中心内部的空间,避免更复杂的电信部署。通常只有在他们在一些难以获得物理光纤容量的地区铺设光纤时,才会部署广泛的电信系统,这种情况在美国之外的地区比较常见,超大规模公司在这些大都市中可能会被迫使用极少的 2-4 对光纤。

对于长途网络,超大规模公司则需要使用一整套与数据通信设备截然不同的电信产品。一个典型的长途网络至少需要一些基本的系统:转发器、DWDM 复用器/解复用器、路由器、放大器、增益均衡器、再生站点,在大多数情况下还需要 ROADM(可重构光加减复用器)和 WSS(波长选择开关)。

转发器在电信领域中类似于收发器,但更昂贵且运行在更高的功率水平。转发器的一侧用于传输/接收实际电信网络中的信号(线路侧),另一侧提供与客户设备(客户侧)连接的多个端口,提供许多可能的组合,例如 800Gbps 的线路侧传输以及 4 个 200Gbps 的光电客户侧端口。客户侧可以连接数据中心内的路由器或交换机,而线路侧则可以连接到 DWDM 复用器将多个转发器的信号复用到同一对光纤中,或者连接到 ROADM 以便于更复杂的网络拓扑进行光纤交换。

图 32

典型的转发器。来源:Ciena[23]

DWDM 通过复用器和解复用器(mux/demux)工作,将每个转发器发出的略有不同的光信号波长组合到一对光纤上。每个转发器都是可调谐的,可以调整到特定的光波长,以便在同一对光纤上进行复用。使用 ROADM 时,转发器通常会连接到无色复用器/解复用器,然后连接到波长选择开关(WSS),使得 ROADM 可以动态调整转发器到特定波长,以优化各种网络目标。

光放大器用于对长距离光纤上传输的光信号进行放大,通常每 60-100 公里设置一个放大器,可以直接放大光信号,而不需要将光信号转换为电信号。每三个放大器后需要一个增益均衡器,以确保不同波长的光在传播速度不同的情况下得到均衡,以避免误差。在某些长度达到数千公里的长途部署中,还需要再生,即将光信号取出转换为电子信号,对其重新定时和整形,然后使用另一组转发器重新发送信号。

如果网络连接了多个点,并且有多个需要添加或接收流量的站点,则需要一个 ROADM(可重构光加减复用器)。这种设备可以在网络的特定位置,以光学方式添加或去除特定波长的光,而无需将信号以电的形式卸载进行处理或路由。那些不携带流量到该位置的波长可以通过 ROADM 不受阻碍地通过。ROADM 还具有控制平面,可以主动发现和监控网络状态,了解光纤网络中的空闲信道、信道的信噪比、已保留的波长等,正如上面讨论的那样,还可以控制转发器,将线路侧调整到合适的波长。

这些不同的组件通常结合在一个模块化的机箱中,看起来可能如下所示:

Ciena、诺基亚、Infinera 和思科是几家主要的全球电信系统和设备供应商,而 Lumentum、Coherent、Fabrinet 和 Marvell 则为这些主要供应商提供各种子系统和主动组件。到目前为止,组件厂商的大部分力量都体现在用于数据中心互连的 ZR/ZR+ 光学上,但随着超大规模公司和其他运营商必须认真考虑在相邻数据中心之外的训练,他们可能会大幅增加对高单价电信设备和系统的支出。

非云客户对电信设备的需求似乎也已触底,可能很快进入复苏阶段——这将提升各大电信供应商的命运。

后续,我们将讨论 OpenAI 和微软雄心勃勃的多数据中心训练计划,以及这一大规模建设中的电信行业赢家。

参考资料

[1]

Multi-Datacenter Training: OpenAI's Ambitious Plan To Beat Google's Infrastructure: https://www.semianalysis.com/p/multi-datacenter-training-openais

[2]

100,000 个 GPU: https://www.semianalysis.com/p/100000-h100-clusters-power-network

[3]

电力供应: https://www.semianalysis.com/p/ai-datacenter-energy-dilemma-race

[4]

Google 拥有当今世界上最先进的计算系统: https://www.semianalysis.com/p/google-ai-infrastructure-supremacy

[5]

采用 Nvidia 的 GB200 架构: https://www.semianalysis.com/p/gb200-hardware-architecture-and-component

[6]

GB200 深入剖析: https://www.semianalysis.com/p/gb200-hardware-architecture-and-component

[7]

尽管建设已有多年,但其西侧 IT 容量接近 300MW: https://www.semianalysis.com/p/datacenter-model

[8]

底部的建筑物拥有大量 TPU: https://www.semianalysis.com/p/accelerator-model

[9]

Datacenter Model: https://www.semianalysis.com/p/datacenter-model

[10]

Oracle、Crusoe、CoreWeave、QTS、Compass 等公司: https://www.semianalysis.com/p/datacenter-model

[11]

还需要一些时间: https://www.semianalysis.com/p/datacenter-model

[12]

史上最雄心勃勃的基础设施建设: https://www.semianalysis.com/p/microsoft-infrastructure-ai-and-cpu

[13]

总会有硬件故障或仅是所谓的“硅彩票”导致性能差异: https://arxiv.org/pdf/2009.06489

[14]

100,000 GPU 集群报告中所述,单靠网络故障导致的恢复就可能需要几分钟,而不是几小时: https://www.semianalysis.com/i/145735023/reliability-and-recovery

[15]

Borg: https://research.google/pubs/large-scale-cluster-management-at-google-with-borg/

[16]

Pathways: https://arxiv.org/pdf/2203.12533

[17]

Spanner: https://research.google/pubs/spanner-googles-globally-distributed-database-2/

[18]

MapReduce: https://storage.googleapis.com/gweb-research2023-media/pubtools/4449.pdf

[19]

微软的 Singularity 集群管理器论文: https://arxiv.org/pdf/2202.07848

[20]

Distbelief: https://research.google/pubs/large-scale-distributed-deep-networks/

[21]

DistBelief: https://research.google/pubs/large-scale-distributed-deep-networks/

[22]

EverythingRF: https://www.everythingrf.com/community/what-is-16-qam-modulation

[23]

Ciena: https://www.ciena.com/insights/data-sheets/800g-wavelogic-5-extreme-motr-module.html

👇

👇

👇

👇

本文同步自于知识星球《AGI Hunt》

星球实时采集和监控推特、油管、discord、电报等平台的热点AI 内容,并基于数个资讯处理的 AI agent 挑选、审核、翻译、总结到星球中。

  • 每天约监控6000 条消息,可节省约800+ 小时的阅读成本;

  • 每天挖掘出10+ 热门的/新的 github 开源 AI 项目;

  • 每天转译、点评 10+ 热门 arxiv AI 前沿论文。

星球非免费。定价99元/年,0.27元/天。(每+100人,+20元。元老福利~)

  • 一是运行有成本,我希望它能自我闭环,这样才能长期稳定运转;

  • 二是对人的挑选,鱼龙混杂不是我想要的,希望找到关注和热爱 AI 的人。

欢迎你的加入!


AGI Hunt
关注AGI 的沿途风景!
 最新文章