微软发布 Project Brainwave,基于英特尔 FPGA 的低延迟深度学习云平台

作者 | 发布日期 2017 年 08 月 24 日 9:12 | 分类 Microsoft , 云计算 , 人工智能
599ccd497f0f5

8月23日,微软发布了 Project Brainwave,一个基于 FPGA 的低延迟深度学习云平台。微软官方测评显示,当使用英特尔的 Stratix 10 FPGA,Brainwave 不需要任何 batching 就能在大型 GRU (gated recurrent unit)达到 39.5 Teraflops 的性能。



599cc5786628c

微软表示:

“该系统为实时 AI 而设计——这意味着,它能以极低的延迟在接收数据后立刻处理请求。由于云基础设施需要处理实时数据流,不管是搜索请求、视频、传感器数据流还是用户交互,实时 AI 正在变得越来越重要。”

Project Brainwave 的系统可分为三个层面:

高性能分布式系统架构;

整合到 FPGA 硬件上的深度神经网络(DNN)引擎;

能 low-friction 部署已训练模型的编译器和 runtime。

第一个层面上,Project Brainwave 利用了微软数年建立起来的 FPGA 基础设施。通过把高性能 FPGA 连接到数据中心网络,微软可为 DNN 提供硬件微服务支持——把一个 DNN 加载到远程 FPGA 池子,再由一个 loop 中没有软件的服务器调用。这套系统架构既降低了延迟,因为 CPU 不需要处理传来的请求;也能达到非常高的吞吐率,FPGA 处理请求的速度能够达到网络接受请求的速度。

第二点,Project Brainwave 使用了一个非常强大的“软”DNN 处理单元(即 DPU),并整合到可购买的 FPGA 中。

有许多公司,把包括大企业和初创公司,正在开发“硬化”的 DPU。虽然很多这些芯片有很高的峰值性能,它们却必须要在设计时就对运算符和数据类型做出选择,这极大限制了灵活性。Project Brainwave 采取了另一条路,提供了一个横跨多种数据类型的设计。理想的数据类型可以在合成时间(synthesis-time)做选择。该设计把 FPGA 上的 ASIC 数字信号处理模块与合成逻辑整合起来,提供更多、数量上更加优化的功能单元。该方法在两个层面上利用了 FPGA 的灵活性。首先,我们定义了高度定制、窄精度的数据类型,借此在不牺牲模型精度的情况下提升了性能。第二,我们可以把研究创新快速整合到硬件平台设计——通常是几个星期,这在快速发展的领域特别必要。作为结果,我们实现了不弱于这些硬编码 DPU 芯片的性能。

第三点,Project Brainwave 内置了一个能支持各种深度学习框架的软件堆。我们已经对 Microsoft Cognitive Toolkit(雷锋网注:改名后的 CNTK)和谷歌的 Tensorflow 提供了支持,并计划兼容更多框架。我们还定义了一个基于图的中间表达,能转化常见框架上训练的模型,编译到我们的高性能基础设施上。

(本文由 雷锋网 授权转载)

如需获取更多资讯,请关注微信公众账号:Technews科技新报

雷锋网

雷锋网专注于移动互联网。 雷锋网由一群移动互联网的信徒建立,。 雷锋网努力做好移动互联网的三个代表,代表移动互联网未来发展的方向,代表移动互联网的颠覆创新思潮,代表移动互联网创业者和从业者的利益。
未经许可,任何媒体、网站或个人不得复制、转载、或以其他方式使用本网站的内容,违者必究。

直接使用新浪微博发表评论

 

发表评论