從谷歌的TPU開始,做一個不過度解讀的人

責(zé)任編輯:editor004

作者:黃鑫

2017-04-13 11:41:06

摘自:雷鋒網(wǎng)

距離Google發(fā)布TPU也有一個星期了,掐指一算,國內(nèi)眾媒體和大眾的解讀的熱情也差不多該降下來了。當(dāng)摩爾定律指出的硬件發(fā)展規(guī)律慢慢開始表現(xiàn)出瓶頸,開始有人嘗試使用一些不那么主流的架構(gòu),或者研發(fā)一些新的架構(gòu)。

距離Google發(fā)布TPU也有一個星期了,掐指一算,國內(nèi)眾媒體和大眾的解讀的熱情也差不多該降下來了。我想在這里說點(diǎn)大家可能不愿意聽的。

噢,我當(dāng)然不是說這次發(fā)布沒有意義,雖然TPU已經(jīng)是一個開展了數(shù)年,甚至也實(shí)用了一兩年了的項(xiàng)目,包括雷鋒網(wǎng)在內(nèi)的媒體在之前進(jìn)行過無數(shù)次的報(bào)道了。但在這之前并沒有多少人能了解它的具體結(jié)構(gòu)和細(xì)節(jié)指標(biāo)。大家對它的看法多數(shù)還是停留在猜想中。這次谷歌公布了許多非常詳細(xì)的技術(shù)指標(biāo),確實(shí)能讓許多對TPU有好奇心的人一飽眼福。

但要說再往深一層里解讀,我實(shí)在是覺得沒有必要。大家都知道我國語文教育的一大特點(diǎn)就是喜歡讓我們解讀文章背后的意思,有時候我禁不住會懷疑,是不是正因?yàn)楫?dāng)初語文學(xué)得好的那一批人長大后很多真正從事了與寫作有關(guān)的行業(yè),才導(dǎo)致一旦有比芝麻稍微大一點(diǎn)的事發(fā)生,各種解讀文就如雨后春筍般冒了出來,是閱讀理解做習(xí)慣了?好吧,老實(shí)說,這個地圖炮開的我自己也覺得很沒有意思,實(shí)在是因?yàn)槲铱吹接行┟襟w一如既往的秉持小事化大,大事化炸的風(fēng)格。尤其是一篇公眾號的文章說谷歌在TPU的對外宣傳上吹的“天花亂墜”,并由此直線上升到批判西方一向善于“炒作一些概念”,讓我感覺到有些話不吐不快:谷歌畢竟就只是發(fā)了一篇描述一個數(shù)年前就開始的項(xiàng)目的內(nèi)部結(jié)構(gòu)和一些性能參數(shù)的論文和一篇提煉了其中一些內(nèi)容的博文而已啊。要說吹的天花亂墜,恐怕國內(nèi)外的某些媒體同行的功勞更大一些吧。

沒錯,這次發(fā)布確實(shí)可以算是件大事,但硬要說它對AI的未來有什么意義,會對現(xiàn)在的運(yùn)算芯片市場有什么影響,體現(xiàn)了Google什么什么方面的實(shí)力……真不一定有必要。很大程度上,這些略顯強(qiáng)行的解讀并沒有什么意義。這個被谷歌“吹”的“天花亂墜”的“概念”,只不過是市場發(fā)展一個很自然的產(chǎn)物罷了。

TPU的架構(gòu)是不是以前就有?

是的,TPU采用的脈動陣列處理結(jié)構(gòu)最早由美籍華人計(jì)算機(jī)科學(xué)家孔祥重(H.T.Kung)和澳大利亞計(jì)算機(jī)科學(xué)家及數(shù)學(xué)家Richard P. Brent提出,它與現(xiàn)在流行的SIMD結(jié)構(gòu)(單指令多數(shù)據(jù)流)結(jié)構(gòu)有相似之處,但又有著明顯的區(qū)別。簡單解釋一下的話,就是在脈動陣列處理結(jié)構(gòu)下,數(shù)據(jù)向負(fù)責(zé)處理的運(yùn)算陣列(運(yùn)算陣列中有許多個獨(dú)立的運(yùn)算單元)傳遞和處理的方式是有嚴(yán)格的流程規(guī)定的,以確保能將所有芯片的處理能力最大限度的發(fā)揮出來,在這種計(jì)算方式中,需要運(yùn)算的數(shù)字就像流水一樣井然有序的“流”進(jìn)每個處理器中,并得到這些處理器的同時處理。當(dāng)全部的數(shù)字都“流”進(jìn)去的時候,計(jì)算也就在同時完成了。這樣精細(xì)安排結(jié)構(gòu)的代價就是其通用性受到了限制。80年代初,中科院的前輩們就曾將這種架構(gòu)的計(jì)算設(shè)備用在石油勘探上過。

從谷歌的TPU開始,做一個不過度解讀的人

(如果你有一定線性代數(shù)基礎(chǔ)的話,應(yīng)該可以理解,上面就是脈動陣列處理機(jī)在進(jìn)行矩陣乘法運(yùn)算時的過程,舉個例子,其中的a11每次向右移一格,剛好依次與自己在同一格相遇的b11、b12、b13相乘,而b11則是每次向下一格,剛好依次與a11、a21、a31相乘,以此類推)

這個架構(gòu)在今天的日常生活中并不多見。相比之下通用性更好的SIMD成為了今天的主流。而通用性或許是SIMD勝出很關(guān)鍵的一個原因,畢竟相對于在某個領(lǐng)域的速度快點(diǎn),更多人需要的是一種通用的能滿足他們各種需求的計(jì)算設(shè)備,你不可能要求每個人要用電腦來做什么事之前先根據(jù)自己的需求把電路的結(jié)構(gòu)優(yōu)化一下。

不過當(dāng)今的世界對于計(jì)算能力的需求其實(shí)處于一個很矛盾的狀態(tài)。通用平臺早就已經(jīng)能滿足大部分人的需求,以至于像做手機(jī)這樣的事都慢慢被大家戲稱為搭積木——SOC已經(jīng)給手機(jī)需要的絕大多數(shù)運(yùn)算量提供了一個很好的解決方案,而且這個運(yùn)算量也已經(jīng)慢慢超出了大眾使用的需求,更不用說電腦了。但是在另一方面,在一些科研的前沿領(lǐng)域,比如深度學(xué)習(xí)。計(jì)算量卻一直顯得捉襟見肘,訓(xùn)練一個深度學(xué)習(xí)算法動輒需要幾周甚至幾個月。當(dāng)摩爾定律指出的硬件發(fā)展規(guī)律慢慢開始表現(xiàn)出瓶頸,開始有人嘗試使用一些不那么主流的架構(gòu),或者研發(fā)一些新的架構(gòu)。TPU就屬于找到了一些以前的架構(gòu),并嘗試能不能利用現(xiàn)在的技術(shù)將它的優(yōu)勢更好的發(fā)揮出來。

在TPU這件事上,谷歌高調(diào)嗎?

谷歌一點(diǎn)也不高調(diào),而且這種不高調(diào)簡直是全方位的不高調(diào)。首先,TPU不賣,至少谷歌已經(jīng)在很多場合公開表示過TPU不會進(jìn)入市場售賣,雷鋒網(wǎng)也對此進(jìn)行過報(bào)道。也就是說谷歌完全沒有必要像英特爾或者英偉達(dá)那樣費(fèi)勁吆喝自己的產(chǎn)品,好博取更大的市場份額。從谷歌自己的表述來看,它之所以設(shè)計(jì)這么一個專用的芯片,是因?yàn)樽约旱脑絹碓蕉嗟漠a(chǎn)品開始使用非常復(fù)雜的深度學(xué)習(xí)模型,從而產(chǎn)生了真真切切的提升計(jì)算能力的需求。這也是谷歌同英特爾和英偉達(dá)這兩家同樣為人工智能設(shè)計(jì)了芯片的公司的不同之處:后者是看到了市場上這樣的需求,于是自己針對這種需求設(shè)計(jì)了好產(chǎn)品,以期獲得更好的銷量,而谷歌是自己就有這種需求。所以設(shè)計(jì)了一個產(chǎn)品來滿足它。出發(fā)點(diǎn)是滿足自己的需求,也同樣意味著沒有必要向市場太過高調(diào)的宣傳自己的產(chǎn)品。

事實(shí)上谷歌對TPU這件事也確實(shí)一直比較低調(diào),包括這次的發(fā)布,基本也只是在博客上說了一下性能相對于以前硬件的優(yōu)勢,發(fā)了一篇中規(guī)中矩的論文,不像英特爾和英偉達(dá)的新產(chǎn)品通常還要開個發(fā)布會,更何況這也不是新產(chǎn)品,而是谷歌內(nèi)部已經(jīng)使用了幾年的芯片。谷歌甚至還在論文里說:現(xiàn)在在計(jì)算機(jī)對新架構(gòu)的嘗試實(shí)在是比較少,因此希望TPU的發(fā)布能給后來者以啟示,在此基礎(chǔ)上做出更成功的繼任產(chǎn)品。也就是說谷歌都不介意其他廠商模仿自己的產(chǎn)品,只要對計(jì)算平臺的整體水平有所促進(jìn)就行。這樣的行為,我實(shí)在是沒法將其與“天花亂墜的炒作概念”聯(lián)系起來。也沒有感覺到有什么往市場或者人工智能發(fā)展方面進(jìn)行“深度解讀”的必要性。

從谷歌的TPU開始,做一個不過度解讀的人

  谷歌真的在論文里說,“我希望我們的后繼者能造出比我們更強(qiáng)的產(chǎn)品”

如果說非要針對TPU說出個一二三,那我們到底應(yīng)該怎么看待它?

前面說過了,TPU不賣,如果谷歌不反悔的話,這就意味著我們除非自己進(jìn)了谷歌,想用上TPU只能寄希望于谷歌的云服務(wù)能開放我們對TPU的使用權(quán)限了,這首先是說,TPU不太可能會成為英特爾和英偉達(dá)產(chǎn)品的直接競爭對手。但就算TPU進(jìn)入了市場,仍然有許多其他的因素會影響它的最終成績。

前兩天TPU的發(fā)布還讓黃仁勛親自出來發(fā)聲要把Google懟回去,天知道他一邊懟心里會不會一邊有那么一種“我為什么要跟他糾結(jié)于幾倍還是幾十倍性能這種破事上……沒辦法,誰讓觀眾愿意看呢”的想法。

從谷歌的TPU開始,做一個不過度解讀的人

因?yàn)椴还艽蠹矣袥]有意識到,一個硬件發(fā)布的最終意義,不是去和別的硬件比在這種計(jì)算上又快了多少倍,那種計(jì)算上又省了多少電,而是它對它的購買者來說,夠不夠劃算?對于開發(fā)者來說,到底夠不夠好用?(當(dāng)然,有很多時候這兩者可能是同一人)

什么叫劃不劃算?性價比這個詞我相信大家一定不陌生,有些硬件,可能擁有能把整個世界踩在腳下的計(jì)算能力,但對于一個全新的領(lǐng)域來說,新硬件的性能越強(qiáng)大,往往也意味著需要越高的水平才能駕馭。在實(shí)際的開發(fā)中,知道如何用最簡潔的方法編寫代碼、如何使用才能發(fā)揮出硬件的最大實(shí)力和使用多強(qiáng)的硬件一樣重要甚至要更重要。如果代碼寫的不好,計(jì)算機(jī)總是要在重復(fù)的步驟上浪費(fèi)很多時間,那用再強(qiáng)的硬件也沒有多大意義。超級大企業(yè)里專門研究這種方向的部門肯定有很多厲害的人物,他們會知道如何把這些個硬件的性能榨干到一絲不剩,但是現(xiàn)在和以后可能會出現(xiàn)的更多輕度使用AI技術(shù)來改善自己業(yè)務(wù)水平的中小企業(yè)往往沒有條件和動力去找到這樣的人,而且他們對時間的緊迫程度要求也不一定會很高,算法訓(xùn)練慢上幾天一個月,他們可能不是很在意。所以最后影響銷量的最大因素可能還是營銷和價格……除非能在性價比上拉開非常非常大的差距。

在講到性價比的同時,我們也提到了好不好用。這款硬件是橫刀千軍、自重三噸的大錘,還是彈藥稀缺卻能百步穿楊的步槍?一個開發(fā)者要花掉多少時間才能學(xué)會這個硬件能提供的大部分特性?它的易擴(kuò)展性、穩(wěn)定性到不到位?這其中任何一點(diǎn)差距都可能導(dǎo)致開發(fā)者還沒來得及贏回訓(xùn)練算法的那幾周時間,先在設(shè)計(jì)算法上卡了一個月。一款好的硬件發(fā)展的最終境界應(yīng)該是達(dá)到對使用者透明的程度,也就是使用者在編程的過程終不需要去關(guān)心它的存在,只要按照自己的需要去寫程序就好了,而這個硬件自然就能找到最合適的辦法把程序運(yùn)行出來。越能接近這種程度的硬件,可以說是會越受歡迎的。目前的這些硬件,不管是TPU,還是在文章中被拿來和其相比的K80和Haswell CPU,目前在AI開發(fā)方面都還沒法達(dá)到這種程度。也就是說,我的看法是:為AI定制的硬件估計(jì)還有很長的路要走,TPU與NVIDIA和英特爾的同類產(chǎn)品相比,可能有一些優(yōu)勢,但終究沒有拉開質(zhì)的差距,何況以黃仁勛的反應(yīng)來看,它的性能優(yōu)勢也沒有到輕輕松松幾十倍那么夸張,仍然能順利的歸入硬件性能的自然發(fā)展曲線之列。那在這基礎(chǔ)之上,再做更多的琢磨揣測,就顯得很無必要了。

無論如何,每一次的進(jìn)步都是值得我們?yōu)橹恼频?,但同時,也是無需強(qiáng)行解讀的。在硬件向著那個方向努力發(fā)展的時候,我們只要好好關(guān)注這領(lǐng)域的動向,客觀的評價每一次進(jìn)步,并將這些進(jìn)步應(yīng)用于自己的實(shí)際工作中(如果這是你的工作的話),這樣,應(yīng)該就是對這些努力研發(fā)新硬件的先驅(qū)者們最大的鼓勵了。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號