軟件業(yè)者為了強化人工智能算法的執(zhí)行效率,,紛紛跨足硬件設計,。 繼Google、Facebook之后,,微軟(Microsoft)近日也發(fā)表了自家的Project Brainwave平臺,。 該平臺以英特爾(Intel)提供的Stratix 10現(xiàn)場可編程門陣列(FPGA)為基礎,,除了內建深度神經(jīng)網(wǎng)絡(DNN)加速引擎外,在軟件堆棧方面,,還可支持Google的Tensorflow,、微軟自家的Cognitive Toolkit等深度學習框架。
微軟杰出工程師Doug Burger指出,,在硬件層面,,Project Brainwave是一個以FPGA為基礎的高性能DNN處理平臺。 微軟已經(jīng)將高性能FPGA應用在自家的數(shù)據(jù)中心多年,,讓該公司可以為DNN運算提供硬件微服務(Hardware Microservices),,亦即將DNN映像到遠程的大量FPGA上,透過呼叫服務器的方式來執(zhí)行,。 這個系統(tǒng)架構對于降低延遲,、提高數(shù)據(jù)吞吐量有很大的幫助,因為外部輸入的需求不須透過CPU處理,,而FPGA可以用很快的速度來響應外部提出的需求,。
其次,Project Brainwave的FPGA上合成(Synthesize)了軟式DNN處理單元(DPU),。 雖然許多公司都采取硬件線路的方式來實作DPU,,以便實現(xiàn)最高的運算效能,,但這種方法也令DNN的靈活性受到限制,例如數(shù)據(jù)型態(tài),、運算符(Operator)的選擇,,都會受限于芯片本身的設計。 軟式DNN則沒有這個問題,,其可支持的數(shù)據(jù)型態(tài)是在合成的時候決定的,。 Project Brainwave所使用的FPGA結合了硬件數(shù)字訊號處理單元與可合成的邏輯,提供比純ASIC更大量,、更優(yōu)化的功能單元,。 這個設計架構有兩大好處,一是允許高度客制化,、窄精度的數(shù)據(jù)型態(tài),,可提高性能又不損失模型的精準性,二是可以在幾周內支持新的算法,。 整體來說,,以FPGA為基礎的DPU,在性能上并不遜于以硬件實作的DPU,,甚至有過之而無不及,。
第三,Project Brainwave搭載了可支持眾多主流深度學習框架的軟件堆棧,,目前已可支持微軟自家的Cognitive Toolkit以及Google的Tensorflow,,未來還將支持更多深度學習框架。
微軟的Project Brainwave是以英特爾的14奈米Stratix 10 FPGA作為核心芯片,。