時間:2017-08-24 來源:互聯網 瀏覽量:
我們都知道FPGA擁有“光速”般的處理能力以及對數據密集的人工智能工作負載的自然適應能力。但FPGA目前也有一些可用性和可編程性方麵的問題,使其在IT應用中較難實現。業界普遍認為,資源豐富的領軍型科技企業將會在FPGA在人工智能應用領域的實用技術方麵展開競爭。
微軟正使用英特爾的最新14nm Stratix 10和其他FPGA技術努力做到這一點。該公司已經啟動了Brainwave項目,這是一個“實時AI”功能,可以在Azure公有雲基礎設施上使用。它的設計目的是處理實時數據流,例如視頻、傳感器或搜索查詢,並快速將數據發回給用戶。
微軟此前曾在Hot Chips 2017大會(一個半導體研討大會)上展示了其基於FPGA的深度學習平台。微軟報告說,Stratix 10顯示了39.5萬億次浮點運算的持續性能(使用微軟的自定義8位浮點格式,ms-fp8),每個請求在1毫秒內運行。“在這樣的性能水平上,Brainwave架構在每一個周期中持續執行超過130,000個計算操作,這是由每10個周期所發出的一個宏指令驅動的。”
微軟是第一個在公共雲基礎設施中部署FPGA的主要雲服務提供商。根據英特爾公司的說法,“今天,英特爾公司在技術上的進步使深度神經網絡(DNN)得到了加速,能夠以一種概念上類似於人類大腦的方式來複製‘思維’。”
英特爾(Intel)和微軟(Microsoft)對比了“Stratix 10”的功能和“當今許多矽AI加速器”的功能,要求將多個請求組合在一起(稱為“批處理”),以實現高性能。他們說,在一個單一的請求上,“Stratix 10”展示了超過39萬億次的持續性能,“一個新的雲性能,實時人工智能計算,低延遲記錄,性能記錄和對人工智能請求的批處理。”
“我們利用英特爾FPGA的靈活性,快速整合創新,同時提供比許多基於ASIC的深度學習處理單元的性能,或者更大的性能,”微軟研究院NExT的傑出工程師Doug Burger說。
微軟指出,Brainwave項目由三個主要層組成:
首先,它利用了微軟在過去幾年中部署的大規模FPGA基礎設施。“通過將高性能的FPGA直接連接到我們的數據中心網絡,我們可以將DNN作為硬件微服務,DNN可以被映射到一個遠程FPGA池,並被一個沒有軟件的服務器調用。”Burger說。這種架構降低了延遲,因為CPU不需要處理傳入的請求,而且允許高吞吐量。
其次,Brainwave項目使用了一個“軟”DNN處理單元(或DPU),以FPGA為基礎,“提供了一個跨多個數據類型的設計,所需的數據類型是一個合成時間的決定。”該設計將ASIC數字信號處理模塊與FPGA和合成邏輯結合在一起,提供了一個更大、更優化的功能單元數量。
Burger說,這種方法“可以很快將研究創新融入硬件平台(通常是幾周),這在這個快速發展的領域中是必不可少的。”因此,除了提供我們所承諾的性能外,我們也取得了與這些硬編碼的DPU芯片相當或更強的性能。
第三,Brainwave項目合並了一個軟件堆棧,旨在支持廣泛使用的多種深度學習框架。“我們已經支持微軟的認知工具包和穀歌的Tensorflow,並計劃支持更多的框架,”Burger說。“我們已經定義了一個基於圖形的中間表示,我們將這些模型轉換為受歡迎的框架,然後再編譯到高性能的基礎結構。”
“我們正致力於將這種強大的、實時的人工智能係統引入Azure用戶,這樣我們的客戶就可以直接從Brainwave項目中獲益,並通過我們的服務(如Bing)來進行間接訪問。”Burger說。