前言
根據(jù)百度(Baidu)深度學(xué)習(xí)(deep learning)資深研究人員針對最新加速器進(jìn)行的測試結(jié)果顯示,現(xiàn)有的加速器芯片和軟件仍然存在一些美中不足之處,應(yīng)該盡快迎頭趕上。
這些結(jié)果有一部份來自于使用DeepBench測試。DeepBench是使用32位浮點數(shù)學(xué)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的開放來源基準(zhǔn)。號稱“中國Google”的百度于2016年9月發(fā)布DeepBench,并在去年6月進(jìn)行了更新,使其涵蓋推論工作以及使用16位數(shù)學(xué)運算。
DeepBench利用神經(jīng)網(wǎng)絡(luò)庫測試不同硬件的基本運算效能(來源:Baidu)
百度硅谷人工智能實驗室(Silicon Valley AI Lab)資深研究員Greg Daimos解釋。在一些像矩陣乘法這樣的底層作業(yè)中,具有專用硬件的芯片(例如Nvidia Volta GPU的張量核心)能夠提供“數(shù)百TeraFlops (每秒1兆次浮點運算)。..比前一代的5-10TFLOPS更快幾個數(shù)量級?!?/p>
然而,他說:“在實際應(yīng)用中所使用的一些底層作業(yè)并沒有足夠的(數(shù)據(jù))區(qū)域性,讓這些專用處理器充份發(fā)揮效能,所以我們必須為其適度地加速,或者改變算法。”
百度研究小組目前正探索兩種方式使用新芯片獲得更大回報。一方面,研究人員在其算法中開啟控制功能,以便同時接收饋入數(shù)據(jù),期望能提高10倍的資料平行性。
另一條途徑是讓所有的模型看起來更像一般用于成像應(yīng)用的卷積神經(jīng)網(wǎng)絡(luò)(CNN)。Daimos說,CNN比一般用于文本或音頻應(yīng)用(app)等循序數(shù)據(jù)的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)具有更多區(qū)域性。
研究人員在從文本產(chǎn)生音頻的百度模型中,“以CNN層取代RNN層堆?!?,使得“運算密度提高了40倍”,從而帶來了更好的新硬件利用率。他強調(diào),“我們必須透過編寫的所有應(yīng)用程序來檢視是否可以普遍使用這種方法,或只是將其用于語音合成?!?/p>
目前尚不清楚這兩種方法的研究成果何時可用于生產(chǎn)系統(tǒng)。同時,Daimos也分享了硬件測試的其它觀察結(jié)果。
編程、內(nèi)存與靈活性
雖然百度取得將近90%的Nvidia Volta最佳利用率,但編程GPU并非易事。Diamos說,該芯片“有著成千上萬個線程,你必須在一個問題上進(jìn)行協(xié)調(diào)和同步。..。..編寫這樣的程序代碼并不容易,而當(dāng)面對的是像張量核心這樣的對象時就更困難了。”
的確,Diamos表示,“讓這些任務(wù)變得更易于編程,正是我們面臨的最大挑戰(zhàn)。....而其中最大的問題就出在內(nèi)存。我們想要執(zhí)行更大的神經(jīng)網(wǎng)絡(luò),但內(nèi)存比預(yù)期地更快耗盡,這并不是透過打造更好的處理器就能解決的問題?!?/p>
他補充說,該問題的一部份答案在于尋找能與新興內(nèi)存搭配作業(yè)的技術(shù),例如許多最新加速器所使用的高帶寬內(nèi)存(HBM)芯片堆棧等。
在百度的測試中,英特爾(Intel)多核心x86處理器Xeon Phi的利用率甚至高于Nvidia Volta。然而,英特爾的芯片還沒有任何張量專用核心,因此該芯片在神經(jīng)網(wǎng)絡(luò)作業(yè)上的性能不若Volta。
Nvidia Volta配備640個Tensor核心,每秒提供超過100TFLOPS的深度學(xué)習(xí)效能(來源:Nvidia)
直接進(jìn)行比較并不容易,因為不同的芯片通常使用不同的運算格式。例如,Xeon Phi采用定點數(shù)學(xué),而Volta則混合使用16位和32位浮點運算。
Diamos說:“英特爾芯片的測試結(jié)果顯示,對于一些CNN來說,定點數(shù)學(xué)運算沒問題。然而Nvidia發(fā)布的結(jié)果顯示在影像和語音應(yīng)用上表現(xiàn)良好,所以我們?nèi)〉昧艘恍?shù)據(jù),但還需要進(jìn)行更多研究?!?/p>
他稱贊AMD最新的GPU及其新的機器學(xué)習(xí)開放軟件是正確的發(fā)展方向,但指出他們也缺乏張量核心。他表示,對于英特爾Nirvana和Graphcore Colossus等芯片“沒啥可分享的消息”,也許是因為百度可能還在測試其預(yù)先發(fā)布的樣片。
擁有大量的矩陣乘法單元通常是一件好事。但是,Volta、Nervana和Colossus處理器則以充滿矩陣乘法數(shù)組的芯片將其性能指針推進(jìn)到或接近其工藝節(jié)點所能實現(xiàn)的極限。
他說:“最終你的收益會遞減。..。..讓你不得不放棄靈活度,以便為更多不同的工作負(fù)載進(jìn)行更精密的運算。因此,我們應(yīng)該找到曲線的轉(zhuǎn)折點,讓芯片不僅在CNN上運作良好,在其它方面也表現(xiàn)出色?!?/p>
神經(jīng)網(wǎng)絡(luò)軟件架構(gòu)各執(zhí)一端
除了底層數(shù)學(xué)之外,加速器還可能缺少優(yōu)化,因為它們并不完全了解深度學(xué)習(xí)應(yīng)用的所有范圍。
當(dāng)今用于設(shè)計神經(jīng)網(wǎng)絡(luò)的競爭軟件架構(gòu)各執(zhí)一端,可能會讓情況變得復(fù)雜。遺憾的是,跨不同架構(gòu)建立標(biāo)準(zhǔn)規(guī)格的努力也是各自為政,Diamos指出他的團(tuán)隊注意到目前有11種開發(fā)中規(guī)格分別處于不同的完善階段。
他說,由Facebook和微軟(Microsoft)發(fā)起的開放神經(jīng)網(wǎng)絡(luò)交換格式(ONNX)“正朝著正確的方向發(fā)展,但仍缺乏一些像是如何表達(dá)控制流程和反向傳播的特性?!?/p>
最近有20多家廠商(主要是半導(dǎo)體供應(yīng)商)宣布了神經(jīng)網(wǎng)絡(luò)交換格式(Neural Network Exchange Format),他們認(rèn)為該格式對芯片廠商來說更好。Diamos說:“要搞清這些格式中是否有些能成功實施可能還為時過早,但我們正踏上一條更好的發(fā)展道路,確實也需要其中某一種規(guī)格勝出?!?/p>
他補充說:“在2014年,我當(dāng)時認(rèn)為未來將會看到人工智能(AI)架構(gòu)的融合,就像如今在繪圖API中所看到的,但人們?nèi)匀辉诎l(fā)明新的神經(jīng)網(wǎng)絡(luò)類型,有時還會創(chuàng)造新的原型,所以它可能會像編程語言的多樣性一樣不斷地與時俱進(jìn)。”
也就是說,Daimos仍然看好深度學(xué)習(xí)。在今年稍早時,他的團(tuán)隊發(fā)表研究指出,這一領(lǐng)域尚未成熟,預(yù)計接下來將會看到更多的突破。
-
人工智能
+關(guān)注
關(guān)注
1792文章
47430瀏覽量
238972 -
人工智能芯片
+關(guān)注
關(guān)注
1文章
120瀏覽量
29126
原文標(biāo)題:巨頭們的人工智能芯片研發(fā)得怎么樣了?
文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論