新智元編譯
作者:Serdar Yegulalp
譯者:熊笑
【新智元導(dǎo)讀】谷歌的論文《數(shù)據(jù)中心的 TPU 性能分析》(In-Datacenter Performance Analysis of a Tensor Processing Unit)從技術(shù)角度詳述了 TPU 能給機(jī)器學(xué)習(xí)帶來(lái)怎樣的提升。Infoworld 的高級(jí)編輯 Serdar Yegulalp 撰文以深入淺出的方式簡(jiǎn)述了 TPU 對(duì)于機(jī)器學(xué)習(xí)的意義,以及對(duì)于谷歌的意義。作者認(rèn)為,TPU 使得機(jī)器學(xué)習(xí)過(guò)程中的分工更加明確,但谷歌近期內(nèi)不會(huì)將其整合到云服務(wù)中。結(jié)合新智元此前的報(bào)道,外界雖然認(rèn)可 TPU 的技術(shù)能力,但也認(rèn)為在其在一段時(shí)間內(nèi)仍然會(huì)限于谷歌內(nèi)部使用。即使使用 TPU,也是作為 CPU 和 GPU 的輔助。
如果在機(jī)器學(xué)習(xí)領(lǐng)域沒(méi)有野心,谷歌也就不是谷歌了。去年這個(gè)時(shí)候,谷歌發(fā)布了定制 TPU 硬件加速器,用以加速其 TensorFlow 深度學(xué)習(xí)框架。
現(xiàn)在,谷歌以論文的形式,從技術(shù)角度詳述了 TPU 能給機(jī)器學(xué)習(xí)帶來(lái)怎樣的提升,展示了谷歌將如何影響由定制硅片驅(qū)動(dòng)的機(jī)器學(xué)習(xí)的未來(lái)發(fā)展。
機(jī)器學(xué)習(xí)通常分為幾個(gè)階段。首先是收集數(shù)據(jù),然后使用該數(shù)據(jù)訓(xùn)練一個(gè)模型,最后使用該模型進(jìn)行預(yù)測(cè)。第一階段通常不需要專門(mén)的硬件。第二階段是GPU 的用武之地;理論上,你也可以使用 GPU 進(jìn)行第三階段。
有了谷歌的 TPU,階段三就交給 ASIC 處理了。ASIC 是一塊設(shè)計(jì)用來(lái)運(yùn)行特定程序的定制硅片。ASIC 擅長(zhǎng)整數(shù)計(jì)算,這是模型預(yù)測(cè)時(shí)所需要的;而 GPU 更擅長(zhǎng)浮點(diǎn)運(yùn)算,這是訓(xùn)練模型時(shí)的關(guān)鍵。現(xiàn)在的想法是機(jī)器學(xué)習(xí)過(guò)程中的不同方面都能有專門(mén)的芯片來(lái)處理,這樣每個(gè)具體步驟的速度都能得到最大提升。
嚴(yán)格來(lái)說(shuō),這不是個(gè)新方法,而是通過(guò)融合 GPU 來(lái)加速訓(xùn)練這一模式的擴(kuò)展。谷歌展示了如何使用該模式進(jìn)行接下來(lái)的步驟,尤其是當(dāng)硬件變得更加靈活和可重定義時(shí)。
對(duì)一個(gè)像谷歌這樣規(guī)模和財(cái)力的公司來(lái)說(shuō),定制硬件提供了三個(gè)好處:更快;在恰當(dāng)?shù)膶用娼鉀Q恰當(dāng)?shù)膯?wèn)題;給公司帶來(lái)了競(jìng)爭(zhēng)優(yōu)勢(shì)。
目前,谷歌正在使用定制 TPU 硬件來(lái)加速其內(nèi)部系統(tǒng)。谷歌的云服務(wù)還沒(méi)有提供這一特性,也不要期望現(xiàn)在能買(mǎi)到 ASIC 并部署到你自己的系統(tǒng)里。
原因很簡(jiǎn)單。
理由1:谷歌對(duì)能給自己帶來(lái)獨(dú)特競(jìng)爭(zhēng)優(yōu)勢(shì)的東西一向秘不示人。TPU 可以讓機(jī)器學(xué)習(xí)模型處理海量工作時(shí)更快更高效,谷歌為什么要把它拿出來(lái)分享或是出售?
理由2:谷歌在將一件產(chǎn)品公之于世前總要經(jīng)過(guò)嚴(yán)格的內(nèi)部試用。Kubernetes 和 TensorFlow 在向公眾開(kāi)放前都在谷歌內(nèi)部經(jīng)歷了大量的試用(雖然形式有些不同)。
如果 TPU 真的對(duì)公眾開(kāi)放了,也是在云上租用的模式,到那時(shí)谷歌很可能已經(jīng)又在內(nèi)部搞什么別的新花樣了。
新智元此前曾報(bào)道過(guò),谷歌云服務(wù)副總裁 Diane Greene 表示,谷歌并沒(méi)有對(duì)外銷(xiāo)售 TPU 的打算——拋開(kāi) TPU 本來(lái)就是為了谷歌自己設(shè)計(jì)的這個(gè)事實(shí)以外,谷歌對(duì)外銷(xiāo)售芯片的可能性很低,就像 Facebook 主張全球提供免費(fèi)互聯(lián)網(wǎng),也并不是自己要做運(yùn)營(yíng)商。
因此,還是那句話,TPU 雖好,但僅限谷歌內(nèi)部,而且在近未來(lái)即便使用 TPU,也是用作 CPU 和 GPU 的輔助。
在早先英偉達(dá)工程架構(gòu)副總裁 Marc Hamilton 接受新智元采訪時(shí)就表示,谷歌的 TPU 是一個(gè)非常有意思的技術(shù),但 TPU 的發(fā)布進(jìn)一步印證了他們的觀點(diǎn),那就是人工智能處理器將繼續(xù)從通用的 CPU 轉(zhuǎn)向 GPU 和 TPU 等其他芯片。此外,GPU 的技術(shù)也在不斷發(fā)展。
Hamilton 還提到了百度人工智能科學(xué)家 Bryan Catanzaro 的話:深度學(xué)習(xí)并不是一個(gè)那么窄的領(lǐng)域,從計(jì)算角度看,深度學(xué)習(xí)多樣化而且演化迅速;要是制造一款適用于所有深度學(xué)習(xí)的專用芯片,本質(zhì)上也就成了 GPU。
但也有人認(rèn)為,通用芯片 GPU 相比深度學(xué)習(xí)專用芯片并不具有優(yōu)勢(shì)。
這有一定道理,但設(shè)計(jì)新的芯片需要很多年,研發(fā)成本可能高達(dá)數(shù)千萬(wàn)甚至數(shù)億美元。而且,專用芯片比通用芯片更難編程,最重要的是,專用芯片——根據(jù)定義——只提升特定任務(wù)的性能表現(xiàn),這也是為什么谷歌要設(shè)計(jì) TPU 輔助 GPU 和 CPU。
實(shí)際上,早在 TPU 推出伊始,TPU 團(tuán)隊(duì)主要負(fù)責(zé)人、計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域大牛 Norm Jouppi 就介紹,TPU 專為谷歌機(jī)器學(xué)習(xí)應(yīng)用 TensorFlow 打造,能夠降低運(yùn)算精度,在相同時(shí)間內(nèi)處理更復(fù)雜、更強(qiáng)大的機(jī)器學(xué)習(xí)模型并將其更快地投入使用。 Jouppi 當(dāng)時(shí)還表示,谷歌數(shù)據(jù)中心早在正式對(duì)外宣布的一年前就開(kāi)始使用 TPU,這款谷歌定制芯片從測(cè)試到量產(chǎn)不到 22 天,其性能把摩爾定律往前推進(jìn)到 7 年。這一點(diǎn)也印證了 Serdar Yegulalp 的分析。
谷歌選擇了創(chuàng)建自己的 ASIC ,但相對(duì)于硅片定制,還有另一種方法可用于運(yùn)行機(jī)器學(xué)習(xí)模型:FPGA,可即時(shí)重新編程的處理器。
FPGA 可以執(zhí)行高速計(jì)算,并具有高水平的并行性,這兩點(diǎn)在機(jī)器學(xué)習(xí)的任何階段都很需要。由于 ASIC 必須按照規(guī)格定制,所以與 ASIC 相比,F(xiàn)PGA 更便宜,同時(shí)也更迅速。
微軟已經(jīng)對(duì) FPGA 所提供的可能性進(jìn)行了研究,并公布了部署 FPGA 的服務(wù)器設(shè)計(jì)。機(jī)器學(xué)習(xí)加速是其可承擔(dān)的許多工作之一。
也就是說(shuō),F(xiàn)PGA 不是 ASIC 的替代方案,不能直接置于機(jī)器學(xué)習(xí)流程中。此外,在機(jī)器學(xué)習(xí)環(huán)境中,F(xiàn)PGA 沒(méi)有 GPU 那么多的編程工具。
在這方面,最好的方法可能不是推出專門(mén)用于機(jī)器學(xué)習(xí) FPGA 編程的工具包,而是推出可以為 FPGA、GPU、CPU 或其他類似的定制硅片執(zhí)行代碼生成的一般框架。如果谷歌將其TPU 作為云資源,這樣的框架就會(huì)有更多的事情做,當(dāng)然現(xiàn)在已經(jīng)有很多目標(biāo)可以立即開(kāi)始解決了。
關(guān)于FPGA的擴(kuò)展閱讀:
2012年,百度決定自主設(shè)計(jì)深度學(xué)習(xí)專有的體系結(jié)構(gòu)和芯片,經(jīng)過(guò)深入研究和論證,為讓項(xiàng)目快速落地及迭代,工程師最后決定使用 FPGA 實(shí)現(xiàn)百度第一版自主設(shè)計(jì)的深度學(xué)習(xí)專有芯片。
作為 GPU 在算法加速上強(qiáng)有力的競(jìng)爭(zhēng)者,F(xiàn)PGA 硬件配置靈活且單位能耗通常比 GPU 低。更重要的是,F(xiàn)PGA 相比 GPU 價(jià)格便宜。但是,使用 FPGA 需要具體硬件的知識(shí),而許多研究者和應(yīng)用科學(xué)家并不具備,因此 FPGA 常被視為一種行家專屬的架構(gòu)。
加州大學(xué)計(jì)算機(jī)博士劉少山認(rèn)為,F(xiàn)PGA 具有低能耗、高性能以及可編程等特性,十分適合感知計(jì)算。在能源受限的情況下,F(xiàn)PGA 相對(duì)于 CPU 與 GPU 有明顯的性能與能耗優(yōu)勢(shì)。此外,感知算法不斷發(fā)展意味著感知處理器需要不斷更新,F(xiàn)PGA 具有硬件可升級(jí)、可迭代的優(yōu)勢(shì)。由于 FPGA 的低能耗特性,F(xiàn)PGA 很適合用于傳感器的數(shù)據(jù)預(yù)處理工作??梢灶A(yù)見(jiàn),F(xiàn)PGA 與傳感器的緊密結(jié)合將會(huì)很快普及。而后隨著視覺(jué)、語(yǔ)音、深度學(xué)習(xí)的算法在 FPGA 上的不斷優(yōu)化,F(xiàn)PGA 將逐漸取代 GPU 與 CPU 成為機(jī)器人上的主要芯片。
谷歌在論文中聲稱,使用 GPU 級(jí)別內(nèi)存和內(nèi)存系統(tǒng)可以進(jìn)一步加強(qiáng)ASIC 的加速,其結(jié)果比傳統(tǒng) CPU / GPU 組合快30至200倍。這并沒(méi)有說(shuō)明如果用其他混合方法可以取得什么效果,比如將 CPU 和 FPGA 搭配在一起使用。
目前可以清楚地看出,機(jī)器學(xué)習(xí)定制硅片將會(huì)推動(dòng)這一領(lǐng)域硬件和軟件的發(fā)展。同樣清楚的是,谷歌和其他企業(yè)的探索只是剛剛開(kāi)始。
3月27日,新智元開(kāi)源·生態(tài)AI技術(shù)峰會(huì)暨新智元2017創(chuàng)業(yè)大賽頒獎(jiǎng)盛典隆重召開(kāi),包括“BAT”在內(nèi)的中國(guó)主流 AI 公司、600多名行業(yè)精英齊聚,共同為2017中國(guó)人工智能的發(fā)展畫(huà)上了濃墨重彩的一筆。
點(diǎn)擊閱讀原文,查閱文字版大會(huì)實(shí)錄
聯(lián)系客服