在开放计算项目全球峰会上,Facebook 技术策略主管Vijay Rao 开源了全新的AI 硬件。

一向以来,社区对Facebook 的硬件研讨比较重视。在今日的敞开核算项目全球峰会上,Facebook 技能战略主管Vijay Rao 开源了全新的AI 硬件:面向AI 练习与推理的硬件体系Zion 与Kings Canyon,以及针对视频转码的Mount Shasta。这篇博客内容对此进行了具体介绍。

Facebook 的根底设施现在每月为其整个运用和服务体系上超越27 亿的人供给服务。他们的工程师规划并创立了高档、高效的体系来扩展这一根底设施,可是跟着作业负载的添加,单靠通用处理器现已无法满意这些体系的需求。晶体管添加的速度已大大放缓,这就需求开宣布专门的加速器和全体的体系级解决方案来进步功能、功率和功率。

为根底设施创立高效的解决方案需求一起规划优化了作业负载的硬件。为此,Facebook 一向与协作伙伴一起开发针对AI 推理、AI 练习和视频转码的解决方案。这几个都是其开展最快的服务。今日,Facebook 发布了其用于AI 练习的下一代硬件渠道Zion、针对AI 推理的新定制芯片规划Kings Canyon 以及用于视频转码的Mount Shasta。

AI 硬件

AI 作业负载的运用贯穿Facebook 的架构,使其服务相关性更强,并改进用户运用服务的体会。经过大规划布置AI 模型,Facebook 每天能够供给200 万亿次估测以及超越60 亿次言语翻译。Facebook 运用35 亿多揭露图画来构建或练习其AI 模型,使它们更好地辨认和符号内容。AI 被运用于各式各样的服务中,协助人们进行日常互动,并为其供给共同的个性化服务。

Facebook 上的大多数AI 流程都是经过其AI 渠道FBLeaner 进行办理的,该渠道包括会集处理各部分问题的东西,如特征库、练习作业流程办理以及推理机。与规划并发布到Open Compute Project(OCP)的硬件相结合,这将能够促进Facebook 大规划、高效地布置模型。从一个安稳的根底开端,Facebook 专心于创立与供货商无关的整合硬件规划,并且为进步作业功率,持续坚持分化规划准则。成果便是Facebook 推出了用于作业负载练习和推理的下一代硬件。

AI 练习体系Zion

Zion 是Facebook 下一代大存储一致练习渠道,规划上能够高效处理一系列神经网络,包括CNN、LSTM 和SparseNN。Zion 渠道能够为其严峻的作业负载供给高存储才能和带宽、灵敏高速的相连、强壮的核算才能。

Zion 选用了Facebook 全新的、与供货商无关的OCP 加速模块(OAM)。OAM 形状系数让Facebook 的协作伙伴(包括AMD、Haban、GraphCore 和Nvidia)能够在OCP 通用规范上开发自己的解决方案。经过单个机架运用TOR 网络转化,Zion 架构让Facebook 能够在每个渠道上自在扩展到多个服务器。跟着Facebook AI 练习作业负载的规划和复杂性不断添加,Zion 渠道也会随之扩展。

Zion 体系分为三个部分:

  • 8 插槽服务器

  • 8 加速器渠道

  • OCP 加速器模块

刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能)  Facebook 开发 开源 第1张

AI 练习解决方案根底模块

刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能)  Facebook 开发 开源 第2张

Zion 衔接模块图解

Zion 将体系的内存、核算和网络密布型组件别离,使每部分都可独自扩展。该体系为8 个NUMA CPU 插槽供给了一个大型DDR 存储池,以满意作业负载存储容量密布型组件的需求,例如SparseNN 的嵌入表。对class="weapp_text_link" data-miniprogram-appid="wxf424e2f3e2f94500" data-miniprogram-path="pages/technology/technology?id=85c4b79b-6428-4184-b9bc-5beb6e2b1f3f&from=weapp" data-miniprogram-nickname="机器之心Synced" href data-miniprogram-type="text" data-miniprogram-servicetype="">CNN 或许SparseNN 密布部分这样的存储-带宽密布型和核算密布的作业负载,每个CPU 插槽都衔接了OCP 加速模块。

体系有两个高速结构:衔接一切CPU 的相干结构和衔接一切加速器的结构。由于加速器存储带宽高但存储容量低,因而经过以这样的方法对模型进行分区来有用运用可用的总存储容量,然后使拜访频率较高的数据驻留在加速器上,拜访频率较低的数据驻留在具有CPU 的DDR 内存上。一切CPU 和加速器之间的核算和通讯都是平衡的,并且经过高速和低速相连有用地进行。

经过Kings Canyon 履行推理

一旦咱们练习完模型,就需求将其布置到出产环境中,然后处理AI 流程的数据,并响运用户的恳求。这便是推理(inference)——模型对新数据履行猜测的进程。推理的作业负载正急剧添加,这反映了练习作业的许多添加,现在规范CPU 服务器现已无法满意需求了。Facebook 正与Esperanto、Intel、Marvell 和Qualcomm 等多个协作伙伴协作,开发可在根底设施上布置和扩展的推理ASIC 芯片。这些芯片将为作业负载供给INT8 半精度的运算,然后取得抱负的功能,一起也支撑FP16 单精度的运算,然后取得更高的准确率。

整个推理服务器的解决方案分为四个不同的部分,它们会运用已发布到OCP 的现有构建块。运用现有组件能够加速开发进度,并经过通用性下降开发危险。该规划的四个首要组成部分为:

  • Kings Canyon 推理M.2 模块

  • Twin Lakes 单插槽(single-socket)服务器

  • Glacier Point v2 承载卡(carrier card)

  • Yosemite v2 机架

刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能)  Facebook 开发 开源 第3张

图:AI 推理解决方案模块

刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能)  Facebook 开发 开源 第4张

图:AI 推理解决方案衔接模块图解

在体系等级,每个服务器都结合了M.2 Kings Canyon 加速器和Glacier Point v2 承载卡,后者首要衔接到Twin Lakes 服务器。一般能够将两组前面的组件安装到更新的Yosemite v2 机架中,然后经过多主机NIC 衔接到TOR 交换机。更新版的Yosemite sled 是现在现存Yosemite v2 sled 的迭代晋级,它将Twin Lakes 主机的其他PCIe 通道衔接到NIC,以取得更高的网络带宽。每个Kings Canyon 模块都包括ASIC、相关内存和其它支撑组件,其间CPU 主机经过PCIe 通道与加速器模块通讯。Glacier Point v2 包括一个集成的PCIe 交换机,答应服务器一起拜访一切模块。

深度学习模型有很高的贮存要求。例如,SparseNN 模型具有非常大的嵌入表征表,它会占用好几GB 的存储空间,并且还或许会持续添加。这样的大模型或许不适合加载到独自设备的内存中,不论是CPU 仍是加速器都不可,所以这就要求在多个设备内存上进行模型切割(model partitioning)。当数据坐落另一个设备的内存中时,切割将发生许多通讯本钱。因而,好的图切割(graph-partitioning)算法将测验捕获部分的概念,然后下降通讯本钱。

经过适宜的模型切割,咱们能够运转非常大的深度学习模型。例如SparseNN 模型,假如单节点的内存才能不足以支撑给定的模型,咱们能够考虑在两个节点中同享模型,并进步模型能拜访的内存量。这两个节点能够经过多主机NIC 衔接,并支撑高速信息处理。这将添加全体的通讯本钱,但咱们能够运用跨多个嵌入表存在拜访差异的现实,相应地对表进行排序而下降通讯推迟。

神经网络硬件加速器编译器

ASIC 不运转通用代码,由于它们需求特定的编译器才能将图转化为在这些加速器上履行的指令。Glow 编译器的方针是将供货商的特定硬件从更高档的软件仓库中笼统出来,使根底设施不受供货商约束。它接受来自结构(如PyTorch 1.0)的核算图,并为这些机器学习加速器生成高度优化的代码。

 刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能) Facebook 开发 开源 第5张

Glow 编译器

运用Mount Shasta 进行视频转码

自2016 年以来,Facebook Live 直播的均匀数量每年翻一番。自2018 年8 月在全球推出以来,Facebook Watch 的月浏览量现已超越4 亿,每天有7500 万人运用。为了优化一切这些视频,使其能习惯多种网络环境,Facebook 生成了多个输出质量和分辨率(或比特率),这个进程称为视频转码。完结这个转码进程所需求的核算是高度密布型的,通用CPU 无法满意Facebook 日益添加的视频需求。为了走在需求的前面,Facebook 与博通和芯原协作,规划为转码负载进行优化的定制ASIC。

视频转码流程被分化为许多不同的进程,下面将给出更具体的介绍。这些进程都是在今日的软件中运转的,所以为了进步功率,Facebook 与供货商协作,为转码作业流程的每个阶段创立了包括专用芯片的定制ASIC。运用定制化的硬件来完结这些作业负载使得这一进程的动力运用愈加高效,并支撑实时4K 60fps 流媒体等新功能。单个视频编解码器是规范化的,并且不常常修正,因而在这种情况下,定制芯片内涵缺少灵敏性并不是一个明显的缺陷。

视频转码的第一个阶段称为解码,在解码进程中,上传的文件被解压,以取得由一系列图画表明的原始视频数据。然后,能够对这些未紧缩的图画进行操作,以更改它们的分辨率(称为缩放),接下来再次运用优化设置进行编码,将它们从头紧缩到视频流中。将输出视频与原始视频进行比较,核算质量方针,这些方针代表了相对于原始上传视频的质量改变。一般一切的视频都采纳这种做法,以保证所用的编码设置能够发生高质量的输出。视频编码和解码运用的规范称为视频编码方法;H.264、VP9 和AV1 是现在运用的干流编码协议。

在ASIC 上,除了每个软件算法都被芯片内的专用部件所替代外,其他进程都是相同的。均匀而言,Facebook 期望这一视频加速器比其现在的服务器功率高许多倍。他们期望业界的方针编码在10W 功耗内至少处理2x 4K 分辨率和60fps 的并行输入流。ASIC 还需求支撑多种分辨率(从480p 到60fps 的4K)和多种编码格局(从H.264 到AV1)。

视频转码ASIC 一般有以下首要逻辑块:

  • 解码器:接纳上传的视频;输出解紧缩的原始视频流

  • 缩放器(Scaler):缩放解紧缩的视频

  • 编码器:输出紧缩(编码)视频

  • 质量衡量:衡量编码进程之后的视频质量丢失

  • PHY:芯片与外界的接口;衔接到服务器的PCIe 和内存的DDR

  • 控制器:运转固件并和谐转码流程的通用块

刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能)  Facebook 开发 开源 第6张

视频转码解决方案根底模块

与推理相同,Facebook 运用现有的OCP 构件在数据中心布置这些转码ASIC。ASIC 将安装在带有集成散热器的M.2 模块上,由于这种常见的电气外形能够在不同硬件渠道上重复运用。它们被安装在Glacier Point v2 (GPv2) 载体卡中,该载体卡能够包容多个M.2 模块。这个GPv2 载体卡具有和Twin Lakes 服务器相同的物理外形,意味着它能够适配Yosemite v2 机架,并在其间与Twin Lakes 服务器配对。

由于转码ASIC 功耗低、体积小,Facebook 期望经过将尽或许多的芯片与单个服务器相衔接来节省本钱。高密度的GPv2 完结了这一点,一起还供给了满足的冷却才能来接受数据中心的运转温度。

一旦完结软件集成作业,Facebook 将平衡散布在不同数据中心方位上异质硬件fleet 的视频转码作业负载。为了在与各种机器学习和视频空间供货商的协作进程中扩展规划,他们还尽力保证软件以敞开的方式开发,并推行和选用通用的界面和结构。

转载请说明出处
知优网 » 刚刚,Facebook把服务27亿人的AI硬件体系开源了(facebook的人工智能)

发表评论

您需要后才能发表评论