本文作者:亞萌
按:我們對(duì)于谷歌的TPU并不陌生,正是它支撐了AlphaGo強(qiáng)大快速的運(yùn)算力,但谷歌一直未曾披露其細(xì)節(jié),使得TPU一直保有神秘感。
美國(guó)當(dāng)?shù)貢r(shí)間4月5日,谷歌終于打破了沉寂,發(fā)表官方博客,詳細(xì)介紹了TPU的方方面面。相關(guān)論文更是配以彩色的TPU模塊框圖、TPU芯片布局圖、TPU印制電路......等等,可謂圖文并茂,稱其為“設(shè)計(jì)教程”也不為過(guò)。不出意料,這之后將會(huì)涌現(xiàn)一大批仿效者。
論文中還給出TPU與其它芯片的性能對(duì)比圖,稱“TPU處理速度比當(dāng)前GPU和CPU要快15到30倍”,有人贊嘆TPU的驚人性能,但也有人對(duì)此種“比較”表示質(zhì)疑,因其拿來(lái)的比較對(duì)象并非市場(chǎng)里性能最好的。
這篇論文有哪些亮點(diǎn)?爭(zhēng)議點(diǎn)在哪里?谷歌公布TPU細(xì)節(jié)會(huì)對(duì)業(yè)界產(chǎn)生什么影響?本文要解答這幾個(gè)問(wèn)題。
谷歌為什么要造TPU?
這篇論文的題目為:《數(shù)據(jù)中心的TPU性能分析》(In-Datacenter Performance Analysis of a Tensor Processing Unit),共同作者多達(dá)70人,領(lǐng)銜的第一作者是硬件大牛Norman Jouppi。
Jouppi在接受外媒Wired采訪時(shí)說(shuō),谷歌一開(kāi)始曾經(jīng)考慮要用FPGA,但是后來(lái)經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),這種芯片無(wú)法提供理想中的速度。
“可編程芯片制造費(fèi)用太高,我們的分析認(rèn)為,F(xiàn)PGA芯片并不比GPU跑得快。”
最終,他們將目光放到ASIC(專(zhuān)用集成電路,一旦設(shè)計(jì)制造完成后電路就固定了,無(wú)法再改變)上,TPU就是一種ASIC。在接受外媒The Next Platform采訪時(shí),Jouppi表示TPU可以適用于現(xiàn)存的各種神經(jīng)網(wǎng)絡(luò)模型,從圖像識(shí)別的CNN到語(yǔ)音識(shí)別的LSTM,都適用。
“TPU跟CPU或GPU一樣是可編程的。TPU 不是專(zhuān)為某一個(gè)神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)的;TPU 能在多種網(wǎng)絡(luò)(卷積網(wǎng)絡(luò)、LSTM模型和大規(guī)模全連接的神經(jīng)網(wǎng)絡(luò)模型)上執(zhí)行CISC 指令。”
谷歌已經(jīng)使用TPU已經(jīng)兩年時(shí)間,將其應(yīng)用在各種領(lǐng)域的任務(wù)里,包括:谷歌圖像搜索(Google Image Search)、谷歌照片(Google Photo)、谷歌云視覺(jué)API(Google Cloud Vision API)、谷歌翻譯以及AlphaGo的圍棋系統(tǒng)中。
TPU只是一種推理芯片
需要明確的一點(diǎn)是:TPU 是一款推理芯片,并不是用作訓(xùn)練。根據(jù)英偉達(dá)首席科學(xué)家 William J. Dally 的說(shuō)法,在深度學(xué)習(xí)領(lǐng)域,主要有三種運(yùn)算方式:
數(shù)據(jù)中心的訓(xùn)練(用于訓(xùn)練模型,計(jì)算機(jī)往往需要以較高的精確度運(yùn)算,一般使用32位浮點(diǎn)運(yùn)算)
數(shù)據(jù)中心的推理(在云端進(jìn)行實(shí)時(shí)連續(xù)運(yùn)算,精確度可以適當(dāng)犧牲,換取更快的速度和更低的能耗)
嵌入式設(shè)備的推理(這類(lèi)應(yīng)用的核心是低能耗的 ASICs)
所以TPU針對(duì)的,就是第二種運(yùn)算方式:數(shù)據(jù)中心的推理。而對(duì)于推理運(yùn)算而言,重要的指標(biāo)就是快速和低能耗。在谷歌博客里,Jouppi突出強(qiáng)調(diào)了TPU以下性能:
我們產(chǎn)品的人工智能負(fù)載,主要利用神經(jīng)網(wǎng)絡(luò)的推理功能,其 TPU 處理速度比當(dāng)前 GPU 和 CPU 要快15到30倍。
較之傳統(tǒng)芯片,TPU 也更加節(jié)能,功耗效率(TOPS/Watt)上提升了30到80倍。
驅(qū)動(dòng)這些應(yīng)用的神經(jīng)網(wǎng)絡(luò)只要求少量的代碼,少的驚人:僅100到 1500 行。代碼以 TensorFlow 為基矗
70 多個(gè)作者對(duì)這篇文章有貢獻(xiàn)。很多人參與了設(shè)計(jì)、證實(shí)、實(shí)施以及布局類(lèi)似這樣的系統(tǒng)軟硬件。
AI業(yè)界如何看待這篇論文?
亮點(diǎn):特定場(chǎng)景下的高效率
對(duì)于谷歌TPU論文里的技術(shù)特點(diǎn),雷鋒網(wǎng)采訪了寒武紀(jì)科技CEO陳天石,他分別從架構(gòu)、性能和工程三個(gè)角度,分析了這篇論文涉及的技術(shù)問(wèn)題。
“并不意外,這款芯片仍然沿用了傳統(tǒng)的脈動(dòng)陣列機(jī)架構(gòu),也是當(dāng)今許多面向深度學(xué)習(xí)的DSP所采用的的架構(gòu)。事實(shí)上,寒武紀(jì)團(tuán)隊(duì)成員早期與Olivier Temam教授、Paolo Ienne教授共同發(fā)表于ISCA2015的ShiDianNao學(xué)術(shù)論文就已經(jīng)討論過(guò)這樣的架構(gòu),同時(shí)MIT于2016年前后發(fā)表的Eyeriss也是類(lèi)似的架構(gòu)。