雷鋒網按:我們對於穀歌的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晶片產業處在一個“大航海時代”,真正的寶藏,需要更多的人去開拓。