NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:002557

评论

发布
暂无评论

2021年Android开发前景如何,腾讯T2大牛亲自讲解

android 面试 移动开发

数据库排行榜|当 DB-Engines 遇见墨天轮国产数据库排行

墨天轮

MySQL 数据库 oracle TiDB 国产数据库

2021年Android常见面试题,Android培训那里好

android 面试 移动开发

个推0代码数据可视化实操:基于Tableau的中国奥运数据探索

个推

2021年Android常见面试题目,程序员必须要了解的知识点

android 移动开发 Android面试

2021年Android岗位BAT大厂面试题知识点小结,阿里巴巴安卓面试题答案

android 面试 移动开发

分布式服务下,消息中间件改造

Java 架构 面试 分布式 后端

2021大厂Java面试必问题目,Java后端校招面试题

Java 面试 后端

2021年Android工作或更难找,透彻分析源码

android 面试 移动开发

2021大厂Java开发面试总结+解答,21条MySQL性能调优经验

Java 面试 后端

2021大厂Java春招面试经历,宅家36天咸鱼翻身入职腾讯

Java 面试 后端

2021大厂Java面试经验,这位阿里P7大佬分析总结的属实到位

Java 面试 后端

2021年Android开发学习路线,互联网行业“中年”危机

android 移动开发

2021Java高级进阶学习资料,StringBoot编程式事务与声明式事务

Java 面试 后端

直播回顾 | seL4基金会主席谈物理系统安全工程实践

鉴释

自动驾驶 操作系统 微内核 在线研讨会

2021京东最新Java面试真题解析,2021Java开发面试解答

Java 面试 后端

三维可视化数字能源系统,助力智慧园区高效能源管理

ThingJS数字孪生引擎

大前端 物联网 可视化 数字孪生

2021年Android开发前景如何,详解Android架构进阶面试题

android 面试 移动开发

2021大厂Java面试集合,作为Java程序员

Java 面试 后端

2021年Android大厂面试,劲爆

android 面试 移动开发

2021年Android大厂面试,送大厂面经一份

android 面试 移动开发

2021互联网大厂Java面经合集,阿里面试官必问

Java 面试 后端

2021年Android工作或更难找,2021Android面经

android 移动开发

2021年Android开发学习路线,终于彻底把握了

android 面试 移动开发

2021Java高频精选面试题讲解,2021Java大厂面试真题

Java 面试 后端

2021一位Java中级程序员的跳槽面经,springmvc源码解析pdf

Java 面试 后端

2021大厂Java春招面试经历,Java高级架构视频

Java 面试 后端

硬实力再获认可!焱融科技入选《2021爱分析云计算厂商全景报告》

焱融科技

云计算 分布式 高性能 文件存储 科技

2021大厂Java社招最全面试题,2021Java面经

Java 面试 后端

2021年Android工作或更难找,深入剖析原理

android 面试 移动开发

2021华为Java高级面试题及答案,Java技术成长

Java 面试 后端

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