选自微软博客
机器之心编译
参与:路雪、黄小天、蒋思源
近日在 Hot Chips 2017 上,微软团队推出了一个新的深度学习加速平台,其代号为脑波计划(Project Brainwave),机器之心将简要介绍该计划。脑波计划在深度学习模型云服务方面实现了性能与灵活性的巨大提升。微软专为实时人工智能设计了该系统,它可以超低延迟地处理接收到的请求。云基础架构也可以处理实时数据流,如搜索查询、视频、传感器流,或者与用户的交互,因此实时 AI 变的越发重要。
近来,FPGA 对深度学习的训练和应用变得越来越重要,因为 FPGA:
所以我们发布了脑波计划(Project BrainWave),一个可扩展的、支持 FPGA 的 DNN 服务平台,它有三个特性:
脑波计划
脑波计划系统的主要内容包括以下三个层面:
首先,脑波计划利用了微软这些年一直部署的大量 FPGA 基础架构。通过把高性能 FPGA 直接连接到我们的数据中心网络,我们可以把 DNN 作为硬件微服务,其中 DNN 可以映射到一个远程 FPGA 池,并被循环中没有软件的服务器调用。这个系统架构不仅可以降低延迟(因为 CPU 并不需要处理传入的请求),还可以允许非常高的吞吐量,并且 FPGA 处理请求可以如网络的流式传输一样快。
第二,脑波计划使用了一个强大的在商业化可用的 FPGA 上合成的「软」DNN 处理单元(DPU)。大量的公司,包括大型公司和一大批初创公司,正在构造硬化的 DPU。尽管其中一些芯片具有高峰值性能,但它们必须在设计时选择运算符和数据类型,这限制了其灵活性。脑波计划采取了另一种方法,提供了一个可在一系列数据类型上缩放的设计。这个设计结合了 FPGA 上的 ASIC 数字信号处理模块和可合成的逻辑,以提供一个更大更优化数量的功能单元。这一方法以两种方式利用了 FPGA 的灵活性。首先,我们已经定义了高度自定义、窄精度(narrow-precision)的数据类型,无需损失模型精度即可提升性能。第二,我们可以把研究创新快速整合进硬件平台(通常是数周时间),这在快速移动的空间中至关重要。因此,我们取得了可媲美于甚至超过很多硬编码(hard-coded)DPU 芯片的性能,并在今天兑现了性能方面的承诺。
脑波软 DPU 架构
核心特征
矩阵向量单元
特征
第三,脑波计划纳入了一款支持多个流行深度学习框架的软件栈(software stack)。我们已经支持微软 Cognitive Toolkit 和谷歌的 Tensorflow,并且计划支持其他框架。我们已经定义了一个基于图的中间表示(intermediate representation),我们将在流行框架中训练的模型转换成中间表示,然后再将其编译成我们的高性能基础架构。
脑波编译器和运行时
我们构建该系统,以展示其在多个复杂模型中的高性能,同时无须执行批处理(batch-free execution)。公司和研究人员构建 DNN 加速器通常使用卷积神经网络(CNN)展示性能 demo。CNN 是计算密集型,因此它取得高性能相对比较简单。那些结果通常无法代表其他域的更复杂模型上的性能,如自然语言处理中的 LSTM 或 GRU。DNN 加速器经常用来提升性能的另一项技术是用高度批处理运行深度神经网络。尽管该技术对基于吞吐量的架构和训练等离线场景有效,但它对实时人工智能的效果没有那么好。使用大批量,一个批次中的第一个查询必须等待该批次中的其他查询完成。我们的系统适用于实时人工智能,无须使用批处理来降低吞吐量,即可处理复杂、内存密集型的模型,如 LSTM。
即使在早期 Stratix 10 silicon 中,移植的 Brainwave 系统可运行大型 GRU 模型,它们可能比不使用批处理的 ResNet-50 还要大 5 倍,同时该系统也实现了创纪录的性能。该演示使用的是微软定制的 8 位浮点格式(「ms-fp8」),它在很多模型中都不会遭受到平均准确度损失。我们展示了 Stratix 10 在大型 GRU 模型中保持了 39.5 Teraflops,并且每一个请求的运行时间都在毫秒内。在性能方面,脑波架构每一个周期保持了超过 130000 个计算操作,并且由每 10 个周期发布的宏指令驱动。脑波在 Stratix 10 上运行,实现了实时 AI 的强大性能,特别是在非常具有挑战性的模型上。我们将在接下来的几个季度调整系统,希望它能够实现显著的性能提升。
传统的加速方法:Local Offload and Streaming
通过批处理提升硬件效用
FPGA 上的窄精度接口
我们正将这种强大的实时 AI 系统介绍给大家,特别是 Azure 平台的用户。这样,我们的用户才能从脑波计划中直接获益,并间接补充了访问我们的服务的路径,如 Bing。在不久的未来,我们将具体说明 Azure 用户可以怎样使用该平台运行他们复杂的深度学习模型,并达到创纪录的性能。因为脑波计划系统是大规模集成系统并对我们用户是可用的,所以 Microsoft Azure 在实时人工智能上有行业领先的性能。
原文地址:https://www.microsoft.com/en-us/research/blog/microsoft-unveils-project-brainwave/
本文为机器之心编译,转载请联系本公众号获得授权。