來源:eettaiwan 網路巨擘Google日前指出,該公司的Tensor處理器(TPU)在機器學習的測試中,以數量級的效能優勢超越英特爾(Intel)的Xeon處理器和Nvidia的繪圖處理器(GPU)。在一份長達17頁的報告中,Google深入剖析其TPU和測試基準顯示比目前的商用芯片更快至少15倍的速度,并提供更高30倍的效能功耗比(P/W)。 去年五月,Google宣布其ASIC設計是為了加快各種應用在其納米中心服務器的推論作業。現在,該公司將在今年6月的一場電腦架構大會中,透過一篇論文首度公開對于此芯片及其效能的深入研究。 這份報告提供了有關加速器與Google多元神經網路工作負載的深度觀察,并建議工程師在此快速成長的領域中投注更多的學習。 曾帶領超過70位工程師團隊設計TPU 的知名硬件工程師Norman P. Jouppi說:“我們希望聘請一些優秀的工程師,并讓他們了解我們正在進行高品質的工作,同時也讓云端客戶知道我們的實力! 該計劃的其中一位負責人員是美國加州柏克萊大學(U.C. Berkeley)退休教授David Patterson,他同時也是一位資深的處理器架構師,在日前一場矽谷的工程師聚會中介紹了這份報告。Google還在部落格中發布Jouppi所撰寫關于此芯片的文章。 如今Google的納米中心仍采用此芯片。不過,關于該芯片使用的范圍與未來計劃加強的部份,Jouppi并不愿透露任何細節。 這款40W功率的TPU是一款采用28納米制程、70MHz時脈運算的芯片,專為加速Google TensorFlow 演算法而設計。其主要的邏輯單元包含65,536個8位元的乘積累加運算單元和24MB快取存儲器,并提供每秒92兆次運算速度。 在2015年采用Google機器學習芯片而進行的測試中,相較于英特爾(Intel)的Haswell服務器處理器(CPU)和Nvidia的K80繪圖處理器(GPU),采用TPU時的運作速度提高了15到30倍,效能提高了30到80倍。該報告中指出:“TPU的相對增量效能功耗比為41到83——這就是我們為什么客制化ASIC的原因,它讓TPU比GPU高出25到29倍的的效能功耗比! 2015年的測試使用了英特爾 22納米制程的18核心Haswell E5-2699 v3 CPU,其時脈頻率(速度)為2.3GHz,熱設計功耗(TDP)為145W。Nvidia K80 GPU功耗為150W,時脈頻率最高到875MHz。 TPU內部揭密 在該報告中提到,TPU所達到的數量級效能優勢,很少有別的廠商能做到,也可能讓TPU成為特定領域架構的原型。預計接下來將會有許多追隨者,而使得標準更為提高。 事實上,TPU的目標不在于提高納米處理量,而是專注于達到7毫秒(ms)的延遲,使專用加速器發揮功效,因此,它舍棄了高吞吐量的多工通用處理器所需的許多元件,而用于執行其他許多任務。 但此ASIC芯片在能耗比的表現上不及英特爾和Nvidia的芯片。在10%的負載狀況下,TPU的最大功率消耗為88%。相形之下,K80在10%負載下消耗66%的功率,而英特爾Haswell的最大功耗為56%。 Google解釋,這是由于僅15個月的設計時程相對較短,使得TPU無法加入許多節能方面的功能。 納米緩沖區約占TPU的37%,媒體存取控制(MAC)組合占30%。雖然TPU比起Nvidia GPU的尺寸更小、功耗更低,但其上的MAC數量卻是K80的25倍,芯片上存儲器容量則為其3.5倍。 TPU搭載PCIe Gen3 x16匯流排,并提供256位元的內部納米路徑。主機CPU將加速器視為浮點運算處理器,透過PCIe匯流排傳達指令。 TPU使用與GPU加速器相同的Tensorflow軟體,開發人員可維持核心驅動器的穩定,必要時調整使用者空間的驅動程式,以因應不斷改變的應用。 Google發現,持續增加的存儲器頻寬對于效能表現的影響最大。平均來說,加速時脈速度的效益不大,而當MAC擴增到512x512矩陣時,加快時脈速度的效能還將微幅下降。 該報告中指出,從2015年的測試以來,英特爾已經推出14納米CPU,Nvidia也推出16納米GPU了。然而,TPU也可能將其外部DDR3存儲器升級到像K80所使用的GDDR5存儲器。 報告中指出:“未來的CPU與GPU在執行推論時將會更快速。采用2015版GPU存儲器而重新設計的TPU將會提高兩倍到三倍的速度,而且比K80高出70倍、比Haswell更高200倍的效能功耗比! Google宣稱在英特爾CPU上執行8位元運算相當辛苦。報告中提到:“我們原本只有一款CPU執行8位元運算的結果,因為有效地使用其AVX2整數運算指令,效果提升了3.5倍! 由于其采用納米處理量為導向的架構,即使是改良過的GPU要達到Google的 7nm延遲目標,仍然充滿挑戰。同時,“這款TPU仍有很大的改進空間,所以這不是一個容易達成的目標! 開發人員掌握多元化訊息 該報告中提到,研究人員受到熱門的ImageNet比賽吸引,已經變得過于投入卷積神經網路(CNN),F實世界的應用采用更廣泛的神經網路類型,報告并強調,多層感知(MLP)占Google AI開發工作的61%。“雖然大部份的架構師一直在加速CNN設計,但這部份只占5%的工作負載! “雖然CNN可能很常見于邊緣裝置,但卷積模型的數量還趕不上納米中心的多層感知(MLP)和長短期存儲器(LSTM)。我們希望架構師盡可能地加速MLP和LSTM設計,這種情況類似于當許多架構師專注于浮點運算效能時,大部份的主流工作負載仍由整數運算主導! Jouppi說:“我們已經開始與一些大學合作,擴大提供免費模式。”但他并未透露內容細節。 這篇報告回顧了二十多年來神經網路的相關納米,包括其競爭對手——微軟(Microsoft)基于FPGA的Catapult計劃,加速了網路作業。最初的25W Catapult在200MHz時脈上運作3,926個18位元MAC,并且以200MHz 時脈速度執行5MB存儲器。Google表示,以Verilog語言設計的韌體比起使用TensorFlow軟體來說效率更低。 TPU計劃于2013年開始,當時并以FPGA進行了試驗。該報告中提到:“我們舍棄FPGA,因為我們當時發現它和GPU相比,在效能上不具競爭力,而TPU比起GPU在相同速度或甚至更快的速度下,可以達到更低的功耗。” 盡管二十多年來,神經網路終于在最近從商用市場起飛了。 Jouppi說:“我們所有人都被這蓬勃發展的景象嚇到了,當初并未預期到會有如此大的影響力。一直到五、六年以前,我都還一直抱持懷疑態度…而今訂單開始逐月增加中! 相較于傳統途徑,深度神經網路(DNN)已經讓語音辨識的錯誤率降低了30%,這是二十年來最大的進步。這讓ImageNet影像辨識競賽中的錯誤率從2011年的26%降至3.5%。 該報告結論還提到,“神經網路加速器存在的理由在于效能,而在其演進過程中,如何達到良好的直覺判斷,目前還為時過早! |