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