|
來源:內容來自數位時代 ,謝謝。 為了讓機器學習演算效率提高、因應更大量的運算需求,Google自行開發(fā)了專用的伺服器芯片「TPU」(Tensor Processing Unit),自2015年起在內部使用。去年五月,Google曾在I/O開發(fā)者大會提及TPU,今天首度公開更多細節(jié)及效能評估報告,發(fā)表在一篇論文中。 過去幾年來,處理機器學習演算較為經濟實惠的標準配備主要是像AMD和Nvidia等品牌的GPU。不過,Google從2006年就開始研究如何在數據中心使用GPU、FPGA與客制化特殊規(guī)格的ASIC(其實就是TPU)。 據Google表示,當時這種特殊硬體并沒有太大用處,就算是負荷較大的運算,只要利用數據中心原先多余的硬體就夠了。不過到了2013年,情況改變,Google預期深度神經網路的使用會變得非常普遍,可能會使數據中心計算需求倍增,要是使用傳統(tǒng)CPU就會非常昂貴。因此,Google優(yōu)先進行相關研發(fā)計畫,目標將性能提高至GPU的10倍以上。 Google開發(fā)的Tensor Processing Unit是針對自家的「TensorFlow」機器學習框架最佳化的芯片,主要用于機器學習演算的后半階段。以大量數據對神經網路進行訓練時,通常是在GPU加速的伺服器上進行。之后對新數據進行推測的階段,Google則開始使用TPU,處理效率更高。 據論文中Google對自家芯片的測試,TPU在執(zhí)行Google常規(guī)的機器學習運算時,速度比現(xiàn)行標準的GPU/CPU組合(Intel Haswell處理器與Nvidia K80 GPU)平均快上15-30倍。考量數據中心的功耗,使用TPU的效能功耗比也高了30-80倍(將來使用更快的記憶體,或許還會更高)。 但正是這個GPU對你,讓Nvidia的創(chuàng)始人黃仁勛不爽了,他撰文表示:Nvidia P40 比TPU 速度快2 倍、頻寬是10 倍。 Nvidia認為GPU是人工智能的更好選擇 他指出,以Google 為例。Google 在深度學習里突破性的工作引發(fā)全球關注:Google Now 語音互動系統(tǒng)令人吃驚的精確性、AlphaGo 在圍棋領域歷史性的勝利、Google 翻譯應用于100 種語言。 深度學習已經達到不可思議的效果。但是深度學習的方法,要求電腦在摩爾定律放緩的時代背景下,精確處理海量資料。深度學習是一種全新的計算模型,也需要一種全新計算架構的誕生。 一段時間以來,這種AI計算模型都是在Nvidia芯片上執(zhí)行。2010年,研究員Dan Ciresan當時在瑞士Juergen Schmidhuber教授的AI實驗室工作,他發(fā)現(xiàn)NvidiaGPU芯片可用來訓練深度神經網路,比CPU的速度快50倍。一年之后,Schmidhuber教授的實驗室又使用GPU開發(fā)了世界上首個純深度神經網路,一舉贏得國際手寫辨識和電腦視覺比賽的冠軍。接著2012年,多倫多大學的碩士生Alex Krizhevsky使用了兩個GPU,贏得如今蜚聲國際的ImageNet影像辨識競賽。(Schmidhuber教授曾經寫過一篇文章,全面梳理了于GPU上執(zhí)行的深度學習對于當代電腦視覺的影響。 ) 全球AI 研究員都發(fā)現(xiàn)了,Nvidia為電腦圖形和超級計算應用設計的GPU 加速計算模型,是深度學習的理想之選。深度學習應用,比如3D 圖形、醫(yī)療成像、分子動力學、量子化學和氣象模擬等,都是一種線性代數演算法,需要進行大規(guī)模并列張量或多維向量計算。誕生于2009 年的NvidiaKepler GPU 架構,雖然幫助喚醒了世界在深度學習中使用GPU 加速計算,但其誕生之初并非為深度學習量身訂做。 所以,我們必須開發(fā)出新一代GPU 架構,首先是Maxwell,接著是Pascal,這兩種架構都對深度學習進行特定最佳化。在Kepler Tesla K80 之后 4 年,基于Pascal 架構的Tesla P40 推理加速器誕生了,它的推理效能是前者的26 倍,遠遠超過摩爾定律的預期。 在這時期,Google 也設計了一款自訂化的加速器芯片,名為「張量處理單元」,即TPU。具體針對資料推理,于2015 年部署。 上周Google 團隊釋出了關于TPU 優(yōu)越性的一些資訊,稱TPU 比K80 的推理效能高出13 倍。但是,Google并沒有拿TPU 與如今最新一代的Pascal P40 比較。 英偉達方面建立了如下圖表,量化K80、TPU 和P40 的效能,看看TPU 與如今Nvidia技術間的較量。 P40 在計算精度和吞吐量、片內儲存和儲存頻寬間達到良好平衡,不僅在訓練階段,也在推理階段達到前所未有的效能表現(xiàn)。對于訓練階段,P40 擁有10 倍于TPU 的頻寬,32 位浮點效能達到12個TFLOPS 。至于推理階段,P40 具高吞吐的8 位整數和高儲存頻寬。 雖然Google 和Nvidia選了不同的發(fā)展路徑,我們有一些共同關切的主題。具體包括: AI 需要加速計算。在摩爾定律變慢的時代背景下,加速器滿足了深度學習大量資料處理需求。 張量處理處于深度學習訓練和推理效能的核心位置。 張量處理是一個重要的新工作負載,企業(yè)在建立現(xiàn)代資料中心的時候,要考慮這一問題。 加速張量處理可以顯著減少現(xiàn)代資料中心的建設成本。 究竟誰才是人工智能芯片的未來? 如何比較TPU的效能呢?把TPU跟Intel的Haswell CPU及NVIDIA Tesla K80 GPU這兩款CPU與GPU的效能表現(xiàn)比較,數據顯示TPU的速度快他們15至30倍。 但是,NVIDIA Tesla K80 GPU是NVIDIA五年前的產品,而且Google雖說TPU能用在任何人工智能的深度學習運算,然而,TPU不但沒對其他系統(tǒng)做最佳化,還設定只能做犧牲精確度的推理運算。 深度學習需要的大量運算訓練,還是需要GPU或是CPU來處理,所以Google最后還是說了,TPU需要搭配GPU或是CPU。 這次Google的說法,就好比告訴大家,我針對某種狀況特殊設計的東西,比別人的東西(NVIDIA Tesla K80 GPU)表現(xiàn)強15至30倍,但是,Google沒說的是,他把別人五年前的產品拿來比。 無怪乎黃仁勛立刻跳出來撰文,輔以數據說明,現(xiàn)在的主力產品P40比這顆TPU快達2倍,頻寬10倍。他的動作,其實是一個很不錯的公關回應:避免產品被誤解,而且是在NVIDIA現(xiàn)在領先業(yè)界最多的人工智能運算芯片產品線上。 不過,也因為TPU是硬體特制,無法修改,才能做到最低耗能,這樣的芯片比起NVIDIA GPU P40自然省電很多。 TPU是專門針對TensorFlow最佳化所推出的芯片,我認為Google這個宣告主要是想告訴使用TensorFlow的開發(fā)者社群「我現(xiàn)在用的東西很不錯」,公關宣傳意味濃厚。再加上Google之前雇用李飛飛,并打算收購最大的資料科學家、機器學習開發(fā)者社群Kaggle,一連串動作,都在強化Google在人工智能開發(fā)者社群的地位與認同。 其實,Google主打開發(fā)者社群,與NVIDIA主攻各種商用人工智能(特別是無人車用的訓練)其實并不一樣,兩者各有所長。但是為了公關效果,這次雙方都出了招。 Google也強調,它不會對外販售TPU,僅供內部使用。如同《數位時代》2017年4月號所強調的,Google未來10年會強化云端運算與人工智能為主要策略方向。TPU,其實就是這個策略的展現(xiàn)。 TPU的運算效能不錯,也說明了原本專長CPU與次專長的GPU的Intel,發(fā)現(xiàn)自己在人工智能落后NVIDIA后,為什么決定改往人工智能專用芯片方向上努力的最大原因,是為了能在人工智能運算芯片戰(zhàn)場上突破現(xiàn)有的困境。 深度學習的訓練需要非常大量的資料,需要非常多的運算單元來做運算,不管是GPU、CPU或TPU,如何相互搭配,才能達到又快又省電的目的,會是接下來各大深度學習應用硬體架構方面的重點。從這次Google、NVIDIA及Intel在人工智能運算芯片的態(tài)度與作法,可以預見,在物聯(lián)網前端產品芯片之外,這會是各大運算單元芯片廠的另一個戰(zhàn)場。
|
|
|