這項工作表明,神經網路還處於早期階段。到目前為止,運作2016年9月發佈的訓練版規範的結果,僅來自少數英特爾(Intel)Xeon和Nvidia繪圖處理器(GPU)。

這些晶片不久就應該能提供有關基於伺服器的推理工作的新基準的測試結果。此外,對於運作在包括iPhone 6、iPhone 7和Raspberry Pi板在內的設備上的推理工作,百度也即將發佈相關結果。

在伺服器上進行的推理具有更長延遲,但是可以使用比嵌入式設備(如智慧型手機和智慧喇叭)更大的處理器和更多記憶體。百度矽谷人工智慧(AI)實驗室的系統研究員Sharan Narang說:「我們試圖避免得出大的結論,到目前為止,我們只是整理結果。」

目前還不清楚英特爾是否會提供推理結果,而且它仍然在進行其大規模並行Knights Mill(英特爾針對AI的下一代XeonPhi處理器)運作結果的研究。AMD表示支持該基準測試,但尚未發佈在其新版Epyc x86和Radeon Instinct GPU上執行該測試基準的結果。

20170808NT01P1

包括Corenami、Graphcore、Wave Computing和Nervana(被英特爾收購)在內的幾家初創公司有計劃涉足深度學習加速器。

「晶片製造商對此非常興奮,並希望展示其結果,但我們不希望使用任何專用程式庫,只能是開放原始碼程式庫,所以這些事情需要付出很多努力;」Narang表示:「我們已經 和Nervana、Graphcore及Wave進行了交流,他們都具備有前景的方法,但是尚沒人能用實際晶片試運作。」

更新後的DeepBench支援針對推理的低精確度浮點運算(floating point)和稀疏運算,以提升性能。

「在深度學習中,模型大小和資料集大小有明顯相關性,在任何應用中,它們越大,準確性就越高,因此我們希望建構盡可能大的模型;」Narang表示:「我們需要更大的處理器、更低精確度的數學運算,以及我們正研發的其他技術,來實現這一目標。」

該基準測量了晶片執行各種不同低層級任務(核心)的時間。它們包括具有不同矩陣大小的矩陣乘法器和具有不同種類濾波器的卷積;它還測量長短期記憶(LSTM)、迴圈和門控迴圈單元操作。

「我們有一個非常詳盡的核心列表來構成我們的要求;」Narang說:「針對這些大小進行最佳化的硬體對社會有幫助。」

「深度學習是一個積極變化的領域,有很多聰明人在處理不同的問題,我們還沒有涵蓋所有情況,所以研究人員應該貢獻自己的核心。」

為了這項工作,DeepBench使用了大約十幾種常用模型,如微軟(Microsoft)針對目標識別的ResNet。基準測試神經網路是一個非常複雜的問題,因為有太多的框架和模型,所以專注於較低層級的操作,而不是模型和框架。

向降低精確度浮點數學的轉移是此次更新中最大的變化之一。初始的基準測試使用32位元單精確度數學進行訓練,但現在組合使用16位元和32位元計算;此舉減少了GPU數量和所需記憶體量,且同時縮短了結果獲取時間。

例如,Nvidia Volta V-100預計在幾個月內可用,其單精確度數學運算性能為20TFlops,但半精確度為120TFlops。Narang說:「二者差異很大——我們可能會使用不到現在GPU數量的一半。」

同樣,推理工作使用8位元數學來表示權重和模型。「在伺服器端,我們看到從32位元單精確度到降低的8位元精確度帶來的巨大好處——這是個大勝利。」

DeepBench還支援使用稀疏神經網路進行推理,去掉了90~95%的權重以減少記憶體消耗。該方法提供了二十倍的資料壓縮和更好的性能。

一些程式庫希望最低減少99%的權重。Narang表示,百度正在與晶片製造商(如英特爾、Nvidia和ARM)合作,為這些核心打造底層線性代數。