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