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