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