Google 公布TPU細節后,AI 界怎么看?
美國當地時(shí)間 4 月 5 日,Google 終于打破沉寂,發(fā)表官方部落格,詳細介紹 TPU 各方面。 相關(guān)論文更配以彩色 TPU 模塊框圖、TPU 芯片配置圖、TPU 印制電路等,可謂圖文并茂,稱(chēng)其為「設計教程」也不為過(guò)。 不出意料,這之后會(huì )涌現一大批仿效者。
本文引用地址:http://dyxdggzs.com/article/201704/346421.htm論文中還給了 TPU 與其他芯片的效能對比圖,稱(chēng)「TPU 處理速度比目前 GPU 和 CPU 要快 15 到 30 倍」,有人贊嘆 TPU 的驚人效能,但也有人對此種「比較」表示質(zhì)疑,因其拿來(lái)的比較對象并非市場(chǎng)效能最好的。
這篇論文有哪些亮點(diǎn)? 爭議點(diǎn)在哪里? Google 公布 TPU 細節會(huì )對業(yè)界產(chǎn)生什么影響? 本文要解答這幾個(gè)問(wèn)題。
Google 為什么要做 TPU?
這篇論文的主題為:《數據中心的 TPU 效能解析》(In-Datacenter Performance Analysis of a Tensor Processing Unit),共同作者多達 70 人,領(lǐng)銜第一作者是硬件大師 Norman Jouppi。

Jouppi 在接受外媒 Wired 采訪(fǎng)時(shí)說(shuō),Google 一開(kāi)始曾經(jīng)考慮要用 FPGA,但是后來(lái)經(jīng)過(guò)實(shí)驗發(fā)現,這種芯片無(wú)法提供理想的速度。
程序化芯片制造費用太高,我們分析認為,FPGA 芯片并不比 GPU 快。
最終,他們將目光放到 ASIC(專(zhuān)屬集成電路,一旦設計制造完成后電路就固定了,無(wú)法再改變)上,TPU 就是一種 ASIC。 在接受外媒 The Next Platform 采訪(fǎng)時(shí),Jouppi 表示 TPU 可適用現存各種神經(jīng)網(wǎng)絡(luò )模型,從影像辨識的 CNN 到語(yǔ)音識別的 LSTM,都適用。
TPU 跟 CPU 或 GPU 一樣是程序化的。 TPU 不是專(zhuān)為某一個(gè)神經(jīng)網(wǎng)絡(luò )模型設計;TPU 能在多種網(wǎng)絡(luò )(卷積網(wǎng)絡(luò )、LSTM 模型和大規模全聯(lián)機的神經(jīng)網(wǎng)絡(luò )模型)上執行 CISC 指令。
Google 已使用 TPU 兩年,應用在各領(lǐng)域工作,包括:Google 影像搜尋(Google Image Search)、Google 照片(Google Photo)、Google 云視覺(jué) API(Google Cloud Vision API)、Google 翻譯以及 AlphaGo 的圍棋系統中。
TPU 只是一種推理芯片
需要明確說(shuō)明的是:TPU 是一款推理芯片,并不是用做訓練。 根據輝達首席科學(xué)家 William J. Dally 的說(shuō)法,在深度學(xué)習領(lǐng)域,主要有 3 種運算方式:
數據中心的訓練(用于訓練模型,計算機往往需要以較高的精確度運算,一般使用 32 位浮點(diǎn)運算)。
數據中心的推理(在云端進(jìn)行實(shí)時(shí)連續運算,精確度可以適當犧牲,換取更快的速度和更低能耗)。
內嵌式裝置的推理(這類(lèi)應用的核心是低能耗的 ASICs)。
所以 TPU 針對的,就是第二種運算方式:數據中心的推理。 對推理運算而言,重要指針就是快速和低能耗。 在 Google 部落格里,Jouppi 特別強調 TPU 以下效能:
我們產(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~1,500 行。 程序代碼以 TensorFlow 為基礎。
70 多個(gè)作者對這篇文章有貢獻。 很多人參與了設計、證實(shí)、實(shí)施以及配置類(lèi)似這樣的系統軟硬件。
AI 業(yè)界如何看待這篇論文?
亮點(diǎn):特定場(chǎng)域下的高效率
對于 Google TPU 論文里的技術(shù)特點(diǎn),雷鋒網(wǎng)采訪(fǎng)了寒武紀科技 CEO 陳天石,他分別從架構、效能和工程 3 個(gè)角度,分析這篇論文涉及的技術(shù)問(wèn)題。
并不意外,這款芯片仍然沿用傳統的脈動(dòng)數組機架構,也是當今許多深度學(xué)習 DSP 采用的架構。 事實(shí)上,寒武紀團隊成員早期與 Olivier Temam 教授、Paolo Ienne 教授共同發(fā)表于 ISCA2015 的 ShiDianNao 學(xué)術(shù)論文已經(jīng)討論過(guò)這樣的架構,同時(shí) MIT 于 2016 年前后發(fā)表的 Eyeriss 也是類(lèi)似架構。
效能上看,確實(shí)透過(guò)裁剪運算器寬度(8 位定點(diǎn))達到非常高的理論峰值,在大多數卷積作業(yè)效率很好。 但在部分其他類(lèi)別的神經(jīng)網(wǎng)絡(luò )作業(yè)上,效率不是太高。
從工程角度看,Google 透過(guò) TPU 項目對深度學(xué)習硬件加速做出了有益的嘗試,令人敬佩;未來(lái) Google 一定會(huì )持續更新 TPU 架構。 寒武紀商用產(chǎn)品最終并沒(méi)有走脈動(dòng)數組機的技術(shù)路線(xiàn),而是走一條通用智能處理器之路。 我們十分期待未來(lái)繼續與國際工業(yè)界和學(xué)術(shù)界同行同臺競技。
雖然寒武紀與 Google 分別在硬件方面選了不同的商用形態(tài),但是雙方都從彼此身上學(xué)習。 陳天石提到 Google 這篇 TPU 文章,參照了寒武紀團隊成員前期發(fā)表的 6 篇學(xué)術(shù)論文,并有專(zhuān)門(mén)段落回顧一系列學(xué)術(shù)工作。
論文中在提到 DaDianNao / PuDianNao / ShiDianNao 時(shí)還專(zhuān)門(mén)用英文注釋這幾個(gè)名字的含義(Big computer, general computer, vision computer),對我們前期學(xué)術(shù)工作顯示尊重。 非常值得驕傲的是,我們早期與 Olivier Temam 教授共同開(kāi)展的系列開(kāi)拓性學(xué)術(shù)工作,已經(jīng)成為智能芯片領(lǐng)域參考次數最多的論文。 而 Olivier Temam 教授幾年前就已加入 Google。 相信他會(huì )把 DianNao 家族的學(xué)術(shù)思想融入 TPU 后續版本,把 TPU 的事業(yè)繼續推向新高度。
雷鋒網(wǎng)也采訪(fǎng)了深鑒科技 CEO 姚頌,業(yè)界已經(jīng)對 TPU 文章里的設計亮點(diǎn)評論頗豐了,姚頌從另一個(gè)角度看待這個(gè)問(wèn)題,他認為「TPU 的最大亮點(diǎn)其實(shí)是 TPU 這件事本身」。 并列計算有很多種架構,如 GPU、FPGA 等,一個(gè)公司選擇某個(gè)方向有它的深思熟慮。 姚頌認為 Google 做 TPU 這件事情本身,其實(shí)是展現出一種「直接面對應用需求」姿態(tài),根據最終應用來(lái)進(jìn)行「自定義計算」,而他所在的深鑒科技選擇的,也是類(lèi)似 Google 這種「自定義化」發(fā)展型態(tài)。
大家可以很清楚看到 Google 這樣的公司,從最開(kāi)始使用 CPU 這樣的通用芯片,過(guò)渡到 GPU 與 FPGA,再過(guò)渡到專(zhuān)屬的 ASIC,來(lái)面對應用的需求。 沿著(zhù)這一條發(fā)展曲線(xiàn),不斷提高效能和用戶(hù)體驗的同時(shí),也降低整體執行成本。 Google 第一次透過(guò) TPU 這個(gè)終極形態(tài)走完這條發(fā)展路徑,其實(shí)為其他公司指出一條未來(lái)的發(fā)展路徑,這個(gè)意義超出了 TPU 本身設計的高效性。
爭議:論文里 TPU 的比較對象
論文里,TPU 的比較對象是:英特爾 Haswell E5-2699 v3 和輝達 Tesla K80。 有人對比較提出異議,因為 Tesla K80 并不是輝達最強最新的芯片產(chǎn)品。
外國網(wǎng)友 jimmy 表示:
Tesla P4 就比 Tesla K80 的效能高出至少 16 倍。 Google 拿 TPU 與 5 年前的芯片架構相比,有點(diǎn)狡猾。
網(wǎng)友 Szilárd P 則表示,拿 TPU 跟 Pascal Tesla 比較很荒謬。 因為輝達發(fā)表 Pascal Tesla 的時(shí)間是在 2016 年 9 月,但當時(shí) Google 這篇論文是為了第 44 屆 ISCA(國際計算器架構會(huì )議)準備的,論文提交截止日期是 2016 年 11 月,而輝達 Pascal Tesla 正式出貨時(shí)間也要等到 10 月,所以 Google 再重新做實(shí)驗測試,是不太實(shí)際的。 但他同時(shí)也表示:
Google 不拿 Maxwell M4/M40 來(lái)比較,有點(diǎn)說(shuō)不過(guò)去。 因為 GM20x 也是 28nm,而且比 K80 效能更強。
針對這一點(diǎn),陳天石認為如果純粹考慮技術(shù)因素,這種比較是否公平要看從什么角度看:
Google TPU 采用的脈動(dòng)數組機架構,在處理卷積的效率上確有其優(yōu)勢,在效能功耗比方面會(huì )顯著(zhù)勝過(guò) GPU。 同時(shí) TPU 是 2016 年以前的產(chǎn)品,與同期 K80 相比,其實(shí)不算太不公平。 但若僅考慮技術(shù)因素,TPU 使用 8 位運算器,相比之下強調高精度浮點(diǎn)運算的傳統 GPU 會(huì )吃虧。
姚頌則從另一個(gè)方面對這種「比較」進(jìn)行解讀,他認為這或許是 Google 一種「韜光養晦」的策略。 他表示 Google 通常有了新一代的技術(shù)才會(huì )公開(kāi)上一代技術(shù),論文的比較對象沒(méi)有采用最新 GPU 芯片,并不是 Google 有意取巧。
其實(shí) TPU 的設計大概 4 年前就開(kāi)始了,上線(xiàn)實(shí)用也有一段時(shí)間,在那個(gè)時(shí)間點(diǎn),其實(shí)還沒(méi)有出現 Tesla M40 這樣的 GPU,也沒(méi)有出現最新的 Tesla P40 這樣 Pascal 架構的 GPU。
對外:于業(yè)界會(huì )有什么影響? 會(huì )有很多人開(kāi)始仿效制造嗎?
Google 以論文形式,圖文并茂地將 TPU 的架構、核心部件都說(shuō)明得清清楚楚,那么會(huì )不會(huì )有后來(lái)者群起仿效呢? 對于這一點(diǎn),姚頌表示,Google 公布的技術(shù)雖然通常不是其最新的研究進(jìn)展,但也往往非常先進(jìn)和新穎,肯定會(huì )有人仿效,但仿效的話(huà),也只會(huì )把自己的起點(diǎn)放在 Google 4 年前的起點(diǎn)罷了。
我想一定會(huì )有很多人追著(zhù) TPU 的思路設計自己的深度學(xué)習芯片,因為 TPU 已經(jīng)批量在實(shí)際業(yè)務(wù)中應用并展示威力。 但是其實(shí),TPU 是 4 年前開(kāi)始研發(fā)的項目,仿效只會(huì )把自己的起點(diǎn)放在別人 4 年前的起點(diǎn)。 當你做出仿效的產(chǎn)品,很可能 Google 第 3 代 TPU 都已經(jīng)出來(lái)了。 并且,TPU 強大的地方不完全在芯片,而是結合 TensorFlow 的軟件生態(tài),這使開(kāi)發(fā)更為簡(jiǎn)單──這一點(diǎn)就無(wú)法效仿。
業(yè)界領(lǐng)先的公司要更看向未來(lái),比如在 TPU 論文中提到「Sparsity will have priority in future designs」,比如 TPU 的硬件與軟件生態(tài)一起做,那么,如何高效支持稀疏性,如何提供讓用戶(hù)簡(jiǎn)單得到稀疏化神經(jīng)網(wǎng)絡(luò )的軟件工具,其實(shí)更為重要,這其實(shí)也是我們一直在做的。 像我們與搜狗合作的語(yǔ)音識別加速,就是沿著(zhù) Sparsity 這條路線(xiàn)更進(jìn)一步,而本次 TPU 論文也參照了 3 篇深鑒團隊以往論文為未來(lái)發(fā)展的參照。
而陳天石從架構角度給了另一個(gè)看法,他認為與 TPU 類(lèi)似的方案之前已經(jīng)存在了。
TPU 在架構面走一條保守但穩健的道路。 TPU 架構正式公開(kāi)前,學(xué)術(shù)界其實(shí)已有一些類(lèi)似的方案(將脈動(dòng)數組機用于處理深度學(xué)習)。 脈動(dòng)數組架構本身是傳統技術(shù),早在 1980 年代初,中科院計算所的夏培肅院士和李國杰院士就曾將脈動(dòng)數組架構用于石油勘探。 將其用于深度學(xué)習,其實(shí)是近年來(lái) DSP 和硬件加速領(lǐng)域的舊瓶裝新酒。
總結
從這篇論文里,Google 的 TPU 細節一覽無(wú)遺,然而 TPU 是為了 TensorFlow 自定義的,對一些 AI 芯片廠(chǎng)商來(lái)說(shuō),或許能從這篇論文里獲得一些靈感,但一味仿效可能得不償失。
TPU 并不是全能,只是用于數據中心的推理階段。 深度學(xué)習模型的前期訓練,也還是要依靠高精確度的 GPU。 而且 TPU 通用性差,Google 也曾在多種場(chǎng)合表示不會(huì )販賣(mài) TPU。 所以對于輝達一類(lèi)的通用芯片廠(chǎng)商來(lái)說(shuō),并沒(méi)有直接的競爭威脅。 然而,Google 帶頭追求特定領(lǐng)域應用的極致效率,對很多走自定義化路線(xiàn)的 AI 芯片廠(chǎng)商來(lái)說(shuō),是莫大的鼓舞。
陳天石和姚頌兩位 CEO 各自帶領(lǐng)的 AI 芯片公司,在進(jìn)行不同種類(lèi)的 AI 芯片研發(fā)和商用工作,寒武紀科技偏通用,深鑒科技偏工業(yè)自定義。 兩位 CEO 也都彼此惺惺相惜,就像陳天石曾對姚頌說(shuō)的那樣,這個(gè)市場(chǎng)需要多種芯片,有偏通用,也有更專(zhuān)屬更注重特定領(lǐng)域,共同進(jìn)步的同時(shí)未來(lái)也一定有機會(huì )合作。
如今 AI 芯片產(chǎn)業(yè)處在一個(gè)「大航海時(shí)代」,真正的寶藏,需要更多人開(kāi)拓。
評論