如何評價 Google 發布的 Tensor Processing Unit?
http://www.wired.com/2016/05/google-tpu-custom-chips/?from=timelineamp;isappinstalled=0
https://drive.google.com/file/d/0Bx4hafXDDq2EMzRNcy1vSUxtcEk/view
首先這玩意是 asic然後,把演算法硬體化提升性能不是什麼大不了的事情,我還干過讓 fpga 算量子力學呢,大概把雙電子積分的性能提升了 40 倍吧(當然我是用 OpenCL 寫,用 A 記的工具包編譯的,用 HDL 會更快)
Tensor Processing Unit,這是ASIC,就是application-specific integrated circuit 。
CPU,又叫General Purpose Computing Processing Unit。Application-Specific VS General Purpose,分界線在於10:1,也就是說一般ASIC需要比CPU有10倍的能效比以上,才值得開。
記得摩爾定律么?18個月,CPU性能翻倍,按照1-2-4-8-16,4個18個月,6年之內,看Google的出不出下一代TPU,或者Intel能不能維持摩爾定律。在2000-2005間,NPU的概念火了一陣子,然後就沒有然後了。歷史會不會在TPU上重演,看看吧。之前Google推Tensorflow的時候,有很多異議的聲音。比如我們可以看到最廣泛使用的一個benchmark數據,TF的性能幾乎在每個項目都是排在幾大流行的庫後面的。
Benchmark TensorFlow · Issue #66 · soumith/convnet-benchmarks · GitHub
一開始也有人說Google為啥開源一個無法分布計算的機器學習庫,當然後來Google更新了Tensorflow把多機的代碼放了出來了。當時為Google的辯護的聲音就是說,Google伺服器多,所以單機性能不重要。
我也一直在疑惑這些問題,因為行業裡面都在用N卡,不可能說,別人用N卡跑Tensorflow性能不好,Google自己跑性能就好了。這沒道理。除非刻意的把TF的代碼分成內部的和外部的,這又和開源的初衷衝突了吧。
然後,Google宣布把一個一個項目轉移到Tensorflow上去,甚至最近剛剛發布了一個號稱全世界最先進的英文分析工具出來,也是基於Tensorflow的。
到了今天一切都可以解釋了。根據Google的blog,他們一年前就開始部署TPU了,也就是在Google內部的Tensorflow都跑在TPU上。而Tensorflow和TPU的名字就一眼可以看出來,Tensorflow是為TPU專門設計的,或者說TPU是為Tensorflow專門設計的。
而Google一直只是排隊內測的機器學習雲,應該也是跑在TPU上面的。我相信Google在沒有在性能/價格,性能/能耗比上做到比其它家有非常大的優勢,它是不會搞機器學習雲的。
大家都知道,Mapredue的思想來自於Jeff Dean的設計。大數據的業界一直都在享受快10年前Google架構帶來的變革。現在該死的Jeff Dean又要改變世界了,看樣子。好可怕。而且這次,這貨從硬體/軟體/雲,三個維度一起下手,壞死了。
我現在唯一擔心的就是這該死的晶元,他們只用於自己的雲,而不賣。那祖國人民就哭死了,一塊牆,搞死中國科研啊。作為天天給gpu做維護的工人,我覺的谷歌這次發布的tpu應該是一種支持線上業務的晶元,類似fpga。
用來將訓練好的模型載入,為用戶服務。
而gpu作為通用的工具來做訓練任務。
根據現在得到的信息。
TPU在谷歌內部用來和TF配合作為線上服務。
模型訓練依然是gpu,經過quan之後,用TPU載入服務不負責任的猜測和CISCO, Netlogic, HUAWEI的 NPU 類似
Many Core,Crossbar IO
編程模型類似於彙編(自定義指令xtensa)+ 高級語言(C)的混合編程結構,我說的是驅動,也就是封裝好的庫
每個核死循環執行一個任務
流程如下:
數據(NPU是包)進核後進行計算(NPU是算下一跳地址)結果存入主存(NPU是改寫包的目的地址)
特點就是:
聽話,傻快傻快的
Nvidia表示。。。。。
GPGPU本來就是為了科學計算,,既然現在出了專用晶元,不知道老黃是否會跟進?
推薦閱讀:
※誰能詳細講解一下TensorFlow Playground所展示的神經網路的概念?
※手頭沒有GPU,學習tensorflow有意義嗎?
※如何看待Face++出品的小型化網路ShuffleNet?
※CNN做圖像分類,訓練集中的極少量樣本被貼上了錯誤的標籤,是否會嚴重污染訓練集?對訓練結果影響大嗎?
TAG:深度學習DeepLearning | TensorFlow | GoogleIO2016 |