由 AlphaGo 到可自我進化的機器人,比你預想的要快

人機大戰柯潔勝算不到一成,AlphaGo 身后的 TPU 殺傷力究竟有多強大?
最后的攤牌之戰。
明天,升級版「 AlphaGo 2.0」將再次對戰人類頂級棋手,這次是排名世界第一的柯潔。深圳灣曾報道過去年的人機大戰,AlphaGo 曾以 4:1 戰勝李世石,今年年初又偽裝成神秘棋手「Master」橫掃圍棋界,獲得 60 勝 1 和的記錄,包括打敗柯潔。
圍棋被認為是人類智慧最后的堡壘,而柯潔是目前世界上排名第一的頂尖棋手,這場比賽也被形象的喻為「最后的攤牌之戰」。經過前幾次的對弈,人類與 AlphaGo 的實力懸殊之大已經讓很多人不對人類獲勝抱有希望。中國棋壇另一位重要人物,世界大賽「8 冠王」古力甚至直言,柯潔勝一局的希望不足 10% 。
在去年谷歌I/O大會上,谷歌曾稱 AlphaGo 之所以能順利擊敗李世石,是因為有一款「秘密武器」,那就是 TPU(Tensor Processing Unit),一款專為谷歌深度學習系統 TensorFlow 定制的 AI 芯片。 下面,深圳灣就帶您一起解開有關 TPU 的秘密。

谷歌的一篇論文,揭秘 AIphaGo 背后的「秘密武器」
早在 2006 年 ,Google 就在考慮為神經網絡構建一個專用集成電路(ASIC)。 2013 年隨著數據量的急速膨脹,提高計算能力的需求開始變得更加迫切。
2015 年 11 月,谷歌開源了其王牌機器學習系統 TensorFlow,次年 3 月,應用了 TensorFlow 深度學習系統的 AlphaGo 在「人機大戰」中一戰成名,也使得也使得這款 AI 學習系統及其硬件基礎 TPU 聲名遠播。
作為一個云計算硬件和軟件系統 ,TPU 是專門為機器學習而設計的芯片,其出現的使命在于加速谷歌人工智能落地的速度。其第一代 TPU 被 AlphaGo 人工智能系統用作其預測和決策的基礎,可提供高達每秒 180 萬億次浮點運算的性能,大大加速了對單個大型機器學習模型的培訓。
不久前在備受矚目的谷歌I/O 2017 開發者大會上,谷歌又推出了第二代 TPU 升級版本,它比以往任何的 TPU 運行得都要快,而且可以加速訓練和運行 ML 模型。
上個月,谷歌還專門發布了一篇論文,公布了 TPU 一些相關的技術細節,并直接將比對的矛頭對準了 AI 芯片巨頭英偉達,表示:「TPU處理速度比當前 GPU 和 CPU 要快 15 到 30 倍」。

我們先來看看這篇論文談到的一些有關 TPU 的要點,需要提及的是,下列數據是基于谷歌自己公司的標準測試得出的:
- TPU是一種ASIC,需要先用 GPU 訓練神經網絡,再用 TPU 做推斷。
- TPU沒有與 CPU 密切整合,而是設計成了一個PCIe I/O總線上的協處理器,可以像 GPU 一樣插到現有的服務器上。
- 在推斷任務中 ,TPU 平均比英偉達的 Tesla K 80 GPU 或英特爾 E5- 2699 v3 CPU 速度快 15 至 30 倍左右。
- 一個 TPU 的 MAC 是Tesla K 80 的 25 倍,片上內存容量達到K 80 的 3.5 倍,而且體積更小。
- TPU的功耗效率(performance/Watt,每耗電 1 瓦的性能)比 GPU 和 CPU 高出 30 至 80 倍。
- 如果對 TPU 進行優化,給它和K 80 一樣大的內存,他的速度能比 GPU 和 CPU 高 30 - 50 倍,功耗效率高 70 - 200 倍。
論文鏈接:In-Datacenter Performance Analysis of a Tensor Processing Unit
這篇論文將在今年 6 月正式發表于多倫多舉辦的計算機體系結構國際研討會(International Symposium on Computer Architecture, ISCA)上。傳言谷歌也曾考慮像微軟一樣用 FPGA,因為開發起來更加靈活。但是經過測試之后發現速度提升不夠。

谷歌 VS 英偉達,一場看似硝煙彌漫的戰爭,實則各有未來
在谷歌的影響下,其他科技公司也陸續看到了 AI 定制化芯片未來的發展潛力,至今已有數十種類似的定制化 AI 芯片陸續問世。不僅如此,英特爾、微軟、三星也紛紛入局,這讓近年來在深度學習領域享有支配性地位的芯片供應商 Nvidia 倍感壓力。
為了做出反擊 ,Nvidia 也開始加強其新推的 GPU 芯片的定制化和專業性。在不久前英偉達 GTC 大會上 ,Nvidia 發布了基于新一代圖形架構 Volta 的Tesla V 100 。特斯拉 V 100 配備了 640 個 Tensor 內核,能提供提供了高達 120 teraflops 的、驚人的深度學習能力,它們是專為運行深入學習網絡中使用的數學運算而設計的。
作為芯片制造商的大客戶,谷歌揭幕 TPU 對 CPU 巨頭英特爾和 GPU 巨頭英偉達來說都是不小的商業壓力。除了英偉達,英特爾也在去年推出了適用于深度學習的處理器架構和芯片,意欲擴張當下的市場份額,抵擋谷歌帶來的沖擊。但是目前看來,「定制芯片」的需求可能比他們預計還要更深。
但是,也許谷歌原本并無意參與這場競爭 。GPU 巨頭、英偉達 CEO 黃仁勛就曾告訴『華爾街日報』,兩年前谷歌就意識到 GPU 更適合訓練,而不善于做訓練后的分析決策。谷歌打造 TPU 的動機只是想要一款更適合做分析決策的芯片。這一點在谷歌的官方聲明里也得到了印證 :TPU 只在特定機器學習應用中作輔助使用,公司將繼續使用其他廠商制造的 CPU 和 GPU。
事實上,訓練神經網絡模型,還是離不開 GPU 和 CPU。而對于 CPU 制造商而言,真正的挑戰是提供在考慮到能耗和效率的前提下,具有極高推理性能的芯片 。TPU 是一款推理芯片,其出現并不是為了取代 CPU 或者GPU,而是作為一種補充。
盡管如此,由于谷歌 TPU 論文引起的反響太大,迫使感受到威脅的英偉達很快做出的回應。英偉達回應說 ,GPU 在機器學習的推理(inferencing)方面相對于 TPU 有一些優勢,還能用于機器學習中神經網絡的訓練。英偉達的 GPU 更通用一些,谷歌的 TPU 則比較專注于一個點,應用場景十分單一。
英偉達對谷歌在論文中進行的對比細節有些意見,黃仁勛表示 ,GPU 的通用性高一些 。 先是肯定 TPU 在深度學習的張量處理領域有一些重合,隨后通過一些細節來論證 GPU 相對于 TPU 的優勢,這也算是一場無關緊要的撕逼吧。

此次 AlphaGo 再次對戰柯潔,也是對谷歌 TPU 過去一年改進的一次檢驗。無論這場比賽結果如何,對于 TPU,對于TensorFlow,乃至對于人工智能都不會是一個終點,而是一個嶄新的起點。