谷歌TPU研究論文:專(zhuān)注神經(jīng)網(wǎng)絡(luò )專(zhuān)用處理器
過(guò)去十五年里,我們一直在我們的產(chǎn)品中使用高計算需求的機器學(xué)習。機器學(xué)習的應用如此頻繁,以至于我們決定設計一款全新類(lèi)別的定制化機器學(xué)習加速器,它就是 TPU。
本文引用地址:http://dyxdggzs.com/article/201704/346340.htmTPU 究竟有多快?今天,聯(lián)合在硅谷計算機歷史博物館舉辦的國家工程科學(xué)院會(huì )議上發(fā)表的有關(guān) TPU 的演講中,我們發(fā)布了一項研究,該研究分享了這些定制化芯片的一些新的細節,自 2015 年以來(lái),我們數據中心的機器學(xué)習應用中就一直在使用這些芯片。第一代 TPU 面向的是推論功能(使用已訓練過(guò)的模型,而不是模型的訓練階段,這其中有些不同的特征),讓我們看看一些發(fā)現:
● 我們產(chǎn)品的人工智能負載,主要利用神經(jīng)網(wǎng)絡(luò )的推論功能,其 TPU 處理速度比當前 GPU 和 CPU 要快 15 到 30 倍。
● 較之傳統芯片,TPU 也更加節能,功耗效率(TOPS/Watt)上提升了 30 到 80 倍。
● 驅動(dòng)這些應用的神經(jīng)網(wǎng)絡(luò )只要求少量的代碼,少的驚人:僅 100 到 1500 行。代碼以 TensorFlow 為基礎。
● 70 多個(gè)作者對這篇文章有貢獻。這份報告也真是勞師動(dòng)眾,很多人參與了設計、證實(shí)、實(shí)施以及布局類(lèi)似這樣的系統軟硬件。

TPU 的需求大約真正出現在 6 年之前,那時(shí)我們在所有產(chǎn)品之中越來(lái)越多的地方已開(kāi)始使用消耗大量計算資源的深度學(xué)習模型;昂貴的計算令人擔憂(yōu)。假如存在這樣一個(gè)場(chǎng)景,其中人們在 1 天中使用谷歌語(yǔ)音進(jìn)行 3 分鐘搜索,并且我們要在正使用的處理器中為語(yǔ)音識別系統運行深度神經(jīng)網(wǎng)絡(luò ),那么我們就不得不翻倍谷歌數據中心的數量。
TPU 將使我們快速做出預測,并使產(chǎn)品迅速對用戶(hù)需求做出回應。TPU 運行在每一次的搜索中;TPU 支持作為谷歌圖像搜索(Google Image Search)、谷歌照片(Google Photo)和谷歌云視覺(jué) API(Google Cloud Vision API)等產(chǎn)品的基礎的精確視覺(jué)模型;TPU 將加強谷歌翻譯去年推出的突破性神經(jīng)翻譯質(zhì)量的提升;并在谷歌 DeepMind AlphaGo 對李世乭的勝利中發(fā)揮了作用,這是計算機首次在古老的圍棋比賽中戰勝世界冠軍。
我們致力于打造最好的基礎架構,并將其共享給所有人。我們期望在未來(lái)的數周和數月內分享更多的更新。
論文題目:數據中心的 TPU 性能分析(In-Datacenter Performance Analysis of a Tensor Processing Unit)

摘要:許多架構師相信,現在要想在成本-能耗-性能(cost-energy-performance)上獲得提升,就需要使用特定領(lǐng)域的硬件。這篇論文評估了一款自 2015 年以來(lái)就被應用于數據中心的定制化 ASIC,亦即張量處理器(TPU),這款產(chǎn)品可用來(lái)加速神經(jīng)網(wǎng)絡(luò )(NN)的推理階段。TPU 的中心是一個(gè) 65,536 的 8 位 MAC 矩陣乘法單元,可提供 92 萬(wàn)億次運算/秒(TOPS)的速度和一個(gè)大的(28 MiB)的可用軟件管理的片上內存。相對于 CPU 和 GPU 的隨時(shí)間變化的優(yōu)化方法(高速緩存、無(wú)序執行、多線(xiàn)程、多處理、預取……),這種 TPU 的確定性的執行模型(deterministic execution model)能更好地匹配我們的神經(jīng)網(wǎng)絡(luò )應用的 99% 的響應時(shí)間需求,因為 CPU 和 GPU 更多的是幫助對吞吐量(throughout)進(jìn)行平均,而非確保延遲性能。這些特性的缺失有助于解釋為什么盡管 TPU 有極大的 MAC 和大內存,但卻相對小和低功耗。我們將 TPU 和服務(wù)器級的英特爾 Haswell CPU 與現在同樣也會(huì )在數據中心使用的英偉達 K80 GPU 進(jìn)行了比較。我們的負載是用高級的 TensorFlow 框架編寫(xiě)的,并是用了生產(chǎn)級的神經(jīng)網(wǎng)絡(luò )應用(多層感知器、卷積神經(jīng)網(wǎng)絡(luò )和 LSTM),這些應用占到了我們的數據中心的神經(jīng)網(wǎng)絡(luò )推理計算需求的 95%。盡管其中一些應用的利用率比較低,但是平均而言,TPU 大約 15-30 倍快于當前的 GPU 或者 CPU,速度/功率比(TOPS/Watt)大約高 30-80 倍。此外,如果在 TPU 中使用 GPU 的 GDDR5 內存,那么速度(TOPS)還會(huì )翻三倍,速度/功率比(TOPS/Watt)能達到 GPU 的 70 倍以及 CPU 的 200 倍。

表 1:6 種神經(jīng)網(wǎng)絡(luò )應用(每種神經(jīng)網(wǎng)絡(luò )類(lèi)型各 2 種)占據了 TPU 負載的 95%。表中的列依次是各種神經(jīng)網(wǎng)絡(luò )、代碼的行數、神經(jīng)網(wǎng)絡(luò )中層的類(lèi)型和數量(FC 是全連接層、Conv 是卷積層,Vector 是向量層,Pool 是池化層)以及 TPU 在 2016 年 7 月的應用普及程度。RankBrain [Cla15] 使用了 DNN,谷歌神經(jīng)機器翻譯 [Wu16] 中用到了 LSTM,Inception 用到了 CNN,DeepMind AlphaGo [Sil16][Jou15] 也用到了 CNN。

圖 1:TPU 各模塊的框圖。主要計算部分是右上方的黃色矩陣乘法單元。其輸入是藍色的「權重 FIFO」和藍色的統一緩存(Unified Buffer(UB));輸出是藍色的累加器(Accumulators(Acc))。黃色的激活(Activation)單元在A(yíng)cc中執行流向UB的非線(xiàn)性函數。
評論