在最近的HotChips大會上, 三家全球最大的資料中心公司詳細介紹了利用現場可程式設計閘陣列(FPGA)作為性能匱乏的資料中心應用程式加速器的專案, 特別是機器學習。 雖然賽靈思和英特爾(子公司Altera)長期以來一直在談及其技術改變資料中心景觀的潛力, 但廣泛應用仍然難以實現, 部分原因是FPGA開發帶來的挑戰。 特別是亞馬遜、百度和微軟都宣佈了相應的技術和舉措, 他們希望通過解決這些障礙來加強自己的AI服務。 百度和亞馬遜的公告可能會對FPGA在資料中心的應用帶來好處, 反過來也可能為英特爾,
首先, 百度宣佈了一個新架構, 他們希望擴大FPGA作為加速平臺的使用。 新的百度“XPU”將賽靈思的FPGA中的CPU, GPU和FPGA靈活配置在一起, 與傳統的低級技術開發人員使用FPGA相比, 他們希望比傳統的低級技術更容易程式設計。 對於他們來說, 亞馬遜網路服務通過F1加速平臺方面對他們的進展情況進行了更新, F1加速平臺支援配備8節點Xilinx的EC2實例, 以實現FPGA加速應用程式的開發。
微軟宣佈了什麼?
雖然亞馬遜和百度正在努力使FPGA更易於訪問和更容易在雲上進行程式設計,
微軟的Project Brainwave由三個組成部分組成:
一個高性能的系統架構, 它是用於加速資料中心服務和擴展的加速器。 通過將其加速器連接在高頻寬, 低延遲架構上, Microsoft可以動態分配這些資源以優化其利用率,
一個在14nm級Altera FPGA上程式設計或合成的“軟”DNN處理器(DPU)。 以下有更多內容。
一個編譯器和運行環境, 用以支持使用微軟DNN平臺的CNTK有效部署訓練神經網路模型。 與Google的TPU和TensorFlow類似, Microsoft需要一個能為自己進行優化的硬體平臺。 有趣的是, 微軟聲稱CNTK可以比TensorFlow有更顯著的性能優勢, 特別是在用於自然語言處理的複現神經網路方面。 但Brainwave在進一步增強CNTK性能上尚不清楚。
正如我最近所探討的那樣, 一個完全自訂的晶片或者ASIC可以為像Google這樣的公司帶來一個非常快速的機器學習加速器, 而且每單位成本會更低, 但是開發過程在固定功能晶片中可能成本高昂、冗長且需要重新集成, 阻礙了隨著演算法演變而快速適應實現的能力。 微軟公司宣佈將其作為基於FPGA策略的主要驅動力。 通過為其“軟”DPU使用FPGA而不是ASIC, 微軟認為能更好地優化其硬體, 使軟體成本更低且隨著時間的推移具有更大的靈活性。
FPGAs在機器學習中能體現優勢的一個很好的例子就是能夠定制深層神經網路中特定層所需的精度水準。
總結
機器學習領域需要快速的加速晶片,雖然Google採用了ASIC路徑,但微軟已經證明,他們可以使用FPGA與其相當甚至在某些情況下獲得更好的結果,從而使他們能夠通過自訂硬體來持續跟蹤軟體創新。同時,賽靈思,百度和亞馬遜正在共同努力,降低甚至完全消除FPGA應用的傳統障礙。總而言之,這些舉措意味著其他大型AI客戶和供應商也有機會分得一塊蛋糕; 他們可以為應用優化定制晶片,同時降低定制ASIC方法所需的成本,避免潛在的技術過時問題。但是,我們只是接觸到了這個創新應用的表面而已。
總結
機器學習領域需要快速的加速晶片,雖然Google採用了ASIC路徑,但微軟已經證明,他們可以使用FPGA與其相當甚至在某些情況下獲得更好的結果,從而使他們能夠通過自訂硬體來持續跟蹤軟體創新。同時,賽靈思,百度和亞馬遜正在共同努力,降低甚至完全消除FPGA應用的傳統障礙。總而言之,這些舉措意味著其他大型AI客戶和供應商也有機會分得一塊蛋糕; 他們可以為應用優化定制晶片,同時降低定制ASIC方法所需的成本,避免潛在的技術過時問題。但是,我們只是接觸到了這個創新應用的表面而已。