云计算 频道

微软在Azure中引入FPGA 加速处理实时数据

  【IT168 资讯】我们都知道FPGA拥有“光速”般的处理能力以及对数据密集的人工智能工作负载的自然适应能力。但FPGA目前也有一些可用性和可编程性方面的问题,使其在IT应用中较难实现。业界普遍认为,资源丰富的领军型科技企业将会在FPGA在人工智能应用领域的实用技术方面展开竞争。

  微软正使用英特尔的最新14nm Stratix 10和其他FPGA技术努力做到这一点。该公司已经启动了Brainwave项目,这是一个“实时AI”功能,可以在Azure公有云基础设施上使用。它的设计目的是处理实时数据流,例如视频、传感器或搜索查询,并快速将数据发回给用户。

微软Azure引入FPGA 加速处理实时数据

  微软此前曾在Hot Chips 2017大会(一个半导体研讨大会)上展示了其基于FPGA的深度学习平台。微软报告说,Stratix 10显示了39.5万亿次浮点运算的持续性能(使用微软的自定义8位浮点格式,ms-fp8),每个请求在1毫秒内运行。“在这样的性能水平上,Brainwave架构在每一个周期中持续执行超过130,000个计算操作,这是由每10个周期所发出的一个宏指令驱动的。”

  微软是第一个在公共云基础设施中部署FPGA的主要云服务提供商。根据英特尔公司的说法,“今天,英特尔公司在技术上的进步使深度神经网络(DNN)得到了加速,能够以一种概念上类似于人类大脑的方式来复制‘思维’。”

  英特尔(Intel)和微软(Microsoft)对比了“Stratix 10”的功能和“当今许多硅AI加速器”的功能,要求将多个请求组合在一起(称为“批处理”),以实现高性能。他们说,在一个单一的请求上,“Stratix 10”展示了超过39万亿次的持续性能,“一个新的云性能,实时人工智能计算,低延迟记录,性能记录和对人工智能请求的批处理。”

微软Azure引入FPGA 加速处理实时数据

  “我们利用英特尔FPGA的灵活性,快速整合创新,同时提供比许多基于ASIC的深度学习处理单元的性能,或者更大的性能,”微软研究院NExT的杰出工程师Doug Burger说。

  微软指出,Brainwave项目由三个主要层组成:

  首先,它利用了微软在过去几年中部署的大规模FPGA基础设施。“通过将高性能的FPGA直接连接到我们的数据中心网络,我们可以将DNN作为硬件微服务,DNN可以被映射到一个远程FPGA池,并被一个没有软件的服务器调用。”Burger说。这种架构降低了延迟,因为CPU不需要处理传入的请求,而且允许高吞吐量。

  其次,Brainwave项目使用了一个“软”DNN处理单元(或DPU),以FPGA为基础,“提供了一个跨多个数据类型的设计,所需的数据类型是一个合成时间的决定。”该设计将ASIC数字信号处理模块与FPGA和合成逻辑结合在一起,提供了一个更大、更优化的功能单元数量。

微软Azure引入FPGA 加速处理实时数据

  Burger说,这种方法“可以很快将研究创新融入硬件平台(通常是几周),这在这个快速发展的领域中是必不可少的。”因此,除了提供我们所承诺的性能外,我们也取得了与这些硬编码的DPU芯片相当或更强的性能。

  第三,Brainwave项目合并了一个软件堆栈,旨在支持广泛使用的多种深度学习框架。“我们已经支持微软的认知工具包和谷歌的Tensorflow,并计划支持更多的框架,”Burger说。“我们已经定义了一个基于图形的中间表示,我们将这些模型转换为受欢迎的框架,然后再编译到高性能的基础结构。”

  “我们正致力于将这种强大的、实时的人工智能系统引入Azure用户,这样我们的客户就可以直接从Brainwave项目中获益,并通过我们的服务(如Bing)来进行间接访问。”Burger说。

0
相关文章