時間:2017-04-06 來源:互聯網 瀏覽量:
在穀歌發布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已經開始出貨,而英特爾這些芯片商也將麵臨更大的挑戰。
文章來源:雷鋒網