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