谷歌TPU研究論文:專注神經(jīng)網(wǎng)絡(luò)專用處理器
本文引用地址:http://m.butianyuan.cn/article/201704/346340.htm
圖 2:TPU 芯片布局圖。陰影同圖 1。藍色的數(shù)據(jù)緩存占芯片的 37%。黃色的計算是 30%。綠色的I/O 是 10%。紅色的控制只有 2%。CPU 或 GPU 中的控制部分則要大很多(并且非常難以設(shè)計)。
圖3:TPU印制電路板。可以插入服務(wù)器 SATA 盤的卡槽,但是該卡使用了 PCIe Gen3 x16 接口。
圖4:矩陣乘法單元的 systolic 數(shù)據(jù)流。軟件具有每次讀取 256B 輸入的錯覺,同時它們會立即更新 256 個累加器 RAM 中其中每一個的某個位置。
表2:谷歌 TPU 與英特爾 Haswell E5-2699 v3、英偉達Tesla K80 的性能對比。E5 有 18 個核,K80 有 13 個 SMX 處理器。圖 10 已經(jīng)測量了功率。低功率 TPU 比高功率 GPU 能夠更好地匹配機架(rack)級密度。每個 TPU 的 8 GiB DRAM 是權(quán)重內(nèi)存(Weight Memory)。這里沒有使用 GPU Boost 模式。SECDEC 和非 Boost 模式把 K80 帶寬從 240 降至 160。非 Boost 模式和單裸片 vs 雙裸片性能把 K80 峰值 TOPS 從 8.7 降至 2.8(*TPU 壓模小于等于半個 Haswell 壓模大小)。
圖5:TPU (die) roofline。 其脊點位于所獲權(quán)重內(nèi)存每字節(jié)運行 1350 次的地方,距離右邊還比較遠。
表格3:TPU 在神經(jīng)網(wǎng)絡(luò)工作載荷中性能受到限制的因素,根據(jù)硬件性能計數(shù)器顯示的結(jié)果。1,4,5,6行,總共100%,以矩陣單元活動的測量結(jié)果為基礎(chǔ)。2,3行進一步分解為64K權(quán)重的部分,我們的計數(shù)器無法準確解釋矩陣單元何時會停頓在第6行中;7、8行展示了計數(shù)器結(jié)果,可能有兩個原因,包括RAW管道危害,PCIe輸入停止。9行(TOPS)是以產(chǎn)品代碼的測量結(jié)果為基礎(chǔ)的,其他列是以性能計數(shù)器的測量結(jié)果為基礎(chǔ)的,因此,他們并不是那么完美保持一致。這里并未包括頂部主服務(wù)器。MLP以及LSTM內(nèi)存帶寬有限,但是CNN不是。CNN1的測試結(jié)果會在文中加以分析。
圖 9:GPU 服務(wù)器(藍條)對比 CPU、TPU 服務(wù)器(紅條)對比 CPU、TPU 服務(wù)器對比 GPU(橘黃)的相對性能表現(xiàn)/Watt(TDP)。TPU' 是改進版的 TPU(Sec.7)。綠條顯示了對比 CPU 服務(wù)器的比例,淡紫色顯示了與 GPU 服務(wù)器的關(guān)系。整體包括了主服務(wù)器的能耗,但不包括增量(incremental)。GM 和 WM 分別是幾何學圖形與加權(quán)平均值。
圖10:CNN0 平臺的單位功耗對比,其中紅色和橙色線是 GPU 加 CPU 系統(tǒng)的功率。藍色是英特爾 E5-2699 v3 Haswell CPU 的功率,綠色是英偉達 Tesla K80 的功率,紫色為谷歌 TPU。每個服務(wù)器通常有多個芯片組,以上所有數(shù)字都已被整除成單芯片功率。
圖11:加權(quán)平均 TPU 性能作為度量單元,從 0.25 倍擴展到了 4 倍:內(nèi)存帶寬,時鐘頻率+累加器,時鐘頻率,矩陣單元維度+累加器,以及矩陣單元維度。加權(quán)均值使得我們很難看出單個 DNN 的貢獻,但是,MLP 以及 LSTM 提升了 3 倍到 4 倍的內(nèi)存帶寬,但是,更高的時鐘頻率并沒帶來任何效果。對于 CNN 來說,結(jié)果反之亦然;4 倍的時鐘率,2 倍的效果。但是,更快的內(nèi)存并沒帶來什么好處。一個更大的矩陣乘法單元并不能對任何 DNN 有幫助。
評論