根據百度(Baidu)深度學習(deep learning)資深研究人員針對最新加速器進行的測試結果顯示,現有的加速器晶片和軟體仍然存在一些美中不足之處,應該盡快迎頭趕上。

這些結果有一部份來自於使用DeepBench測試。DeepBench是使用32位元浮點數學訓練神經網路的開放來源基準。號稱「中國Google」的百度於2016年9月發佈DeepBench,並在去年6月進行了更新,使其涵蓋推論工作以及使用16位元數學運算。

20180206_AI_NT31P1 DeepBench利用神經網路庫測試不同硬體的基本運算效能(來源:Baidu)

百度矽谷人工智慧實驗室(Silicon Valley AI Lab)資深研究員Greg Diamos解釋。在一些像矩陣乘法這樣的底層作業中,具有專用硬體的晶片(例如Nvidia Volta GPU的張量核心)能夠提供「數百TeraFlops (每秒1兆次浮點運算)...比前一代的5-10TFLOPS更快幾個數量級。」

然而,他說:「在實際應用中所使用的一些底層作業並沒有足夠的[資料]區域性,讓這些專用處理器充份發揮效能,所以我們必須為其適度地加速,或者改變演算法。」

百度研究小組目前正探索兩種方式使用新晶片獲得更大回報。一方面,研究人員在其演算法中開啟控制功能,以便同時接收饋入資料,期望能提高10倍的資料平行性。

另一條途徑是讓所有的模型看起來更像一般用於成像應用的卷積神經網路(CNN)。Diamos說,CNN比一般用於文本或音訊應用(app)等循序資料的遞歸神經網路(RNN)具有更多區域性。

研究人員在從文本產生音訊的百度模型中,「以CNN層取代RNN層堆疊」,使得「運算密度提高了40倍」,從而帶來了更好的新硬體利用率。他強調,「我們必須透過編寫的所有應用程式來檢視是否可以普遍使用這種方法,或只是將其用於語音合成。」

目前尚不清楚這兩種方法的研究成果何時可用於生產系統。同時,Daimos也分享了硬體測試的其它觀察結果。

編程、記憶體與靈活性

雖然百度取得將近90%的Nvidia Volta最佳利用率,但編程GPU並非易事。Diamos說,該晶片「有著成千上萬個執行緒,你必須在一個問題上進行協調和同步......編寫這樣的程式碼並不容易,而當面對的是像張量核心這樣的對象時就更困難了。」

的確,Diamos表示,「讓這些任務變得更易於編程,正是我們面臨的最大挑戰......而其中最大的問題就出在記憶體。我們想要執行更大的神經網路,但記憶體比預期地更快耗盡,這並不是透過打造更好的處理器就能解決的問題。」

他補充說,該問題的一部份答案在於尋找能與新興記憶體搭配作業的技術,例如許多最新加速器所使用的高頻寬記憶體(HBM)晶片堆疊等。

在百度的測試中,英特爾(Intel)多核心x86處理器Xeon Phi的利用率甚至高於Nvidia Volta。然而,英特爾的晶片還沒有任何張量專用核心,因此該晶片在神經網路作業上的性能不若Volta。

20180206_AI_NT31P2 Nvidia Volta配備640個Tensor核心,每秒提供超過100TFLOPS的深度學習效能(來源:Nvidia)

直接進行比較並不容易,因為不同的晶片通常使用不同的運算格式。例如,Xeon Phi採用定點數學,而Volta則混合使用16位元和32位元浮點運算。

Diamos說:「英特爾晶片的測試結果顯示,對於一些CNN來說,定點數學運算沒問題。然而Nvidia發佈的結果顯示在影像和語音應用上表現良好,所以我們取得了一些資料,但還需要進行更多研究。」

他稱讚AMD最新的GPU及其新的機器學習開放軟體是正確的發展方向,但指出他們也缺乏張量核心。他表示,對於英特爾Nirvana和Graphcore Colossus等晶片「沒啥可分享的消息」,也許是因為百度可能還在測試其預先發佈的樣片。

擁有大量的矩陣乘法單元通常是一件好事。但是,Volta、Nervana和Colossus處理器則以充滿矩陣乘法陣列的晶片將其性能指標推進到或接近其製程節點所能實現的極限。

他說:「最終你的收益會遞減......讓你不得不放棄靈活度,以便為更多不同的工作負載進行更精密的運算。因此,我們應該找到曲線的轉折點,讓晶片不僅在CNN上運作良好,在其它方面也表現出色。」

神經網路軟體架構各執一端

除了底層數學之外,加速器還可能缺少最佳化,因為它們並不完全瞭解深度學習應用的所有範圍。

當今用於設計神經網路的競爭軟體架構各執一端,可能會讓情況變得複雜。遺憾的是,跨不同架構建立標準規格的努力也是各自為政,Diamos指出他的團隊注意到目前有11種開發中規格分別處於不同的完善階段。

他說,由Facebook和微軟(Microsoft)發起的開放神經網路交換格式(ONNX)「正朝著正確的方向發展,但仍缺乏一些像是如何表達控制流程和反向傳播的特性。」

最近有20多家廠商(主要是半導體供應商)宣佈了神經網路交換格式(Neural Network Exchange Format),他們認為該格式對晶片廠商來說更好。Diamos說:「要搞清這些格式中是否有些能成功實施可能還為時過早,但我們正踏上一條更好的發展道路,確實也需要其中某一種規格勝出。」

他補充說:「在2014年,我當時認為未來將會看到人工智慧(AI)架構的融合,就像如今在繪圖API中所看到的,但人們仍然在發明新的神經網路類型,有時還會創造新的原型,所以它可能會像編程語言的多樣性一樣不斷地與時俱進。」

也就是說,Daimos仍然看好深度學習。在今年稍早時,他的團隊發表研究指出,這一領域尚未成熟,預計接下來將會看到更多的突破。

(參考原文:AI Silicon Gets Mixed Report Card,by Rick Merritt)