淘新聞

谷歌硬體工程師揭秘,TPU為何會比CPU、GPU快30倍?

在穀歌發佈TPU一年後,這款機器學習定制晶片的神秘面紗終於被揭開了。

昨日,谷歌資深硬體工程師Norman Jouppi刊文表示,穀歌的專用機器學習晶片TPU處理速度要比GPU和CPU快15-30倍(和TPU對比的是英特爾Haswell CPU以及Nvidia Tesla K80 GPU),而在能效上,TPU更是提升了30到80倍。

從這次發佈的測試結果來看,TPU似乎已經超出了業界的預期,但是藏在這一晶片背後的內部架構究竟有什麼秘密呢,我們從Jouppi此前發佈的論文當中,可以找到答案。

據雷鋒網瞭解,早在四年前,穀歌內部就開始使用消耗大量計算資源的深度學習模型,這對CPU、GPU組合而言是一個巨大的挑戰,穀歌深知如果基於現有硬體,他們將不得不將資料中心數量翻一番來支持這些複雜的計算任務。

所以穀歌開始研發一種新的架構,Jouppi稱之為“下一個平臺”。Jouppi曾是MIPS處理器的首席架構師之一,他開創了記憶體系統中的新技術。三年前他加入穀歌的時候,公司上下正在用CPU、GPU混合架構上來進行深度學習的訓練。

Jouppi表示,穀歌的硬體工程團隊在轉向定制ASIC之前,早期還曾用FPGA來解決廉價、高效和高性能推理的問題。但他指出,FPGA的性能和每瓦性能相比ASIC都有很大的差距。他解釋說,“TPU可以像CPU或GPU一樣可程式設計,它可以在不同的網路(卷積神經網路,LSTM模型和大規模完全連接的模型)上執行CISC指令,而不是為某個專用的神經網路模型設計的。一言以蔽之,TPU兼具了CPU和ASIC的有點,它不僅是可程式設計的,而且比CPU、GPU和FPGA擁有更高的效率和更低的能耗。

TPU的內部架構

該圖顯示了TPU上的內部結構,除了外掛的DDR3記憶體,左側是主機介面。指令從主機發送到佇列中(沒有迴圈)。這些啟動控制邏輯可以根據指令多次運行相同的指令。

TPU並非一款複雜的硬體,它看起來像是雷達應用的信號處理引擎,而不是標準的X86衍生架構。Jouppi說,儘管它有眾多的矩陣乘法單元,但是它GPU更精於浮點單元的協處理。另外,需要注意的是,TPU沒有任何存儲的程式,它可以直接從主機發送指令。

TPU上的DRAM作為一個單元並行運行,因為需要獲取更多的權重以饋送到矩陣乘法單元(算下來,輸送量達到了64,000)。Jouppi並沒有提到是他們是如何縮放(systolic)資料流程的,但他表示,使用主機軟體加速器都將成為瓶頸。

256×256陣列縮放資料流程引擎,經過矩陣乘法積累後實現非線性輸出

從第二張圖片可以看出,TPU有兩個記憶體單元,以及一個用於模型中參數的外部DDR3 DRAM。參數進來後,可從頂部載入到矩陣乘法單元中。同時,可以從左邊載入啟動(或從“神經元”輸出)。那些以收縮的方式進入矩陣單元以產生矩陣乘法,它可以在每個週期中進行64,000次累加。

毋庸置疑,穀歌可能使用了一些新的技巧和技術來加快TPU的性能和效率。例如,使用高頻寬記憶體或混合3D記憶體。然而,穀歌的問題在於保持分散式硬體的一致性。

TPU對比Haswell處理器

在和英特爾“Haswell”Xeon E5 v3處理器來的對比中,我們可以看到,TPU各方面的表現都要強於前者。

在Google的測試中,使用64位浮點數學運算器的18核心運行在2.3 GHz的Haswell Xeon E5-2699 v3處理器能夠處理每秒1.3 TOPS的運算,並提供51GB/秒的記憶體頻寬;Haswell晶片功耗為145瓦,其系統(擁有256 GB記憶體)滿載時消耗455瓦特。

相比之下,TPU使用8位元整數數學運算器,擁有256GB的主機記憶體以及32GB的記憶體,能夠實現34GB/秒的記憶體頻寬,處理速度高達92 TOPS ,這比Haswell提升了71倍,此外,TPU伺服器的熱功率只有384瓦。

除此之外,穀歌還測試了CPU、GPU和TPU處理不同批量大小的每秒推斷的輸送量。

如上圖所示,在小批量任務中(16),Haswell CPU的回應時間接近7毫秒,其每秒提供5482次推斷(IPS),其可以實現的最大批量任務(64)每秒則可以完成13194次推斷,但其回應時間為21.3毫秒。相比之下,TPU可以做到批量大小為200,而回應時間低於7毫秒,並提供225000個IPS運行推理基準,是其峰值性能的80%,當批量大小為250,回應時間為10毫秒。

不過需要注意的是,穀歌所測試的Haswell Xeon處理器似乎也不能完全說明問題,英特爾Broadwell Xeon E5 v4處理器和最新的“Skylake”Xeon E5,每核心時鐘(IPC)的指令比這款處理器提升了約5%。在Skylake是28核,而Haswell為18核,所以Xeon的總體輸送量可能會上升80%。當然,這樣的提升與TPU相比仍有差距。

最後雷鋒網需要強調的是,TPU是一個推理晶片,它並非是要取代GPU,可以確定的是,TPU與CPU一起使用對訓練分析更加有益。但對於CPU製造商而言,如何研發出像ASIC一樣兼顧性能和能效的晶片是現在以及未來要做的。

Jouppi表示穀歌TPU已經開始出貨,而英特爾這些晶片商也將面臨更大的挑戰。

Via 

nextplatform

,雷鋒網編譯