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