新聞中心

EEPW首頁 > 業(yè)界動態(tài) > Google 公布TPU細(xì)節(jié)后,AI 界怎么看?

Google 公布TPU細(xì)節(jié)后,AI 界怎么看?

作者: 時間:2017-04-11 來源:雷鋒網(wǎng) 收藏
編者按:從這篇論文里,Google 的 TPU 細(xì)節(jié)一覽無遺,然而 TPU 是為了 TensorFlow 自定義的,對一些 AI 芯片廠商來說,或許能從這篇論文里獲得一些靈感,但一味仿效可能得不償失。

  美國當(dāng)?shù)貢r間 4 月 5 日, 終于打破沉寂,發(fā)表官方部落格,詳細(xì)介紹 各方面。 相關(guān)論文更配以彩色 模塊框圖、 芯片配置圖、TPU 印制電路等,可謂圖文并茂,稱其為「設(shè)計教程」也不為過。 不出意料,這之后會涌現(xiàn)一大批仿效者。

本文引用地址:http://butianyuan.cn/article/201704/346421.htm

  論文中還給了 TPU 與其他芯片的效能對比圖,稱「TPU 處理速度比目前 GPU 和 CPU 要快 15 到 30 倍」,有人贊嘆 TPU 的驚人效能,但也有人對此種「比較」表示質(zhì)疑,因其拿來的比較對象并非市場效能最好的。

  這篇論文有哪些亮點? 爭議點在哪里? 公布 TPU 細(xì)節(jié)會對業(yè)界產(chǎn)生什么影響? 本文要解答這幾個問題。

  為什么要做 TPU?

  這篇論文的主題為:《數(shù)據(jù)中心的 TPU 效能解析》(In-Datacenter Performance Analysis of a Tensor Processing Unit),共同作者多達(dá) 70 人,領(lǐng)銜第一作者是硬件大師 Norman Jouppi。



  Jouppi 在接受外媒 Wired 采訪時說,Google 一開始曾經(jīng)考慮要用 FPGA,但是后來經(jīng)過實驗發(fā)現(xiàn),這種芯片無法提供理想的速度。

  程序化芯片制造費用太高,我們分析認(rèn)為,F(xiàn)PGA 芯片并不比 GPU 快。

  最終,他們將目光放到 ASIC(專屬集成電路,一旦設(shè)計制造完成后電路就固定了,無法再改變)上,TPU 就是一種 ASIC。 在接受外媒 The Next Platform 采訪時,Jouppi 表示 TPU 可適用現(xiàn)存各種神經(jīng)網(wǎng)絡(luò)模型,從影像辨識的 CNN 到語音識別的 LSTM,都適用。

  TPU 跟 CPU 或 GPU 一樣是程序化的。 TPU 不是專為某一個神經(jīng)網(wǎng)絡(luò)模型設(shè)計;TPU 能在多種網(wǎng)絡(luò)(卷積網(wǎng)絡(luò)、LSTM 模型和大規(guī)模全聯(lián)機的神經(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 種運算方式:

  數(shù)據(jù)中心的訓(xùn)練(用于訓(xùn)練模型,計算機往往需要以較高的精確度運算,一般使用 32 位浮點運算)。

  數(shù)據(jù)中心的推理(在云端進行實時連續(xù)運算,精確度可以適當(dāng)犧牲,換取更快的速度和更低能耗)。

  內(nèi)嵌式裝置的推理(這類應(yīng)用的核心是低能耗的 ASICs)。

  所以 TPU 針對的,就是第二種運算方式:數(shù)據(jù)中心的推理。 對推理運算而言,重要指針就是快速和低能耗。 在 Google 部落格里,Jouppi 特別強調(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ū)動這些應(yīng)用神經(jīng)網(wǎng)絡(luò)只要求少量程序代碼,少得驚人:僅 100~1,500 行。 程序代碼以 TensorFlow 為基礎(chǔ)。

  70 多個作者對這篇文章有貢獻(xiàn)。 很多人參與了設(shè)計、證實、實施以及配置類似這樣的系統(tǒng)軟硬件。

  AI 業(yè)界如何看待這篇論文?

  亮點:特定場域下的高效率

  對于 Google TPU 論文里的技術(shù)特點,雷鋒網(wǎng)采訪了寒武紀(jì)科技 CEO 陳天石,他分別從架構(gòu)、效能和工程 3 個角度,分析這篇論文涉及的技術(shù)問題。

  并不意外,這款芯片仍然沿用傳統(tǒng)的脈動數(shù)組機架構(gòu),也是當(dāng)今許多深度學(xué)習(xí) DSP 采用的架構(gòu)。 事實上,寒武紀(jì)團隊成員早期與 Olivier Temam 教授、Paolo Ienne 教授共同發(fā)表于 ISCA2015 的 ShiDianNao 學(xué)術(shù)論文已經(jīng)討論過這樣的架構(gòu),同時 MIT 于 2016 年前后發(fā)表的 Eyeriss 也是類似架構(gòu)。

  效能上看,確實透過裁剪運算器寬度(8 位定點)達(dá)到非常高的理論峰值,在大多數(shù)卷積作業(yè)效率很好。 但在部分其他類別的神經(jīng)網(wǎng)絡(luò)作業(yè)上,效率不是太高。

  從工程角度看,Google 透過 TPU 項目對深度學(xué)習(xí)硬件加速做出了有益的嘗試,令人敬佩;未來 Google 一定會持續(xù)更新 TPU 架構(gòu)。 寒武紀(jì)商用產(chǎn)品最終并沒有走脈動數(shù)組機的技術(shù)路線,而是走一條通用智能處理器之路。 我們十分期待未來繼續(xù)與國際工業(yè)界和學(xué)術(shù)界同行同臺競技。

  雖然寒武紀(jì)與 Google 分別在硬件方面選了不同的商用形態(tài),但是雙方都從彼此身上學(xué)習(xí)。 陳天石提到 Google 這篇 TPU 文章,參照了寒武紀(jì)團隊成員前期發(fā)表的 6 篇學(xué)術(shù)論文,并有專門段落回顧一系列學(xué)術(shù)工作。

  論文中在提到 DaDianNao / PuDianNao / ShiDianNao 時還專門用英文注釋這幾個名字的含義(Big computer, general computer, vision computer),對我們前期學(xué)術(shù)工作顯示尊重。 非常值得驕傲的是,我們早期與 Olivier Temam 教授共同開展的系列開拓性學(xué)術(shù)工作,已經(jīng)成為智能芯片領(lǐng)域參考次數(shù)最多的論文。 而 Olivier Temam 教授幾年前就已加入 Google。 相信他會把 DianNao 家族的學(xué)術(shù)思想融入 TPU 后續(xù)版本,把 TPU 的事業(yè)繼續(xù)推向新高度。

  雷鋒網(wǎng)也采訪了深鑒科技 CEO 姚頌,業(yè)界已經(jīng)對 TPU 文章里的設(shè)計亮點評論頗豐了,姚頌從另一個角度看待這個問題,他認(rèn)為「TPU 的最大亮點其實是 TPU 這件事本身」。 并列計算有很多種架構(gòu),如 GPU、FPGA 等,一個公司選擇某個方向有它的深思熟慮。 姚頌認(rèn)為 Google 做 TPU 這件事情本身,其實是展現(xiàn)出一種「直接面對應(yīng)用需求」姿態(tài),根據(jù)最終應(yīng)用來進行「自定義計算」,而他所在的深鑒科技選擇的,也是類似 Google 這種「自定義化」發(fā)展型態(tài)。

  大家可以很清楚看到 Google 這樣的公司,從最開始使用 CPU 這樣的通用芯片,過渡到 GPU 與 FPGA,再過渡到專屬的 ASIC,來面對應(yīng)用的需求。 沿著這一條發(fā)展曲線,不斷提高效能和用戶體驗的同時,也降低整體執(zhí)行成本。 Google 第一次透過 TPU 這個終極形態(tài)走完這條發(fā)展路徑,其實為其他公司指出一條未來的發(fā)展路徑,這個意義超出了 TPU 本身設(shè)計的高效性。

  爭議:論文里 TPU 的比較對象

  論文里,TPU 的比較對象是:英特爾 Haswell E5-2699 v3 和輝達(dá) Tesla K80。 有人對比較提出異議,因為 Tesla K80 并不是輝達(dá)最強最新的芯片產(chǎn)品。

  外國網(wǎng)友 jimmy 表示:

  Tesla P4 就比 Tesla K80 的效能高出至少 16 倍。 Google 拿 TPU 與 5 年前的芯片架構(gòu)相比,有點狡猾。

  網(wǎng)友 Szilárd P 則表示,拿 TPU 跟 Pascal Tesla 比較很荒謬。 因為輝達(dá)發(fā)表 Pascal Tesla 的時間是在 2016 年 9 月,但當(dāng)時 Google 這篇論文是為了第 44 屆 ISCA(國際計算器架構(gòu)會議)準(zhǔn)備的,論文提交截止日期是 2016 年 11 月,而輝達(dá) Pascal Tesla 正式出貨時間也要等到 10 月,所以 Google 再重新做實驗測試,是不太實際的。 但他同時也表示:

  Google 不拿 Maxwell M4/M40 來比較,有點說不過去。 因為 GM20x 也是 28nm,而且比 K80 效能更強。

  針對這一點,陳天石認(rèn)為如果純粹考慮技術(shù)因素,這種比較是否公平要看從什么角度看:

  Google TPU 采用的脈動數(shù)組機架構(gòu),在處理卷積的效率上確有其優(yōu)勢,在效能功耗比方面會顯著勝過 GPU。 同時 TPU 是 2016 年以前的產(chǎn)品,與同期 K80 相比,其實不算太不公平。 但若僅考慮技術(shù)因素,TPU 使用 8 位運算器,相比之下強調(diào)高精度浮點運算的傳統(tǒng) GPU 會吃虧。

  姚頌則從另一個方面對這種「比較」進行解讀,他認(rèn)為這或許是 Google 一種「韜光養(yǎng)晦」的策略。 他表示 Google 通常有了新一代的技術(shù)才會公開上一代技術(shù),論文的比較對象沒有采用最新 GPU 芯片,并不是 Google 有意取巧。

  其實 TPU 的設(shè)計大概 4 年前就開始了,上線實用也有一段時間,在那個時間點,其實還沒有出現(xiàn) Tesla M40 這樣的 GPU,也沒有出現(xiàn)最新的 Tesla P40 這樣 Pascal 架構(gòu)的 GPU。

  對外:于業(yè)界會有什么影響? 會有很多人開始仿效制造嗎?

  Google 以論文形式,圖文并茂地將 TPU 的架構(gòu)、核心部件都說明得清清楚楚,那么會不會有后來者群起仿效呢? 對于這一點,姚頌表示,Google 公布的技術(shù)雖然通常不是其最新的研究進展,但也往往非常先進和新穎,肯定會有人仿效,但仿效的話,也只會把自己的起點放在 Google 4 年前的起點罷了。

  我想一定會有很多人追著 TPU 的思路設(shè)計自己的深度學(xué)習(xí)芯片,因為 TPU 已經(jīng)批量在實際業(yè)務(wù)中應(yīng)用并展示威力。 但是其實,TPU 是 4 年前開始研發(fā)的項目,仿效只會把自己的起點放在別人 4 年前的起點。 當(dāng)你做出仿效的產(chǎn)品,很可能 Google 第 3 代 TPU 都已經(jīng)出來了。 并且,TPU 強大的地方不完全在芯片,而是結(jié)合 TensorFlow 的軟件生態(tài),這使開發(fā)更為簡單──這一點就無法效仿。

  業(yè)界領(lǐng)先的公司要更看向未來,比如在 TPU 論文中提到「Sparsity will have priority in future designs」,比如 TPU 的硬件與軟件生態(tài)一起做,那么,如何高效支持稀疏性,如何提供讓用戶簡單得到稀疏化神經(jīng)網(wǎng)絡(luò)的軟件工具,其實更為重要,這其實也是我們一直在做的。 像我們與搜狗合作的語音識別加速,就是沿著 Sparsity 這條路線更進一步,而本次 TPU 論文也參照了 3 篇深鑒團隊以往論文為未來發(fā)展的參照。

  而陳天石從架構(gòu)角度給了另一個看法,他認(rèn)為與 TPU 類似的方案之前已經(jīng)存在了。

  TPU 在架構(gòu)面走一條保守但穩(wěn)健的道路。 TPU 架構(gòu)正式公開前,學(xué)術(shù)界其實已有一些類似的方案(將脈動數(shù)組機用于處理深度學(xué)習(xí))。 脈動數(shù)組架構(gòu)本身是傳統(tǒng)技術(shù),早在 1980 年代初,中科院計算所的夏培肅院士和李國杰院士就曾將脈動數(shù)組架構(gòu)用于石油勘探。 將其用于深度學(xué)習(xí),其實是近年來 DSP 和硬件加速領(lǐng)域的舊瓶裝新酒。

  總結(jié)

  從這篇論文里,Google 的 TPU 細(xì)節(jié)一覽無遺,然而 TPU 是為了 TensorFlow 自定義的,對一些 AI 芯片廠商來說,或許能從這篇論文里獲得一些靈感,但一味仿效可能得不償失。

  TPU 并不是全能,只是用于數(shù)據(jù)中心的推理階段。 深度學(xué)習(xí)模型的前期訓(xùn)練,也還是要依靠高精確度的 GPU。 而且 TPU 通用性差,Google 也曾在多種場合表示不會販賣 TPU。 所以對于輝達(dá)一類的通用芯片廠商來說,并沒有直接的競爭威脅。 然而,Google 帶頭追求特定領(lǐng)域應(yīng)用的極致效率,對很多走自定義化路線的 AI 芯片廠商來說,是莫大的鼓舞。

  陳天石和姚頌兩位 CEO 各自帶領(lǐng)的 AI 芯片公司,在進行不同種類的 AI 芯片研發(fā)和商用工作,寒武紀(jì)科技偏通用,深鑒科技偏工業(yè)自定義。 兩位 CEO 也都彼此惺惺相惜,就像陳天石曾對姚頌說的那樣,這個市場需要多種芯片,有偏通用,也有更專屬更注重特定領(lǐng)域,共同進步的同時未來也一定有機會合作。

  如今 AI 芯片產(chǎn)業(yè)處在一個「大航海時代」,真正的寶藏,需要更多人開拓。



關(guān)鍵詞: Google TPU

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉