英特尔FPGA作为核心芯片
2017-08-27
软件业者为了强化人工智能算法的执行效率,纷纷跨足硬件设计。 继Google、Facebook之后,微软(Microsoft)近日也发表了自家的Project Brainwave平台。 该平台以英特尔(Intel)提供的Stratix 10现场可编程门阵列(FPGA)为基础,除了内建深度神经网络(DNN)加速引擎外,在软件堆栈方面,还可支持Google的Tensorflow、微软自家的Cognitive Toolkit等深度学习框架。
微软杰出工程师Doug Burger指出,在硬件层面,Project Brainwave是一个以FPGA为基础的高性能DNN处理平台。 微软已经将高性能FPGA应用在自家的数据中心多年,让该公司可以为DNN运算提供硬件微服务(Hardware Microservices),亦即将DNN映像到远程的大量FPGA上,透过呼叫服务器的方式来执行。 这个系统架构对于降低延迟、提高数据吞吐量有很大的帮助,因为外部输入的需求不须透过CPU处理,而FPGA可以用很快的速度来响应外部提出的需求。
其次,Project Brainwave的FPGA上合成(Synthesize)了软式DNN处理单元(DPU)。 虽然许多公司都采取硬件线路的方式来实作DPU,以便实现最高的运算效能,但这种方法也令DNN的灵活性受到限制,例如数据型态、运算符(Operator)的选择,都会受限于芯片本身的设计。 软式DNN则没有这个问题,其可支持的数据型态是在合成的时候决定的。 Project Brainwave所使用的FPGA结合了硬件数字讯号处理单元与可合成的逻辑,提供比纯ASIC更大量、更优化的功能单元。 这个设计架构有两大好处,一是允许高度客制化、窄精度的数据型态,可提高性能又不损失模型的精准性,二是可以在几周内支持新的算法。 整体来说,以FPGA为基础的DPU,在性能上并不逊于以硬件实作的DPU,甚至有过之而无不及。
第三,Project Brainwave搭载了可支持众多主流深度学习框架的软件堆栈,目前已可支持微软自家的Cognitive Toolkit以及Google的Tensorflow,未来还将支持更多深度学习框架。
微软的Project Brainwave是以英特尔的14奈米Stratix 10 FPGA作为核心芯片。