一直以来,社区对 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 加速器模块

AI 训练解决方案基础模块

Zion 连接模块图解

Zion 将系统的内存、计算和网络密集型组件分离,使每部分都可单独扩展。该系统为 8 个 NUMA CPU 插槽提供了一个大型 DDR 存储池,以满足工作负载存储容量密集型组件的需求,例如 SparseNN 的嵌入表。对 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 机架

图:AI 推理解决方案模块

图: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)的计算图,并为这些机器学习加速器生成高度优化的代码。

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 利用现有的 OCP 构件在数据中心部署这些转码 ASIC。ASIC 将安装在带有集成散热器的 M.2 模块上,因为这种常见的电气外形可以在不同硬件平台上重复利用。它们被安装在 Glacier Point v2 (GPv2) 载体卡中,该载体卡可以容纳多个 M.2 模块。这个 GPv2 载体卡具有和 Twin Lakes 服务器一样的物理外形,意味着它可以适配 Yosemite v2 机架,并在其中与 Twin Lakes 服务器配对。

因为转码 ASIC 功耗低、体积小,Facebook 希望通过将尽可能多的芯片与单个服务器相连接来节约成本。高密度的 GPv2 实现了这一点,同时还提供了足够的冷却能力来承受数据中心的运行温度。

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

参考内容:

venturebeat.com/2019/03/14/…

code.fb.com/data-center…

关注公众账号

飞马会

往期福利关注飞马会公众号,回复对应关键词打包下载学习资料;回复“入群”,加入飞马网AI、大数据、项目经理学习群,和优秀的人一起成长!

回复 数字“29”干货 | 28本大数据/数据分析/数据挖掘电子书合集免费下载!

回复 数字“30”领取 | 100+人工智能学习、深度学习、机器学习、大数据、算法等资料,果断收藏!

Facebook把服务27亿人的AI硬件系统开源了相关推荐

  1. Facebook 竟然把服务 27 亿人的 AI 硬件系统开源了?!

    全世界只有3.14 % 的人关注了 数据与算法之美 一直以来,社区对 Facebook 的硬件研究比较关注.在今日的开放计算项目全球峰会上,Facebook 技术策略主管 Vijay Rao 开源了全 ...

  2. Facebook如何向十亿人推荐东西

    from:http://www.infoq.com/cn/news/2015/06/facebook-recommender-system 为了保证用户体验和使用效果,推荐系统中的机器学习算法一般都是 ...

  3. 太赞了!阿里巴巴AI每天服务全球10亿人

    9月26日的杭州云栖大会上,阿里巴巴首次公布人工智能调用规模:每天调用超1万亿次,服务全球10亿人,日处理图像10亿张.视频120万小时.语音55万小时及自然语言5千亿句. 同时,阿里巴巴首次披露人工 ...

  4. 全球最大智能模型“悟道”首次落地:数字人+终端AI助手,支持NVIDIA GTX单卡机运行百亿大模型

    作者 | 琰琰 悟道2.0,要怎么用起来? 连创"中国首个"和"世界最大"两项记录后,悟道大模型的落地应用成为业界关心的热点话题. GPT-3的问世掀起了一股& ...

  5. 继WhatsApp后 Facebook聊天工具Messenger用户也突破十亿人

    PC互联网时代的社交网络霸主Facebook,正在成为移动互联网时代的移动聊天霸主.继WhatsApp用户已经超过十亿人之后,其另外一款聊天工具Facebook Messenger用户规模也超过了十亿 ...

  6. 服务全球近 9 亿人后,蚂蚁金服的技术开放进入 3.0 时代

    小蚂蚁说: 2018年9月21日下午,一年一度的蚂蚁金服ATEC金融科技开放峰会顺利召开.围绕"预践未来数字金融",来自蚂蚁金服.花旗.麦肯锡.建行.DBS.光大.中国外汇交易中心 ...

  7. 推荐系统系列教程之十二:Facebook是怎么为十亿人互相推荐好友的?

    编者按:之前推出了<推荐系统系列教程>,反响不错,前面已经推出了十一期,今天按约推出第十二期:Facebook是怎么为十亿人互相推荐好友的.希望朋友们多点"在看",多多 ...

  8. 从用户不足2000万到27亿,这项技术真要上天了?

    导读:6月18日,Facebook位于瑞士的子公司Libra Network(天秤座网络)联合全球26家企业,万众瞩目之下发布了其数字货币项目Libra的白皮书.Libra计划在2020年正式上线. ...

  9. 用户“缩水”致股价下跌,Facebook能迈入万亿俱乐部吗?

    美国东部时间10月29日盘后,社交媒体巨头Facebook发布了2020财年第三季度的财务报告.年初至今,Facebook的股价涨幅约为34%,仅略高于纳斯达克综合指数26%的涨幅. 相比于社交媒体赛 ...

最新文章

  1. OOJ-面向对象的JAVASCRIPT(二)
  2. java jgit提交代码_java – 使用JGit提交一个String
  3. 还记得Wasserstein GAN吗?
  4. html 设置视频尺寸,如何使用CSS控制视频的宽高?
  5. php框架laravel:数据库建立:artisan
  6. 精华阅读第6期|程序猿的世界,你不懂!
  7. SpringBoot——@Scheduled的自定义周期性线程池解决任务延时执行问题
  8. 结构之法算法之道CSDN博客-第一期全部博文集锦[CHM 文件下载]
  9. 酒桌游戏c语言,必学的酒桌游戏,让你成为聚会中最亮的仔
  10. 新浪微博批量取消关注
  11. mac电脑抹掉数据要多久_Mac系统如何恢复出厂设置
  12. 快速将MP3音频转换为WAV的软件
  13. 基于Python pdfplumber实现PDF转WORD
  14. Puppet原理及基础配置应用
  15. signature=6217a496579a029c7524d3521cec3dea,网络工程师成长日记370-阿尔斯通
  16. java仿QQ微信聊天室
  17. 想要转行软件测试之前应该做好哪些准备工作?
  18. 生产者消费者模型---详解及代码实现
  19. cpu、虚拟机、网络设备省电方法
  20. Android开发学习心得体会

热门文章

  1. 开机、重启和用户登录注销
  2. 影视处理计算机配置,影视后期制作需要什么样的电脑配置
  3. 算法分析学习笔记二 蛮力法
  4. 【Codeforces 741 B. Arpa's weak amphitheater and Mehrdad's 】+ 并查集 + 01背包
  5. Centos7下的LibreOffice的搭建及自动化脚本部署
  6. 实验室第一次考核(C语言)
  7. SQL注入与ASP木马上传
  8. 基于SSM框架的企业信息管理平台
  9. PDG FOR INDIE GAMEDEV
  10. 51 nod 1431 快乐排队