Meta公布Llama 3训练集群细节!储备60万块H100迎接AGI

时间: 2024-03-15 12:41:19 |   作者: 华体会登入页面

详情


  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的集群细节。

  -带有一些补丁的NCCL:补丁和交换机优化使集群实现了相当高的网络带宽。

  -各种调试和集群监控工具,如 NCCL 去同步调试、内存行重映射检测等。

  在Meta2022年公布的研究超级集群(RSC)基础之上,这两个100集群进一步在高性能网络结构的效率、一些关键存储决策上进行了优化。

  从而使得这两个集群都能支持比RSC所能支持的模型更大,更复杂的模型,从而为未来AI研究提供更强悍的动力。

  大规模提供这些服务需要高度先进且灵活的基础设施。定制设计Meta自己的大部分硬件、软件和网络结构,使他们可以优化AI研究人员的端到端体验,同时确保数据中心高效运行。

  有了这两个解决方案,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结合在一起,可以在不影响规模的情况下实现快速迭代。

  除了更高的固态硬盘容量外,每个机架的服务器也进行了定制,以实现每台服务器吞吐能力、机架数量减少和相关能效之间的适当平衡。

  利用OCP服务器作为像乐高积木一样的基本模块,Meta的存储层能够灵活扩展,以满足该集群以及未来更大的人工智能集群的未来需求,同时具有容错能力,可满足日常基础设施维护操作的要求。

  Meta构建大规模人工智能集群的原则之一是同时最大限度地提高性能和易用性,而不会顾此失彼。

  随着Meta不断挑战AI系统的极限,测试Meta扩展设计能力的最佳方法就是简单地构建系统、优化系统并进行实际测试(虽然模拟器能够给大家提供帮助,但也只能到此为止)。

  在这次设计过程中,Meta比较了小型集群和大型集群的性能,从而找出瓶颈所在。

  下图显示了AllGather的集体性能(以 0-100 为单位的归一化带宽),即大量GPU在信息大小为屋顶线性能预期的情况下相互通信时的性能。

  从图中能够正常的看到,小型集群性能(整体通信带宽和利用率)开箱即达到90%+,但未经优化的大型集群性能利用率非常低,从10%到90%不等。在优化总系统(软件、网络等)后,看到大型集群性能恢复到理想的90%+范围。

  与优化后的小型集群性能相比,Meta的大型集群开箱即用性能最初较差且不一致。

  为了解决这一个问题,Meta对内部作业调度程序的调度方式做了一些改变,使其具有网络拓扑意识——这带来了延迟优势,并最大限度地减少了流向网络上层的流量。

  Meta还结合英伟达集体通信库(NCCL)的变化优化了网络路由策略,以实现最佳网络利用率。

  除了针对内部基础设施的软件变更外,Meta还与编写培训框架和模型的团队密切合作,以适应持续不断的发展的基础设施。

  例如,英伟达H100 GPU为利用8位浮点(FP8)等新数据类型进行训练提供了可能。

  充分利用更大的集群需要投资更多的并行化技术,而新的存储解决方案则为高度优化数千个等级的检查点提供了机会,使其能够在数百毫秒内运行。

  Meta正在开发desync调试或分布式集体飞行记录器等工具,以揭示分布式训练的细节,帮助以更快、更简单的方式发现问题。

  最后,Meta还在继续改进PyTorch(为Meta的人工智能工作负载提供动力的基础人工智能框架),使其能够很好的满足数万甚至数十万GPU的训练需求。

  Meta已经发现了流程组初始化的多个瓶颈,并将启动时间从有时的几个小时缩短到几分钟。

  如今,Meta作为OCP的创始成员,继续支持开放式硬件创新,向OCP社区提供Grand Teton和Open Rack等设计。

  Meta还是PyTorch的最大和主要贡献者,PyTorch是一个人工智能软件框架,为整个行业提供了强大的动力。

  Meta已经启动了开放创新人工智能研究社区,这是一项面向学术研究人员的合作计划,旨在加深Meta对如何负责任地开发和共享人工智能技术的理解——尤其关注LLM。

  Meta还发起了人工智能联盟(AI Alliance),这是一个由人工智能行业领先组织组成的团体,致力于在一个开放的社区内加速AI领域负责任的创新。

  Meta的人工智能工作建立在开放科学和交叉合作的理念之上。开放的ECO为AI开发带来了透明度、监督和信任,并带来了任何一个人都能从中受益的创新,这些创新都是以安全和责任为首要考虑的。

  这两个人AI训练集群设计是Meta未来人工智能更大路线年底,Meta的目标是继续扩大Meta的基础设施建设,其中将包括35万个H100,未来会扩充到60万个H100 GPU的等效算力。

  因此,Meta会不断评估和改进基础设施的每个方面,从物理层、虚拟层到软件层,以及未来出现的新维度。