【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Meta 如何搭建训练 Llama 3 的基础设施:未来将扩展到容纳 35 万颗 H100

Kevin Lee、Adi Gangidi、Mathew Oldham

  • 2024-03-27
    北京
  • 本文字数:3905 字

    阅读完需:约 13 分钟

大小:1.92M时长:11:11
Meta 如何搭建训练Llama 3的基础设施:未来将扩展到容纳35万颗H100

本文最初发布于 Meta 工程博客。

  • 我们宣布了两个 24k GPU 集群,这是 Meta 面向 AI 未来的重大投资。本文将分享有关硬件、网络、存储、设计、性能和软件的详细信息,它们将为我们的各种人工智能工作负载提供高吞吐量和可靠性。我们使用这个集群设计训练 Llama 3。

  • 我们坚定地致力于开放计算和开源。我们基于Grand TetonOpenRackPyTorch构建了这些集群,并将继续推动整个行业的开放创新。

  • 本次公告的内容是我们雄心勃勃的基础设施路线图的一个步骤。从现在到 2024 年底,我们的目标是继续扩大我们的基础设施建设,其中将包括 35 万颗 NVIDIA H100 GPU。这是我们投资组合的一部分,全部投资将提供相当于近 60 万颗 H100 的计算能力。

 

要想在人工智能的发展上领先就要在硬件基础设施的投资上领先。硬件基础设施在人工智能的未来发展中扮演着重要的角色。今天,我们将详细介绍 Meta 数据中心级集群(包含 24,576 颗 GPU)的两个版本。这些集群支撑着我们当前和下一代的 AI 模型,包括Llama 2(我们公开发布的 LLM)的继承者 Llama 3,以及 GenAI 和其他领域的 AI 研究和开发。

 

Meta 大规模 AI 集群简介

Meta 的长期愿景是构建开放、可靠的通用人工智能(AGI),使每个人都可以使用,都可以从中受益。在努力实现 AGI 的同时,我们也在努力为实现这一目标而扩展我们的集群。我们依托 AGI 方面取得的进展创造了新产品,为App家族构建了新的AI特性,以及开发了新的以 AI 为中心的计算设备。

 

虽然我们在构建人工智能基础设施方面有着悠久的历史,但我们在 2022 年才首次分享了AI Research SuperCluster(RSC)的细节。该集群有 16 万颗 NVIDIA A100 GPU。它帮助我们建立了第一代先进的人工智能模型,加速了我们开放、负责任的人工智能研究。RSC 在LlamaLlama 2的开发中发挥了重要作用,并将继续发挥重要作用。此外,它在计算机视觉、自然语言处理、语音识别、图像生成甚至编码等应用级先进人工智能模型中也已发挥并将继续发挥重要作用。



内部机制

我们新建的 AI 集群汲取了 RSC 成功的经验和失败的教训。我们专注于构建端到端的 AI 系统,并且重点关注研究人员和开发人员的体验和生产力。高性能网络结构的效率,一些关键的存储决策,再加上每个集群中 24,576 颗 NVIDIA Tensor Core H100 GPU,使得这两个版本的集群可以支持的模型比 RSC 能够支持的模型更大更复杂,为 GenAI 产品开发和人工智能研究的进步铺平了道路。

 

网络

在 Meta,我们的人工智能模型每天执行数万亿次。大规模交付这些服务需要非常先进和灵活的基础设施。定制设计我们自己的硬件、软件和网络结构,使我们能够优化 AI 研究人员的端到端体验,同时确保我们的数据中心可以高效运行。

 

考虑到这一点,我们以带有Wedge400Minipack2 OCP 机架交换机的Arista 7800为基础,采用融合以太网(RoCE)网络结构解决方案,构建了一个支持远程直接内存访问(RDMA)的集群。另一个集群采用了NVIDIA Quantum2 InfiniBand结构。这两个解决方案将 400 Gbps 的端点互连起来。有了这两个集群,我们就能够评估不同类型的互连在大规模训练中的适用性和可扩展性,为我们提供更多的见解,帮助我们在未来设计、构建更大、更可扩展的集群。通过对网络、软件和模型架构进行精心的协同设计,我们已经成功地将 RoCE 和 InfiniBand 集群应用于大型 GenAI 工作负载(包括正在 RoCE 集群上进行的 Llama 3 训练),而且没有遇到任何网络瓶颈。

 

计算

这两个集群都是用Grand Teton构建的,这是我们内部设计的一个开放式 GPU 硬件平台,我们已经把它贡献给了开放计算项目(OCP)。Grand Teton 基于多代 AI 系统,将电源、控制、运算和交换接口集成到单个机箱中,提供了更好的整体性能、信号完整性和热性能。它以简化的设计提供了快速可扩展性和灵活性,使其能够快速部署到数据中心机群中,并且易于维护和扩展。结合其他内部创新,如我们的开放式机架电源和机架架构,Grand Teton 使得我们可以专门针对 Meta 当前和未来的应用程序构建新的集群。

 

2015年的Big Sur平台开始,我们就一直在公开设计我们的 GPU 硬件平台。

 

存储

存储在 AI 训练中扮演着重要的角色,但却是提及最少的方面之一。随着时间的推移,GenAI 训练任务变得越来越多,需要消费大量的图像、视频和文本数据,因此对数据存储的需求也随之迅速增长。然而,人们还是希望将所有的数据存储放入一个高效节能的存储空间中,这使得这个问题变得更加有趣。

 

我们的存储部署通过本地 Linux Filesystem in Userspace (FUSE) API 解决了 AI 集群的数据和检查点需求。该 API 基于 Meta“Tectonic”分布式存储解决方案一个针对 Flash 媒体优化过的版本。该解决方案使数千个 GPU 能够同步保存和加载检查点(这对任何存储解决方案来说都是一项挑战),同时还提供数据加载所需的灵活的高吞吐量 EB 级存储。

 

我们还与Hammerspace合作,共同开发并行网络文件系统(NFS)部署,以满足该 AI 集群的开发体验需求。在 Hammerspace 的众多优点中,其中一个是,工程师可以使用数千个 GPU 对作业进行交互式调试,因为环境中的所有节点都可以立即获得代码更改。将我们的 Tectonic 分布式存储解决方案和 Hammerspace 相结合可以在不影响规模的情况下实现快速迭代。

 

GenAI 集群的存储部署,不管是采用 Tectonic 方案还是 Hammerspace 方案,都是基于YV3 Sierra Point服务器平台,并且使用我们可以在市场上买到的最新的高容量 E1.S SSD 进行了升级。除了更高的 SSD 容量之外,我们还定制了每个机架的服务器,以实现单台服务器吞吐能力、机架数量和相关电源效率之间的适当平衡。我们利用 OCP 服务器作为类似乐高积木的构建块,使得存储层能够灵活扩展,可以适应该集群未来的需求以及未来更大的 AI 集群,同时在日常基础设施维护操作方面具备容错能力。

 

性能

在构建大规模人工智能集群时,我们的原则之一是同时最大化性能和易用性,不牺牲其中任何一个。这是创建一流 AI 模型的重要原则。

 

当我们不断挑战 AI 系统的极限时,我们测试设计扩展能力的最佳方式就是简单地构建一个系统,对其进行优化和实际的测试(虽然模拟器可以提供帮助,但它们也只能做到这一点)。在设计过程中,为了发现瓶颈,我们比较了小型集群和大型集群的性能。下图显示了当大量 GPU 进行消息通信时,AllGather 的总体性能(按 0-100 的标准带宽表示)。

 

与经过优化的小型集群相比,我们的大型集群最初性能很差,而且不一致。为了解决这个问题,我们对内部作业调度器利用网络拓扑感知调度作业的方式做了一些更改——这对于延迟有一些好处,最大限度地减少了流向网络上层的流量。我们还结合 NVIDIA 集体通信库(NCCL)的更改优化了网络路由策略,从而实现最佳的网络利用率。这有助于推动我们的大型集群实现与小型集群一样出色的预期性能。

 

如上图所示,我们看到,小型集群的性能一开始就(总体通信带宽和利用率)达到了 90%以上,但未经优化的大型集群的利用率非常低,在 10%到 90%之间。在优化了整个系统(软件、网络等)之后,我们看到,大型集群的性能回到理想的 90%以上。

 

除了针对内部基础设施的软件变更之外,我们还与编写训练框架和模型的团队密切合作,以适应不断发展的基础设施。例如,NVIDIA H100 GPU 开启了利用 8 位浮点(FP8)等新数据类型进行训练的可能性。要想充分利用更大的集群,就需要在并行化技术和新的存储解决方案方面追加投资,寻找机会对跨数千个进程的检查点进行高度优化,以便可以在数百毫秒内运行。

 

我们也认识到,可调试性是大规模训练的主要挑战之一。在规模很大的情况下,要识别出阻碍整个训练工作的有问题的 GPU 变得非常困难。我们正在构建诸如异步调试或分布式集体飞行记录器之类的工具,以揭示分布式训练的细节,从而帮助我们用更快更简单的方式识别问题。

 

最后,我们将继续发展 PyTorch(这是为 AI 工作负载提供动力的基础 AI 框架),使其为数万甚至数十万的 GPU 训练做好准备。我们已经识别了进程组初始化的多个瓶颈,有时可以将启动时间从几小时减少到几分钟。

 

致力于开放式 AI 创新

Meta 将继续致力于人工智能软硬件的开放式创新。我们相信,开源硬件和软件将永远是帮助行业在大规模环境中解决问题的宝贵工具。

 

如今,作为 OCP 的创始成员,我们将继续支持开放式硬件创新,我们向 OCP 社区贡献了像 Grand Teton 和 Open Rack 这样的设计。我们还将继续努力成为PyTorch最大、最主要的贡献者,它是一个推动行业发展的重要的 AI 软件框架。

 

我们还将继续致力于 AI 研究社区的开放式创新。我们已经启动了开放式创新AI研究社区,这是一个面向学术研究人员的合作项目,目标是帮助我们进一步理解如何才算负责任地开发和分享 AI 技术。其中,LLM 是该项目的一个特别关注点。

 

对 Meta 来说,开放式 AI 方法并不新鲜。我们还创建了AI联盟。这是一个由人工智能行业中处于领先地位的组织组成的团体,其目标是在一个开放的社区内加速 AI 领域负责任的创新。我们的 AI 工作以开放科学和交叉合作的理念为基础。一个开放的生态系统可以为人工智能的发展带来透明度、监督和信任,促成每个人都能从中受益的创新,而且,这些创新首先考虑了安全和责任。

 

Meta AI 基础设施未来展望

这两个人工智能训练集群的设计是我们未来人工智能大路线图的一部分。从现在到 2024 年底,我们的目标是继续扩大我们的基础设施建设,其中将包括 35 万颗 NVIDIA H100 GPU。这是我们投资组合的一部分,全部投资将提供相当于近 60 万颗 H100 的计算能力。

 

在展望未来时,我们认识到,昨天或今天行之有效的方法可能不足以满足明天的需要。这就是为什么我们要不断评估和改进基础设施的各个方面,从物理层、虚拟层到软件层等等。我们的目标是创建灵活可靠的系统,以支持快速发展的新模型和研究。

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://engineering.fb.com/2024/03/12/data-center-engineering/building-metas-genai-infrastructure/

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2024-03-27 17:002570

评论

发布
暂无评论

EfficientFormerV2 加速 ViT,更高效的移动端视觉模型

Zilliz

计算机视觉 Towhee

EasyRcovery软件最新版本V15电脑版安装包下载

茶色酒

EasyRcovery2023 EasyRcovery

读懂深度学习,走进“深度学习+”阶段

白洞计划

初识PHP(2):语法和变量创建

华为云PaaS服务小智

php

ios开发]-APP-上架流程

雪奈椰子

第四周作业-千万级学生系统课程存储设计

不爱学习的程序猿

动态感知,智能监控|全维度网络链路管理解决方案

智维数据

大数据 数据可视化 智能运维 应用交付 流量分析系统

Hero动画应用之列表详情页切换

岛上码农

flutter ios 前端 安卓 移动端开发

小兔子在终端给大家拜年啦

陈明勇

Go golang 后端

如何破越发展 to B 市场亏损越多问题?

风铃架构日知录

互联网 程序人生 后端 IT tob产品

干货|一图搞懂有源晶振和无源晶振的12点区别

元器件秋姐

电路 电子元器件 晶振 无源晶振 有源晶振

Java UDF 的设计与使用介绍,兼容 Hive UDF 实现数据快速迁移

SelectDB

Java UDF 数据迁移 Hive UDF C++

Java 8 使用 Stream 把 List 转换为 map

HoneyMoose

【Java基础】Java8 使用 stream().sorted()对List集合进行排序

No8g攻城狮

java; 开发语言 语言 & 开发 Java’

【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)

No8g攻城狮

java; 开发语言 语言 & 开发 Java’

华为云数据库助力汽车行业“数智”升级

科技之光

Hive的条件函数与日期函数汇总

Steven

软件测试/测试开发 | 常见接口协议解析

测试人

软件测试 自动化测试 TCP/IP 接口测试 测试开发

iOS 语言基础&初探 Xcode 工具

叶秋学长

ios iOS 架构RxSwift iOS 知识体系

星汉未来开源社区2022年度总结 | 积跬步至千里

星汉未来

云原生 开源社区 severless 星汉未来

设计千万级学生管理系统的考试试卷存储方案 - 模块四

Geek_e5f2e5

华为云数据库全新ALT功能,保障企业业务连续性

科技之光

Hbuilder用自有证书打包 ios App上架AppStore流程

雪奈椰子

ios打包

千万级学生管理系统考试试卷存储方案

Geek_7d539e

软件测试/测试开发 | 抓包分析 TCP 协议

测试人

TCP 软件测试 自动化测试 接口测试 测试开发

「布道人生」第一期:阿里云DevOps资深专家章屹

云布道师

阿里云

EasyRecovery2024永久版手机数据恢复软件

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)

洛神灬殇

分布式事务 分布式架构 Alibaba SpringCloud Alibaba

传统应用实现快速部署的一种方案

为自己带盐

dotnet 控制台 自动部署

算力狂热时代的冷静之道:宁畅总裁秦晓宁分享企业的算力最优解

脑极体

算力 东数西算 算力网络

2023-01-13:joxit/docker-registry-ui是registry的web界面工具之一。请问部署在k3s中,yaml如何写?

福大大架构师每日一题

k8s k3s 福大大

Meta 如何搭建训练Llama 3的基础设施:未来将扩展到容纳35万颗H100_生成式 AI_InfoQ精选文章