當前位置:
首頁 > 新聞 > 谷歌硬體工程師揭秘TPU為何會比CPU、GPU快30倍?

谷歌硬體工程師揭秘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已經開始出貨,而英特爾這些晶元商也將面臨更大的挑戰。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 cnbeta 的精彩文章:

亞馬遜上架Project Scorpio產品頁:但暫未開放預定
[視頻]《不義聯盟2》新預告 閃電俠死對頭冷凍隊長登場
《漫威英雄:歐米茄》Xbox One版公布預告
動視暴雪為《使命召喚》打造電影宇宙:首部影片有望明年推出

TAG:cnbeta |

您可能感興趣

HTTP 3.0將TCP 協議更換為基於 UDP 的谷歌 QUIC
搭載谷歌系統 MICHAEL KORS推全新ACCESS RUNWAY智
NLP新標杆!谷歌大腦CMU聯手推出XLNet,20項任務全面超越BERT
谷歌更強 NLP 模型 XLNet 開源:20 項任務全面碾壓 BERT!
谷歌嫌皮克斯USD SDK難用,推出修訂版USD Unity SDK
谷歌更強 NLP 模型 XLNet 開源:20 項任務全面碾壓 BERT
侃哥:OPPO FINDX正式發布 谷歌和Uer分手!
谷歌NeurIPS 2018:全新NLP工具煉成會改變文風的AI
谷歌推出AI專用晶元TPU 3.0
谷歌與LG推出1443 PPI的OLED顯示屏 將極大提高AR/VR設備用戶體驗
谷歌宣布 DNS Over HTTPS 服務普遍可用
VR/AR體驗更方便!谷歌為Chrome瀏覽器添加WebXR API
谷歌CVPR最全總結:45篇論文,Ian Goodfellow GAN演講PPT下載
谷歌更新ARCore API,增加點雲ID及更多設備支持
NIPS 2018:谷歌大腦提出簡單、分散式概率編程,可用TPU大規模訓練
谷歌研發出1443 PPI OLED顯示屏,為AR/VR一體機服務
谷歌推出ARCore 1.7版本,增加AR濾鏡、動畫和UI優化
TPU V3、全新NLP類AutoML產品,這是李飛飛在谷歌雲大會上的新聲音
最強NLP預訓練模型!谷歌BERT橫掃11項NLP任務記錄
谷歌TPU 3.0重磅發布;I/O大會上機器人真的能打Call!