1
本文作者: 三川 | 2017-08-23 08:35 |
雷鋒網(wǎng)消息:今日,微軟發(fā)布了 Project Brainwave,一個(gè)基于 FPGA 的低延遲深度學(xué)習(xí)云平臺(tái)。微軟官方測(cè)評(píng)顯示,當(dāng)使用英特爾的 Stratix 10 FPGA,Brainwave 不需要任何 batching 就能在大型 GRU (gated recurrent unit)達(dá)到 39.5 Teraflops 的性能。
微軟表示:
“該系統(tǒng)為實(shí)時(shí) AI 而設(shè)計(jì)——這意味著,它能以極低的延遲在接收數(shù)據(jù)后立刻處理請(qǐng)求。由于云基礎(chǔ)設(shè)施需要處理實(shí)時(shí)數(shù)據(jù)流,不管是搜索請(qǐng)求、視頻、傳感器數(shù)據(jù)流還是用戶(hù)交互,實(shí)時(shí) AI 正在變得越來(lái)越重要?!?/p>
Project Brainwave 的系統(tǒng)可分為三個(gè)層面:
高性能分布式系統(tǒng)架構(gòu);
整合到 FPGA 硬件上的深度神經(jīng)網(wǎng)絡(luò)(DNN)引擎;
能 low-friction 部署已訓(xùn)練模型的編譯器和 runtime。
第一個(gè)層面上,Project Brainwave 利用了微軟數(shù)年建立起來(lái)的 FPGA 基礎(chǔ)設(shè)施。通過(guò)把高性能 FPGA 連接到數(shù)據(jù)中心網(wǎng)絡(luò),微軟可為 DNN 提供硬件微服務(wù)支持——把一個(gè) DNN 加載到遠(yuǎn)程 FPGA 池子,再由一個(gè) loop 中沒(méi)有軟件的服務(wù)器調(diào)用。這套系統(tǒng)架構(gòu)既降低了延遲,因?yàn)?CPU 不需要處理傳來(lái)的請(qǐng)求;也能達(dá)到非常高的吞吐率,F(xiàn)PGA 處理請(qǐng)求的速度能夠達(dá)到網(wǎng)絡(luò)接受請(qǐng)求的速度。
第二點(diǎn),Project Brainwave 使用了一個(gè)非常強(qiáng)大的“軟”DNN 處理單元(即 DPU),并整合到可購(gòu)買(mǎi)的 FPGA 中。
有許多公司,把包括大企業(yè)和初創(chuàng)公司,正在開(kāi)發(fā)“硬化”的 DPU。雖然很多這些芯片有很高的峰值性能,它們卻必須要在設(shè)計(jì)時(shí)就對(duì)運(yùn)算符和數(shù)據(jù)類(lèi)型做出選擇,這極大限制了靈活性。Project Brainwave 采取了另一條路,提供了一個(gè)橫跨多種數(shù)據(jù)類(lèi)型的設(shè)計(jì)。理想的數(shù)據(jù)類(lèi)型可以在合成時(shí)間(synthesis-time)做選擇。該設(shè)計(jì)把 FPGA 上的 ASIC 數(shù)字信號(hào)處理模塊與合成邏輯整合起來(lái),提供更多、數(shù)量上更加優(yōu)化的功能單元。該方法在兩個(gè)層面上利用了 FPGA 的靈活性。首先,我們定義了高度定制、窄精度的數(shù)據(jù)類(lèi)型,借此在不犧牲模型精度的情況下提升了性能。第二,我們可以把研究創(chuàng)新快速整合到硬件平臺(tái)設(shè)計(jì)——通常是幾個(gè)星期,這在快速發(fā)展的領(lǐng)域特別必要。作為結(jié)果,我們實(shí)現(xiàn)了不弱于這些硬編碼 DPU 芯片的性能。
第三點(diǎn),Project Brainwave 內(nèi)置了一個(gè)能支持各種深度學(xué)習(xí)框架的軟件堆。我們已經(jīng)對(duì) Microsoft Cognitive Toolkit(雷鋒網(wǎng)注:改名后的 CNTK)和谷歌的 Tensorflow 提供了支持,并計(jì)劃兼容更多框架。我們還定義了一個(gè)基于圖的中間表達(dá),能轉(zhuǎn)化常見(jiàn)框架上訓(xùn)練的模型,編譯到我們的高性能基礎(chǔ)設(shè)施上。雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。