Meta基础设施演进与AI时代
在过去的21年里,Meta从连接美国少数大学几千人的小型社交网络,发展成为服务全球超过34亿人的多个应用和新型硬件产品。我们的基础设施经历了显著演进,从位于少数托管设施中小型服务器集群上的少量软件系统,发展成为庞大的全球网络化运营。
基础设施堆栈扩展(2004-2010年)
在早期阶段,我们的工程工作重点在于扩展软件堆栈。当Facebook从哈佛大学扩展到其他大学时,每个大学都有自己的数据库。登录Facebook的学生会连接到一组共同的Web服务器,这些服务器再将每个学生连接到他们所在大学的数据库。
随着Facebook从大学扩展到高中再到普通公众,我们平台上的用户数量急剧增加。我们通过扩展Memcache部署来管理数据库负载,然后构建了全新的软件系统,如TAO社交图,以及一系列新的缓存和数据管理系统。我们还为News Feed开发了新的排名服务,以及用于分享照片和视频的照片服务。
当扩展到欧洲时,我们开始扩展物理基础设施,从湾区的少量托管设施扩展到弗吉尼亚州阿什本的托管设施,同时我们在俄勒冈州普赖恩维尔和北卡罗来纳州福雷斯特城建立了首批数据中心。
随着物理基础设施扩展到多个数据中心,我们遇到了两个新问题:需要将分布在美国和欧洲的用户群连接到我们的数据中心,以及需要在每个数据中心复制整个软件堆栈。这促使我们构建了高带宽、多路径的主干网络来互连数据中心。
扩展挑战(2010-2020年)
构建全球基础设施带来了计算机科学中所有复杂的边缘情况。
缓存一致性 我们遇到了用户收到照片标记通知但看不到照片的问题,或者聊天线程中的消息顺序错乱。通过构建新的软件系统来提供缓存失效,最终为分布式系统构建了一致性API。
集群管理 随着新增数据中心区域和机器集群的增长,我们开发了新的抽象来管理它们:
- Twine:可扩展至管理数据中心区域数百万台机器的集群管理系统
- Tectonic:数据中心规模的分布式文件系统
- ZippyDB:强一致性分布式键值存储
- Shard Manager:管理数千万个数据分片的全局系统
- Delos:全球基础设施的新控制平面
- Service Router:管理我们的全局服务网格
屏蔽硬件故障 更多机器意味着更高的故障可能性。我们构建了新系统来确保高可用性:
- Kraken:利用实时流量负载测试识别和解决资源利用率瓶颈
- Taiji:管理用户流量负载均衡
- Maelstrom:安全高效地处理数据中心规模的灾难,同时最小化用户影响
AI工作负载的出现(2020年)
GPU的出现 我们在2010年代末首次遇到AI引发的基础设施挑战,当时短视频变得非常流行。个性化推荐需要理解平台上所有视频并为每个人生成定制排名,这与之前基于社区喜好的内容排名方式截然不同。
GPU作为向量和矩阵处理机器,可以执行比CPU多几个数量级的计算。通过构建嵌入(将每个视频表示为数字向量的数学表示),我们可以在低维空间中捕获视频的上下文,从而构建跟踪用户点击序列并预测他们可能感兴趣的未来视频的模型。
AI集群是由数百甚至数千个极其强大的GPU组成的高性能计算系统,具有充足的内存、高带宽低延迟网络互连,以及经过优化的自定义软件堆栈,以榨取系统的最大性能。
大语言模型的兴起(2022年)
当我们开始训练LLM时,情况迅速改变。LLM需要显著更多的计算容量,我们不得不在几周内将训练作业规模从128个GPU扩展到2k,然后到4k个GPU。
我们首次经常处理需要数千个GPU同步运行的训练作业。任何单个落后的GPU都会拖累整个集群的性能。通过与行业和合作伙伴的合作,我们能够将中断率降低约50倍。
加速GPU规模和AI基础设施(2023年)
我们设计了一个使用数据中心建筑所有可用电力的集群,这导致我们在2023年底建造了两个各含24k H100的集群,一个使用Infiniband,另一个使用RoCE。
通过清空五个生产数据中心,我们能够在几个月内构建一个包含129k H100 GPU的单一AI集群!
效率挑战 我们的AI工作负载不是同质的。提供个性化用户体验的排名和推荐模型与LLM有不同的需求,而LLM本身也在快速发展。
Meta训练与推理加速器(MTIA)
我们大力投资开发自己的芯片。Meta训练和推理加速器(MTIA)针对我们的排名和推荐推理工作负载进行了优化。该芯片现已大规模部署在我们的数据中心,主要服务于我们的广告工作负载,并为我们带来了比供应商芯片巨大的效率优势。
先进封装技术的需求 晶体管缩放速度跟不上性能需求。通过与LLM合作,我们发现扩展需求如此内在,迫使我们投资更多芯片来跟上每个新模型代的性能需求。
内存解聚解决方案投资 推理模型、测试时推理和强化学习的兴起都给内存子系统带来了额外压力。我们开始将高带宽内存(HBM)堆叠在计算小芯片旁边以最大化I/O带宽。
硅光子的案例 硅光子学具有一系列优势,例如允许在更远距离上进行更快信号传输,可以显著降低机架的整体功耗。
开放标准在扩展AI中的作用
虽然硬件扩散提供了选项,但它们也为超大规模企业、云运营商以及硬件和软件开发人员创造了管理挑战。
这里需要的是开放标准、开放权重模型和开源软件。像PyTorch和Triton这样的开源软件可以通过为机器学习开发人员和研究人员提供一致的编程接口来提供帮助。
我们从一开始就是数据中心基础设施开放硬件的坚定支持者。我们是开放计算项目(OCP)的创始成员,并继续成为技术内容和IP的主要贡献者。
下一阶段(2026年及以后)
在Meta,我们的目标是构建能够提供最佳、最吸引人体验的模型,并作为每天使用我们产品的数十亿人的个人助手。
构建这种复杂模型的基础设施意味着要积极应对整个数据中心的挑战——从先进封装、热管理、电力输送到内存解聚,同时通过光学实现可扩展网络。
我们的下一个AI集群Prometheus将是一个跨越多个数据中心建筑的1吉瓦集群。构建Prometheus是一项巨大的工程壮举,基础设施跨越单个数据中心区域的五个或更多数据中心建筑。
我们还有一个更大的集群Hyperion,预计从2028年开始上线。一旦完成,Hyperion集群将能够扩展到5吉瓦的容量。
我们仍处于AI工作负载演进和采用的早期阶段。过去几年很忙碌,但未来几年将以更快的速度发展。AI对硬件的要求没有放缓的迹象。