展望未来,Meta认识到,昨天或今天的工作可能无法满足明天的需求。
每年3月份,照例各家大厂又要开始秀自己最新的产品和研究了。
OpenAI刚刚发布了震惊世人的Sora,最新的ChatGPT版本似乎也是箭在弦上。
谷歌更是举全公司之力,从去年底就开始放出了包括Gemini Ultra,Gemini 1.5,Gemma在内,各分支赛道上的惊艳成果。
可是作为开源AI的扛把子,Meta在去年发布了Llama 2和后续的模型后,就一直缺少有影响力的产品问世。
而对于开源社区来说,OpenAI虽好,可Meta才是大家真的衣食父母。大家都在翘首以待Llama 3的发布。
在Llama 3公开之前,不甘寂寞的Meta还是想到办法在行业内刷了一波存在感——秀肌肉。
Meta AI刚刚发表了一份技术博客,向公众展示了自己拥有的算力资源,以及Meta布局AI Infra的具体细节和路线图。
根据Meta的规划,到2024年底它将拥有35万个英伟达H100GPU,而未来算力储备将达到夸张的60万个H100。
而光有大量的GPU还远远不够,如如何有效地把硬件资源组织成高效的算力集群才是关键。
Meta还公布了它构建的由24576个H100GPU构成的,正在用于训练Llama 3的集群细节。
Pytorch创始人的给出的总结:
Meta用来训练Llama3的Meta 24k H100 Cluster Pods 的详细信息。
-网络:RoCEv2/Infiniband两个版本。
Llama3在RoCEv2 上训练
-存储: 基于Tectonic/Hammerspace的NFS/FUSE
-Stock PyTorch:no real modifications that aren't upstreamed
-带有一些补丁的NCCL:补丁和交换机优化使集群实现了相当高的网络带宽。
-各种调试和集群监控工具,如 NCCL 去同步调试、内存行重映射检测等。
正在训练大模型的公司赶快来抄Meta的作业了!
Meta的H100集群细节
从而使得这两个集群都能支持比RSC所能支持的模型更大,更复杂的模型,从而为未来AI研究提供更加强悍的动力。
大规模提供这些服务需要高度先进且灵活的基础设施。定制设计Meta自己的大部分硬件、软件和网络结构,使他们能够优化人工智能研究人员的端到端体验,同时确保数据中心高效运行。
考虑到Meta的这个具体需求,它构建了这一个集群。
该集群采用基于Arista 7800的远程直接内存访问 (RDMA) 融合以太网 (RoCE) 网络结构解决方案,配备Wedge400和Minipack2 OCP机架式交换机。
另一个集群采用英伟达Quantum2 InfiniBand Fabric。这两种解决方案都能实现400 Gbps端点互联。
有了这两个解决方案,Meta就能够评估这些不同类型的互连是否适合大规模培训以及是否具有可扩展性,从而为Meta今后如何设计和构建更大、更大规模的集群提供更多经验。
通过对网络、软件和模型架构的精心共同设计,Meta已经成功地将RoCE和 InfiniBand集群用于大型GenAI工作负载(包括Meta正在RoCE集群上对Llama 3进行的训练),并且没有出现任何网络瓶颈。
Grand Teton建立在多代AI系统的基础上,将电源、控制、计算和结构接口集成到一个机箱中,以获得更好的整体性能、信号完整性和散热性能。
它采用简化设计,具有快速可扩展性和灵活性,可快速部署到数据中心机群中,并易于维护和扩展。
结合其他内部创新技术,如Meta的开放式机架电源和机架架构,Grand Teton使Meta能够针对自己当前和未来的应用构建新的集群。
从2015 年的Big Sur平台开始,Meta一直在公开设计自己的GPU硬件平台。
随着时间的推移,GenAI训练工作变得越来越多模态化,需要消耗大量的图像、视频和文本数据,因此对数据存储的需求迅速增长。
将所有数据存储纳入一个高性能、高能效的空间的需求,使得问题变得更加有趣。
Meta的存储部署通过自创的用户空间Linux文件系统(FUSE)应用程序接口(API)来满足人工智能集群的数据和检查点需求,该应用程序接口由 Meta 针对闪存媒体进行了优化的 「Tectonic 」分布式存储解决方案版本提供支持。
这个解决方案使数千个GPU能够以同步方式保存和加载检查点(这对任何存储解决方案来说都是一个挑战),同时还提供了数据加载所需的灵活、高吞吐量的外字节级存储。
Meta还与Hammerspace合作,共同开发并部署并行网络文件系统 (NFS),以满足该人工智能集群对开发人员体验的要求。
除其他优势外,Hammerspace还能让工程师使用数千个GPU对作业进行交互式调试,因为环境中的所有节点都能立即访问代码更改。
将Meta的Tectonic分布式存储解决方案和Hammerspace结合在一起,可以在不影响规模的情况下实现快速迭代。
在Meta的GenAI集群中,Tectonic和Hammerspace支持的存储部署都基于YV3 Sierra Point服务器平台,并升级了Meta目前在市场上可以采购到的最新高容量E1.S SSD。
除了更高的固态硬盘容量外,每个机架的服务器也进行了定制,以实现每台服务器吞吐能力、机架数量减少和相关能效之间的适当平衡。
利用OCP服务器作为像乐高积木一样的基本模块,Meta的存储层能够灵活扩展,以满足该集群以及未来更大的人工智能集群的未来需求,同时具有容错能力,可满足日常基础设施维护操作的要求。
这是创建一流人工智能模型的重要原则。
随着Meta不断挑战人工智能系统的极限,测试Meta扩展设计能力的最佳方法就是简单地构建系统、优化系统并进行实际测试(虽然模拟器可以提供帮助,但也只能到此为止)。
在这次设计过程中,Meta比较了小型集群和大型集群的性能,从而找出瓶颈所在。
下图显示了AllGather的集体性能(以 0-100 为单位的归一化带宽),即大量GPU在信息大小为屋顶线性能预期的情况下相互通信时的性能。
从图中可以看到,小型集群性能(整体通信带宽和利用率)开箱即达到90%+,但未经优化的大型集群性能利用率非常低,从10%到90%不等。在优化整个系统(软件、网络等)后,看到大型集群性能恢复到理想的90%+范围。
与优化后的小型集群性能相比,Meta的大型集群开箱即用性能最初较差且不一致。
为了解决这个问题,Meta对内部作业调度程序的调度方式做了一些改变,使其具有网络拓扑意识——这带来了延迟优势,并最大限度地减少了流向网络上层的流量。
Meta还结合英伟达集体通信库(NCCL)的变化优化了网络路由策略,以实现最佳网络利用率。
这有助于推动Meta的大型集群实现与小型集群一样出色的预期性能。
除了针对内部基础设施的软件变更外,Meta还与编写培训框架和模型的团队密切合作,以适应不断发展的基础设施。
例如,英伟达H100 GPU为利用8位浮点(FP8)等新数据类型进行训练提供了可能。
充分利用更大的集群需要投资更多的并行化技术,而新的存储解决方案则为高度优化数千个等级的检查点提供了机会,使其能够在数百毫秒内运行。
Meta还认识到,可调试性是大规模训练的主要挑战之一。
在大规模训练中,识别导致整个训练工作停滞的问题GPU变得非常困难。
Meta正在开发desync调试或分布式集体飞行记录器等工具,以揭示分布式训练的细节,帮助以更快、更简单的方式发现问题。
最后,Meta还在继续改进PyTorch(为Meta的人工智能工作负载提供动力的基础人工智能框架),使其能够满足数万甚至数十万GPU的训练需求。
Meta已经发现了流程组初始化的多个瓶颈,并将启动时间从有时的几个小时缩短到几分钟。
致力于开放式人工智能创新
他们相信,开源硬件和软件将始终是帮助行业大规模解决问题的宝贵工具。
如今,Meta作为OCP的创始成员,继续支持开放式硬件创新,向OCP社区提供Grand Teton和Open Rack等设计。
Meta还是PyTorch的最大和主要贡献者,PyTorch是一个人工智能软件框架,为整个行业提供了强大的动力。
Meta还继续致力于人工智能研究社区的开放式创新。
Meta已经启动了开放创新人工智能研究社区,这是一项面向学术研究人员的合作计划,旨在加深Meta对如何负责任地开发和共享人工智能技术的理解——尤其关注LLM。
Meta还发起了人工智能联盟(AI Alliance),这是一个由人工智能行业领先组织组成的团体,致力于在一个开放的社区内加速人工智能领域负责任的创新。
Meta的人工智能工作建立在开放科学和交叉合作的理念之上。开放的生态系统为人工智能开发带来了透明度、监督和信任,并带来了每个人都能从中受益的创新,这些创新都是以安全和责任为首要考虑的。
Meta AI基础设施的未来
到2024年底,Meta的目标是继续扩大Meta的基础设施建设,其中将包括35万个H100,未来会扩充到60万个H100 GPU的等效算力。
展望未来,Meta认识到,昨天或今天的工作可能无法满足明天的需求。
因此,Meta会不断评估和改进基础设施的各个方面,从物理层、虚拟层到软件层,以及未来出现的新维度。
Meta的目标是创建灵活可靠的系统,以支持快速发展的新模式和研究。