Facebook的「下一代 AI 计算平台」长什么样子?

2024-03-24 19:30

本文主要是介绍Facebook的「下一代 AI 计算平台」长什么样子?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

雷锋网 AI 科技评论按:作为社交网络巨头,Facebook 的一系列应用和服务每月服务的用户多达 27 亿。随着近几年的 AI 热潮席卷而来,Facebook 也开始把数据中心中的许多通用计算硬件逐渐切换为了性能、功耗、效率更好的专用硬件。

昨天(美国时间 3 月 14 日),Facebook 公开介绍了自己的「下一代」AI 模型训练硬件平台 Zion,一并也介绍了针对另外两类计算的定制化 ASIC(应用专用集成电路)芯片:用于 AI 推理的 Kings Canyon,以及用于视频转码的 Mount Shasta 。这些新设计主要针对 AI 推理、AI 训练、视频转码三类计算。这些计算不仅负荷重、切换为专用硬件的提升明显,而且也是 Facebook 中快速扩大的服务类型。

从当代 AI 硬件到下一代 AI 硬件

Facebook 早就开始大规模部署 AI 模型用于业务中的计算,这些模型每天要进行超过一百万亿次预测以及超过六十亿次语言翻译。Facebook 用来识别、分类内容的图像识别模型也使用了超过 35 亿张图像训练。各种使用了 AI 的服务帮助用户更好地进行日常沟通,也为他们提供了独特、个性化的使用感受。

Facebook 自研的 AI 平台 FBLearner 管理了 Facebook 目前的大多数 AI 模型流水线。FBLearner 中包含了特征存储、训练过程管理、推理引擎管理等对应问题不同部分的工具。另外,Facebook 也基于「开放计算计划」(OCP)设计了自己的硬件,这些硬件和 FBLearner 配合使用,能够让 Facebook 的开发人员们快速大批量地部署模型。

在解决了当前紧迫的计算规模问题之后,Facebook 继续集中精力研发,最终目标是创建一种面向未来的、牢靠的硬件设计,它不仅要对供应商是透明的,同时也要能持续体现 Facebook 的最大化运行效率的离散化设计理念。Facebook 的答卷就是他们的下一代训练、推理硬件平台。雷锋网(公众号:雷锋网) AI 科技评论简单介绍如下。

用 Zion 进行 AI 训练

Zion 是 Facebook 的下一代大容量统一训练平台,目标是高效地承担未来的更大计算负载。Zion 在设计时就考虑了如何高效地处理 CNN、LSTM、稀疏神经网络等多种不同的神经网络模型。Zion 平台可以提供高内存容量、高带宽、灵活的高速内部连接,为 Facebook 内部的关键工作负载提供强大的计算能力。

Zion 的设计采用了 Facebook 新的供应商透明的 OCP 加速模型(OAM)。OAM 的作用在于,Facebook 从 AMD、Habana、Graphcore、英特尔、英伟达等许多不同的硬件供应商处购买硬件,只要他们在开放计算计划(OCP)的公开标准基础上开发硬件,不仅可以帮助他们更快地创新,也可以让 Facebook 自由地在同一个机架上的不同的硬件平台、不同的服务器之间拓展,只需要通过一个机柜网络交换机。即便 Facebook 的 AI 训练负载不断增加、不断变得更加复杂,Zion 平台也可以拓展并处理。

具体来说,Facebook 的 Zion 系统可以分为三个部分:八路 CPU 服务器、OCP 加速模块、以及可以安装八个 OCP 加速模块的平台主板。 

TB1tR8RMirpK1RjSZFhXXXSdXXa.jpg

左,模块化服务器主板,每个主板可以安装 2 个 CPU;右:四张主板、八个 CPU 组成一台八路服务器

TB1a1FRMmzqK1RjSZFjXXblCFXa.jpg

左,一个 OCP 加速模块;中,八个 OCP 加速模块安装在一个平台主板上;右,组成一个含有八块加速芯片的平台

TB1pg8JMgDqK1RjSZSyXXaxEVXa.gif

Zion 平台内部模块连接示意图

Zion 平台的设计得以把系统中的内存、计算、网络部件进行解耦,然后每一项都可以独立地进行拓展。系统中的八路 CPU 平台可以提供超大的 DDR 内存池,服务于对内存容量有很高要求的工作负载,比如稀疏神经网络的嵌入表。对于 CNN 或者稀疏神经网络中较为稠密那些,它们对带宽和计算能力更为敏感,那么它们的加速主要就是依靠连接到每个 CPU 上的 OCP 加速器模块。

系统中包括两种高速连接线:一种把所有 CPU 互相连接,另一种把所有的加速器互相连接。由于加速器具有很高的内存带宽和低内存容量,Facebook 工程人员想了一种办法来高效地利用总的内存容量:把模型和内存做一定的划分,比较经常访问的数据就存储在加速器的内存上,不怎么经常访问的数据则存储在 CPU 的 DDR 内存中。所有 CPU 和加速器之间的计算和通讯会进行平衡,通过高速和低速互联线路高效地执行。

用 Kings Canyon 进行 AI 推理

与逐渐增加的 AI 训练负载相对应地,AI 推理负载也在快速增加。在下一代设计中,Facebook 和 Esperanto, Habana, 英特尔, Marvell, 高通等企业合作,共同开发易于拓展和部署的专用 ASIC 芯片。Kings Canyon 芯片可以同时支持偏重推理速度的 INT8 (8 位整型)计算,以及偏重更高精度的 FP16 (半精度浮点)计算。

TB1TVppe_Zmx1VjSZFGXXax2XXa.jpg

Kings Canyon 芯片搭载在 M.2 规格的电路板上;每个 Glacier Point v2 母板上安装六块 Kings Canyon 芯片;最后,两个 Glacier Point v2 母板和两个单路服务器一同组成一台完整的 Yosemite 服务器。

Facebook 的视频转码 ASIC 芯片 Mount Shasta 也采用了这样的布置方式。

总结

根据 Facebook 给出的图解和介绍,目前似乎只有 AI 训练平台 Zion 已经开始投入使用,AI 推理芯片 Kings Canyon、视频转码芯片 Mount Shasta 以及相关硬件还没有看到实物。但 Facebook 上下都对这套设计充满了信心。未来他们将通过 OCP 公开所有的设计和相关规格,便于更广泛的合作;Facebook 也会和目前的合作伙伴一起共同改善整套系统的软硬件共同设计。

更多详细说明可以参见 Facebook 官方介绍:https://code.fb.com/data-center-engineering/accelerating-infrastructure/,雷锋网 AI 科技评论报道

这篇关于Facebook的「下一代 AI 计算平台」长什么样子?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842549

相关文章

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用