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