微軟最新發布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 提供了支持,並計劃兼容更多框架。咱們還定義了一個基於圖的中間表達,能轉化常見框架上訓練的模型,編譯到咱們的高性能基礎設施上。oop


本文分享自微信公衆號 - OpenFPGA(OpenFPGA)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。性能

相關文章
相關標籤/搜索