我們找到了一些資料,希望能夠解答為什么TPU運(yùn)算速度比普通的GPU、CPU組合快15-30倍。同時(shí),我們認(rèn)為Google在TPU研發(fā)上的這些創(chuàng)新極有可能將成為Inter、AMD跟進(jìn)同類硬件開發(fā)的標(biāo)桿,并最終成為一種趨勢(shì)。
一、針對(duì)深度學(xué)習(xí)的定制化研發(fā)
TPU是谷歌專門為加速深層神經(jīng)網(wǎng)絡(luò)運(yùn)算能力而研發(fā)的一款芯片,其實(shí)也是一款A(yù)SIC。
ASIC,指依照產(chǎn)品需求不同而定制化的特殊規(guī)格集成電路,由特定使用者要求和特定電子系統(tǒng)的需要而設(shè)計(jì)、制造。一般來說,ASIC在特定功能上進(jìn)行了專項(xiàng)強(qiáng)化,可以根據(jù)需要進(jìn)行復(fù)雜的設(shè)計(jì),但相對(duì)來說,實(shí)現(xiàn)更高處理速度和更低能耗。相對(duì)應(yīng)的,ASIC的生產(chǎn)成本也非常高。
一般公司很難承擔(dān)為深度學(xué)習(xí)開發(fā)專門處理器ASIC芯片的成本和風(fēng)險(xiǎn)。首先為了性能必須使用最好的半導(dǎo)體制造工藝,而現(xiàn)在用最新的工藝制造芯片一次性成本就要幾百萬美元,非常貴。就算有錢,還需要拉一支隊(duì)伍從頭開始設(shè)計(jì),設(shè)計(jì)時(shí)間往往要到一年以上,time to market時(shí)間太長(zhǎng),風(fēng)險(xiǎn)很大。如果無法實(shí)現(xiàn)規(guī)?;膽?yīng)用,就算開發(fā)成功也缺少實(shí)際使用價(jià)值。所以,企業(yè)一般傾向于采用通用性的芯片(如CPU、GPU),或者半定制化芯片(FPGA)。
谷歌之所以敢自己做定制化研發(fā),一方面自然是有錢任性,另一方面也由于谷歌提供的很多服務(wù),包括谷歌圖像搜索(Google ImageSearch)、谷歌照片(Google Photo)、谷歌云視覺 API(Google Cloud Vision API)、谷歌翻譯等產(chǎn)品和服務(wù)都需要用到深度神經(jīng)網(wǎng)絡(luò)?;诠雀枳陨睚嫶蟮捏w量,開發(fā)一種專門的芯片開始具備規(guī)?;瘧?yīng)用(大量分?jǐn)傃邪l(fā)成本)的可能。
假如存在這樣一個(gè)場(chǎng)景,其中人們?cè)?1 天中使用谷歌語音進(jìn)行 3 分鐘搜索,并且我們要在正使用的處理器中為語音識(shí)別系統(tǒng)運(yùn)行深度神經(jīng)網(wǎng)絡(luò),那么我們就不得不翻倍谷歌數(shù)據(jù)中心的數(shù)量。
我們的負(fù)載是用高級(jí)的 TensorFlow 框架編寫的,并是用了生產(chǎn)級(jí)的神經(jīng)網(wǎng)絡(luò)應(yīng)用(多層感知器、卷積神經(jīng)網(wǎng)絡(luò)和 LSTM),這些應(yīng)用占到了我們的數(shù)據(jù)中心的神經(jīng)網(wǎng)絡(luò)推理計(jì)算需求的 95%。
表 1:6 種神經(jīng)網(wǎng)絡(luò)應(yīng)用(每種神經(jīng)網(wǎng)絡(luò)類型各 2 種)占據(jù)了 TPU 負(fù)載的 95%。表中的列依次是各種神經(jīng)網(wǎng)絡(luò)、代碼的行數(shù)、神經(jīng)網(wǎng)絡(luò)中層的類型和數(shù)量(FC 是全連接層、Conv 是卷積層,Vector 是向量層,Pool 是池化層)以及 TPU 在 2016 年 7 月的應(yīng)用普及程度。?
相對(duì)于 CPU 和 GPU 的隨時(shí)間變化的優(yōu)化方法(高速緩存、無序執(zhí)行、多線程、多處理、預(yù)取……),這種 TPU 的確定性的執(zhí)行模型(deterministic execution model)能更好地匹配我們的神經(jīng)網(wǎng)絡(luò)應(yīng)用的 99% 的響應(yīng)時(shí)間需求,因?yàn)?CPU 和 GPU 更多的是幫助對(duì)吞吐量(throughout)進(jìn)行平均,而非確保延遲性能。這些特性的缺失有助于解釋為什么盡管 TPU 有極大的 MAC 和大內(nèi)存,但卻相對(duì)小和低功耗。
TPU 各模塊的框圖。主要計(jì)算部分是右上方的黃色矩陣乘法單元。其輸入是藍(lán)色的「權(quán)重 FIFO」和藍(lán)色的統(tǒng)一緩存(Unified Buffer(UB));輸出是藍(lán)色的累加器(Accumulators(Acc))。黃色的激活(Activation)單元在Acc中執(zhí)行流向UB的非線性函數(shù)。
?
二、大規(guī)模片上內(nèi)存
TPU在芯片上使用了高達(dá)24MB的局部?jī)?nèi)存,6MB的累加器內(nèi)存以及用于與主控處理器進(jìn)行對(duì)接的內(nèi)存,總共占芯片面積的37%(圖中藍(lán)色部分)。
這表示Google充分意識(shí)到片外內(nèi)存訪問是GPU能效比低的罪魁禍?zhǔn)?,因此不惜成本在芯片上放了巨大的?nèi)存。相比之下,Nvidia同時(shí)期的K80只有8MB的片上內(nèi)存,因此需要不斷地去訪問片外DRAM。?
TPU 芯片布局圖。藍(lán)色的數(shù)據(jù)緩存占芯片的 37%。黃色的計(jì)算是 30%。綠色的I/O 是 10%。紅色的控制只有 2%。CPU 或 GPU 中的控制部分則要大很多(并且非常難以設(shè)計(jì))。
三、低精度(8-bit)計(jì)算
TPU的高性能還來源于對(duì)于低運(yùn)算精度的容忍。
研究結(jié)果表明低精度運(yùn)算帶來的算法準(zhǔn)確率損失很小,但是在硬件實(shí)現(xiàn)上卻可以帶來巨大的便利,包括功耗更低速度更快占芯片面積更小的運(yùn)算單元,更小的內(nèi)存帶寬需求等。
這次公布的信息顯示,TPU采用了8-bit的低精度運(yùn)算。也就是說每一步操作TPU將會(huì)需要更少的晶體管。在晶體管總?cè)萘坎蛔兊那闆r下,每單位時(shí)間可以在這些晶體管上運(yùn)行更多的操作,這樣就能夠以更快的速度通過使用更加復(fù)雜與強(qiáng)大的機(jī)器學(xué)習(xí)算法得到更加智能的結(jié)果。
在Google的測(cè)試中,使用64位浮點(diǎn)數(shù)學(xué)運(yùn)算器的18核心運(yùn)行在2.3 GHz的Haswell XeonE5-2699 v3處理器能夠處理每秒1.3 TOPS的運(yùn)算,并提供51GB/秒的內(nèi)存帶寬;Haswell芯片功耗為145瓦,其系統(tǒng)(擁有256 GB內(nèi)存)滿載時(shí)消耗455瓦特。相比之下,TPU使用8位整數(shù)數(shù)學(xué)運(yùn)算器,擁有256GB的主機(jī)內(nèi)存以及32GB的內(nèi)存,能夠?qū)崿F(xiàn)34GB/秒的內(nèi)存帶寬,處理速度高達(dá)92 TOPS ,這比Haswell提升了71倍,此外,TPU服務(wù)器的熱功率只有384瓦。
四、脈動(dòng)式數(shù)據(jù)流
對(duì)于GPU,從存儲(chǔ)器中取指令與數(shù)據(jù)將耗費(fèi)大量的時(shí)間。TPU甚至沒有取命令的動(dòng)作,而是主處理器提供給它當(dāng)前的指令,而TPU根據(jù)目前的指令做相應(yīng)操作,這使得TPU能夠?qū)崿F(xiàn)更高的計(jì)算效率。
在矩陣乘法和卷積運(yùn)算中,許多數(shù)據(jù)是可以復(fù)用的,同一個(gè)數(shù)據(jù)需要和許多不同的權(quán)重相乘并累加以獲得最后結(jié)果。因此,在不同的時(shí)刻,數(shù)據(jù)輸入中往往只有一兩個(gè)新數(shù)據(jù)需要從外面取,其他的數(shù)據(jù)只是上一個(gè)時(shí)刻數(shù)據(jù)的移位。
在這種情況下,把片上內(nèi)存的數(shù)據(jù)全部Flush再去取新的數(shù)據(jù)無疑是非常低效的。根據(jù)這個(gè)計(jì)算特性,TPU加入了脈動(dòng)式數(shù)據(jù)流的支持,每個(gè)時(shí)鐘周期數(shù)據(jù)移位,并取回一個(gè)新數(shù)據(jù)。這樣做可以最大化數(shù)據(jù)復(fù)用,并減小內(nèi)存訪問次數(shù),在降低內(nèi)存帶寬壓力的同時(shí)也減小了內(nèi)存訪問的能量消耗。
五、散熱功能強(qiáng)化
對(duì)于性能來說,限制處理器速度的最大兩個(gè)因素是發(fā)熱與邏輯門的延遲,其中發(fā)熱是限制速度最主要的因素?,F(xiàn)在的處理器大部分使用的是CMOS技術(shù),每一個(gè)時(shí)鐘周期都會(huì)產(chǎn)生能量耗散,所以速度越快,熱量就越大。下面是一張CPU時(shí)鐘頻率與能量消耗的關(guān)系,可以看到,芯片能耗隨運(yùn)算速度變化呈現(xiàn)指數(shù)級(jí)增長(zhǎng)。
TPU在降低功耗的同時(shí),對(duì)于散熱能力也做了進(jìn)一步的優(yōu)化。從TPU的外觀圖可以看出,其中間突出一塊很大的金屬片,這便是為了可以很好地對(duì)TPU高速運(yùn)算是產(chǎn)生大量的熱進(jìn)行耗散。
六、硬件、軟件持續(xù)優(yōu)化
谷歌認(rèn)為現(xiàn)在的TPU仍在硬件和軟件方面存在很大的優(yōu)化空間,比如假定用上了NVIDIA K80 GPU中的GDDR5內(nèi)存,那么TPU就可以發(fā)揮出更好的性能。
此外,谷歌工程師還為TPU開發(fā)了名為CNN1的軟件,其可以讓TPU的運(yùn)行速度比普通CPU高出70多倍!
版權(quán)申明:本文由智慧思特編輯整理,如需轉(zhuǎn)載,可申請(qǐng)授權(quán)。部分圖片來自網(wǎng)絡(luò),侵刪。文章內(nèi)容僅為作者個(gè)人觀點(diǎn),不代表公司立場(chǎng)。
》》》更多精彩文章
·?智慧思特與騰訊達(dá)成合作,共同推進(jìn)智慧城市建設(shè)
·?微軟、百度兩大人工智能首次對(duì)話曝光,亮瞎你雙眼!
·?2天3439個(gè)菜譜,數(shù)據(jù)分析師這樣學(xué)做飯??
·?厲害了word哥,大數(shù)據(jù)扒出來重慶有9640家火鍋??
·?大數(shù)據(jù)分析:“藍(lán)瘦香菇”突然這么火,炒作?炒作!?
·?大數(shù)據(jù)分析:中國(guó)人都喜歡這樣設(shè)密碼,你呢??
·?零基礎(chǔ)入門,資深吃貨帶你搞懂大數(shù)據(jù)?
·?假如中國(guó)代替英國(guó)進(jìn)行“脫歐”公投,結(jié)果會(huì)...?
·?驚!機(jī)器學(xué)習(xí)終結(jié)紅學(xué)研究百年?duì)幎耍?/span>?
·?人臉識(shí)別可以主動(dòng)防御嗎?能,但方法略Low
·?這項(xiàng)新技術(shù),為人工智能和外星人交流提供了可能
閱讀原文:http://mp.weixin.qq.com/s?__biz=MzI4MTA4ODQ0MQ==&mid=2650362150&idx=1&sn=cba67f5e17f99f05fb34be59ac80dc51&scene=0#wechat_redirect