首页 > 开源 > 详细

Facebook发布三套AI硬件系统,并顺手宣布将其开源

发布时间:2019-03-15 23:57:20
阅读:72     评论:0     收藏:0      [点我收藏+]

Facebook 发布三套 AI 硬件系统,并顺手宣布将其开源

  昨日,Facebook 在其代码官网 code.fb.com 上发布消息,发布了其用于 AI 训练的下一代硬件平台 Zion、针对 AI 推理的新定制芯片设计 Kings Canyon 以及用于视频转码的 Mount Shasta。

  消息称,Facebook 的基础架构每个月都在为其整个应用和服务系统上的超过 27 亿人提供服务。工程师们设计并创建了高效的系统来扩展这一基础设施,但是随着工作负载的增长,只靠通用处理器已经无法满足这些系统的需求。

  为基础架构创建高效的解决方案需要通过协同设计工作创建的工作负载优化硬件。为此,Facebook 一直与合作伙伴共同开发针对 AI 推理、AI 训练和视频转码的解决方案。晶体管增长的速度已大大放缓,这就需要开发专门的加速器和整体系统级的解决方案来提高性能、功率和效率。

  AI 硬件

  整个 Facebook 的基础架构都使用了 AI 工作负载,这让其服务更具相关性,并改善用户服务时的体验。帮助人们进行日常互动,并为其提供独特的个性化服务。通过大规模部署 AI 模型,Facebook 每天可以提供 200 万亿次推测以及超过 60 亿次语言翻译。Facebook 使用超过 35 亿张公开图像来构建和训练其 AI 模型,让它们更好的识别和标记内容。

  Facebook 上的大部分 AI 流程均通过 FBLeaner 平台进行管理,该平台包含处理各部分问题的工具,如功能存储、培训工作流管理以及推理引擎。通过与开放计算项目(OCP,Open Compute Project)发布的 Facebook 设计硬件配合使用,使其能高效的大规模部署模型。从一个稳定的基础开始,Facebook 专注于创建与供应商无关的统一硬件设计,并继续坚持分解设计原则以实现工作效率最大化,最终推出了用于工作负载训练和推理的下一代硬件。

  AI 训练系统 Zion

  Zion 是 Facebook 的下一代大存储统一训练平台,设计上能够高效处理包括 CNN、LSTM 和 SparseNN 在内的一系列神经网络。Zion 平台能够为关键工作负载提供高容量高带宽的存储、灵活且高速的互连,以及强大的计算能力。

  Zion 采用了 Facebook 全新的 OAM 模块(OCP Accelerator Module),AMD、Haban、GraphCore 和 NVIDIA 等 Facebook 合作伙伴可以在 OCP 通用规范上开发自己的解决方案。Zion 的体系结构支持使用架顶式交换机从每个单独的平台扩展到单个机架中的多个服务器。随着 Facebook AI 训练的规模和复杂性不断增长,Zion 平台也可以随之扩展。

  Zion 系统分为三个部分:

  • 8 插槽服务器

  • 8 加速器平台

  • OCP 加速器模块

Facebook 发布三套 AI 硬件系统,并顺手宣布将其开源

Facebook 发布三套 AI 硬件系统,并顺手宣布将其开源

  Zion 将系统的内存、计算和网络密集型组件解耦,允许每个组件独立扩展。系统为嵌入 SparseNN 表等内存容量密集型组件提供了 8x NUMA CPU 接口和大容量 DDR 内存池。而对 CNN 或者 SparseNN 密集部分这样的内存带宽密集型和计算密集型工作负载,每个 CPU 接口都连接了 OCP 加速模块。

  Zion 系统有两个高速结构:连接所有 CPU 的连贯结构和连接所有加速器的结构。鉴于加速器存储带宽高但存储容量低,Facebook 希望通过对模型进行分区来有效地使用可用的聚合内存容量,使得更频繁访问的数据驻留在加速器上,而访问频率较低的数据驻留在带 CPU 的 DDR 内存。所有 CPU 和加速器之间的计算和通信都是平衡的,并且通过高速和低速相连有效地进行。

  通过 Kings Canyon 执行推理

  在训练完模型之后,就需要将其部署到生产环境中,从而处理 AI 流程的数据,并响应用户的请求,这就是所谓的推理。推理的工作负载正急剧增加,这反映了训练工作的大量增加,目前使用的标准 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 发布三套 AI 硬件系统,并顺手宣布将其开源

Facebook 发布三套 AI 硬件系统,并顺手宣布将其开源

  在系统级别,每个服务器均由M.2 Kings Canyon 加速器和连接到 Twin Lakes 服务器的 Glacier Point v2 载卡组成。将两组组件安装到更新的 Yosemite v2 机架中,并通过多主机 NIC 连接到架顶式交换机。更新后的 Yosemite sled 是目前 Yosemite v2 sled 的迭代升级,它将 Twin Lakes 主机的其他 PCI-E 通道连接到 NIC,以获得更高的网络带宽。每个 Kings Canyon 模块都包含 ASIC、相关内存和其它支持组件,其中 CPU 主机通过 PCI-E 通道与加速器模块通信。Glacier Point v2 包括一个集成的 PCI-E 交换机,允许服务器同时访问所有模块。

  深度学习模型是储存密集型负载,如 SparseNN 模型具有非常大的嵌入表征表,它会占用好几 GB 的存储空间,并且还可能会持续增长。这样的大模型可能不适合加载到单独设备的内存中,不论是 CPU 还是加速器都不行,这就要求在多个设备内存上进行模型分割(model partitioning)。当数据位于另一个设备的内存中时,分割将产生很多通信成本,好的分割算法会应用捕获局部的概念,从而降低通信成本。

  在进行合适的模型分割后,就可以运行如 SparseNN 模型这样大规模的深度学习模型。如果单节点的内存能力不足以支持给定的模型,可以在两个节点之间进一步分割模型,从而增加模型可用的内存量。这两个节点可以通过多主机 NIC 连接,并支持高速信息处理。这将增加整体的通信成本,可以利用跨多个嵌入表存在访问差异的特性,相应地对表进行排序而降低通信延迟。

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

  ASIC 不运行通用代码,它们需要专门的编译器将图形转换为可以在这些加速器上执行的指令。Glow 编译器的目标是将供应商的特定硬件从更高级的软件堆栈中抽象出来,使基础设施不受供应商限制。它接受来自 PyTorch 1.0 等框架的计算图,并为这些机器学习加速器生成高度优化的代码。

Facebook 发布三套 AI 硬件系统,并顺手宣布将其开源

  使用 Mount Shasta 进行视频转码

  自 2016 年以来,Facebook Live 直播的平均数量每年翻一番。自 2018 年 8 月在全球推出以来,Facebook Watch 的月浏览量已经超过 4 亿,每天有 7500 万人使用。为了优化所有这些视频,使其能适应多种网络环境,Facebook 划分了多种不同分辨率和比特率的输出质量,这个过程称为视频转码。

  完成转码所需要的计算是高度密集型的,通用处理器的效率已无法满足日益增长的视频需要。为了走在需求的前面,Facebook 与博通和芯原微电子合作,设计了针对转码工作负载进行优化的定制 ASIC。

  视频转码流程被分解为许多不同的步骤,为了提高效率,Facebook 与供应商为转码流程的每个阶段均创建了定制 ASIC 模块。专用硬件来完成这些工作负载可以使该过程更加高效,并可支持实时 4K 60fps 流媒体等新功能。单个视频编解码器是标准化的,且不会经常修改,因此在这种情况下,定制芯片缺乏灵活性的特征并不是一个显著的缺点。

  视频转码的第一个阶段称为解码,在解码过程中,上传的文件被解压,以获得由一系列图像表示的原始视频数据。随后对这些未压缩的图像进行操作,以更改它们的分辨率,而后再次使用优化设置进行编码,将它们重新压缩到视频流中,并将输出视频与原始视频进行比较,计算质量指标。

  所有的视频都采取这种做法,以确保所用的编码设置可以输出高质量的视频。视频编码和解码使用的标准称为视频编码方式,H.264、VP9 和 AV1 都是目前使用的主流编码协议。

  在 ASIC 上,除了每个软件算法都被芯片内的专用模块所取代外,其他步骤都是相同的,Facebook 希望视频加速器可支持多种分辨率和多种编码格式,并实现比目前服务器高出许多倍效率,目标是 10W 功耗内至少处理 2 个 4K 60fps 的并行输入流。

  视频转码 ASIC 通常有以下主要逻辑块:

  • 解码器:接收上传的视频,输出解压缩的原始视频流

  • 缩放器(Scaler):更改视频分辨率

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

  • 质量检测:计算编码后的视频质量

  • PHY:芯片与外界的接口,连接到服务器的 PCI-E 和内存通道

  • 控制器:运行固件并协调转码流程的通用块

Facebook 发布三套 AI 硬件系统,并顺手宣布将其开源

  与推理一样,Facebook 利用现有的 OCP 构建块在数据中心内部署这些视频转码 ASIC。加速器将安装在集成了散热器的M.2 模块上,这种常见的电气外形在不同硬件平台上均可以通用。模块被安装在 Glacier Point v2(GPv2)载卡上,该载卡具有和 Twin Lakes 服务器一样的物理外形,可容纳多个M.2 模块,可适配 Yosemite v2 机架,并在其中与 Twin Lakes 服务器配对。

  由于视频转码 ASIC 要求功耗低且体积小,因此 Facebook 希望通过将尽可能多的芯片与单个服务器相连接来节约成本。高密度的 GPv2 可实现这一目标,同时还可提供足够的冷却能力以承受数据中心的工作温度。

  完成软件集成工作后,Facebook 可将视频转码工作负载平衡分布到不同数据中心位置的异构硬件上。为了在与各种机器学习和视频空间供应商的合作过程中扩大规模,他们还努力确保软件以开放的形式开发,并推广和采用通用的界面和框架。

  Facebook 在文中表示,公司将迎来激动人心的未来,希望 Zion、Kings Canyon 和 Mount Shasta 能购分别解决在 AI 训练、AI 推理和视频转码方面不断增长的工作量。Facebook 将通过 OCP 公开提供所有设计和规格,欢迎其他公司的加入以加速基础架构建设的进程,并通过硬件和软件协同设计继续努力改进这些系统。

(0)
(0)
 
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号