谷歌宣布TPU全面開放,每小時6.5美元,訓練ResNet-50花不了200刀

夏乙 李根 假裝發自 凹非寺

量子位 出品 | 公眾號 QbitAI

谷歌又出手了。又是一個大招。(上一個在此)

這次谷歌傳奇JeffDean親自在推特上連發10條,滿懷激動地對外宣布著這個消息:谷歌TPU正式對外開放。這也是谷歌TPU首次對外全面開放。

顯而易見,AI晶元和公有雲市場將迎來新的變局。

之前英偉達的黃仁勛在談到谷歌TPU時,就曾強硬的表示,對TPU的威脅不以為然。當時,老黃還列了列參數:新的TPU可以實現45teraflop的運算能力,而英偉達最新的Volta GPU則能達到120 teraflop。

但如果你關注人工智慧,肯定知道TPU的威力。谷歌搜索、翻譯、相冊等應用,都有TPU在提供AI加速。更值得一提的是,AlphaGo也是借力TPU,稱霸圍棋界。

Advertisements

而且谷歌這款晶元還專門對AI進行了優化。

谷歌在官方博客中表示,在新發布的CloudTPU幫助下,不到一天的時間,你就可以在ImageNet上把ResNet-50模型訓練到75%的精度,成本不足200美元。

從現在起,每小時6.5美元,你也能用上谷歌TPU了。

理論上。

谷歌博客全文

Google的機器學習利器Cloud TPU,從今天開始面向更多用戶開放了。

Cloud TPU今天發布了beta版,這一版本通過谷歌雲平台(Google Cloud Platform,GCP)提供,想幫更多機器學習專家更快地運行模型。

Cloud TPU是谷歌設計的硬體加速器,專為加速、擴展特定的TensorFlow機器學習工作負載而優化。

Advertisements

每個Cloud TPU包含4個定製化的ASIC,單塊板卡的計算能力達到每秒180萬億次浮點運算(180teraflops),有64GB的高帶寬內存。

這些板卡可以單獨使用,也可以通過超高速專用網路連接起來,形成「TPUpod」。今年晚些時候,Google會開始通過GCP供應這種更大的超級計算機。

Google設計CloudTPU的目標,是針對性地為TensorFlow工作負載提供一分錢一分貨的差異化性能,讓研究人員嫩更快地進行迭代。

例如:

  • 你能通過自定義、可控制的Google Compute Engine虛擬機,對聯網的CloudTPU進行互動式的、獨享的訪問,而不用等待自己的工作在共享計算集群上排隊。

  • 你能連夜在一組CloudTPU上訓練出同一個模型的幾個變體,第二天將訓練出來的最精確的模型部署到生產中,而不用等幾天、甚至幾周來訓練關鍵業務機器學習模型。

  • 不到一天的時間,你就可以在ImageNet上把ResNet-50模型訓練到75%的精度,成本不到200美元。

    Google還專門為此準備了一份教程:https://cloud.google.com/tpu/docs/tutorials/resnet

更簡單的機器學習模型訓練

過去,為定製ASIC和超級計算機編程需要深入的專業知識技能。相比之下,要對Cloud TPU編程,用高級TensorFlowAPI就可以了,Google還開源了一組高性能的雲TPU模型實現,上手更簡單:

  • 圖像分類模型:

    ResNet-50 https://cloud.google.com/tpu/docs/tutorials/resnet

    其他圖像分類模型https://github.com/tensorflow/tpu/tree/master/models/official

  • 用於機器翻譯和語言建模的Transformer:

    https://cloud.google.com/tpu/docs/tutorials/transformer

  • 用於對象檢測的RetinaNet:

    https://github.com/tensorflow/tpu/blob/master/models/official/retinanet/README.md

Google在博客中說,經過對性能和收斂性的不斷測試,這些模型都達到了標準數據集的預期精度。

以後,Google會逐漸推出更多模型實現。不過,想要探險的機器學習專家也可以用他們提供的文檔和工具,自行在CloudTPU上優化其他TensorFlow模型。

現在開始用Cloud TPU,等到今年晚些時候Google推出TPU pod的時候,訓練的時間-精度比能得到驚人的提升。

在NIPS 2017上,Google曾宣布ResNet-50和Transformer兩個模型在完整TPUpod上的訓練時間,都從大半天下降到了30分鐘以內,不需要改動任何代碼。

可擴展的機器學習平台

雲TPU還簡化了機器學習計算資源的規劃和管理:

你可以為團隊提供最先進的機器學習加速,並根據需求的變化動態調整生產力。

你可以直接用經過Google多年優化的高度集成機器學習基礎設施,無需投入大量金錢、時間、專業人才來設計、安裝、維護現場機器學習計算集群,不用考慮供電、冷卻、聯網、存儲要求等問題。

Google CloudTPU經過預先配置,不需要安裝驅動程序,因此,也不用想方設法讓一大群工作站和伺服器的驅動程序保持最新。

和其他Google雲服務一樣,有複雜的安全機制保護著你的數據。

Google說要為客戶的每個機器學習負載提供最適合的雲服務,除了TPU之外,他們還提供英特爾Skylake等高性能CPU,和包括英偉達TeslaV100在內的高端GPU。

開始使用吧

Cloud TPU今天開始提供,數量有限,按秒計費。每個Cloud TPU每小時6.5美元。

要使用beta版的CloudTPU,需要填個表,描述一下你要用TPU幹什麼,向Google申請配額:https://services.google.com/fb/forms/cloud-tpu-beta-request/

Google說,會儘快讓你用上Cloud TPU。

2月27日,Google還要開一場在線講座,再細緻地談一談Cloud TPU。

在Google的博客文章中,提到了兩家客戶使用Cloud TPU的感受。

一家是投資公司Two Sigma。他們的深度學習研究現在主要在雲上進行,該公司CTO AlfredSpector說:「將TensorFlow工作負載轉移到TPU上,大大降低了編程新模型的複雜性,縮短了訓練時間。」

另一家是共享出行公司Lyft。深度學習正在成為這家公司無人車研究的重要組成部分。

更多關於Cloud TPU的信息,可以去官方網站看一看:https://cloud.google.com/tpu/

何為TPU?

TPU是Tensor ProcessingUnit的縮寫簡稱,是一種ASIC(專用集成電路),也是Google自己開發的一款AI專用晶元,主要用於提高人工智慧計算任務的執行效率。

Google將其用在神經網路的推理環節,在此之前,業界通常在使用GPU加速的伺服器上進行。在TPU推出后,谷歌表示,這比直接使用GPU或基本的x86晶元速度快很多。

TPU通過兩個PCI-E 3.0 x8邊緣連接器連接協處理器,總共有16GB/s的雙向帶寬。TPU消耗功率達40瓦,遠高於PCI-E電源規格,可為8位整數運算提供每秒92萬億次的運算,或為16位整數運算提供每秒23萬億次的運算。

在去年4月一篇有75位聯合作者的論文《In-Datacenter Performance Analysis of aTensor ProcessingUnitTM》中,Google團隊對TPU進行了分析:與同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。

第一代TPU被谷歌廣泛應用在了AlphaGo、搜索、翻譯、相冊等背後的機器學習模型中,這為第二代TPU的迭代奠定了基礎。

值得一提的是,擊敗李世石的AlphaGo版本中,通過Google雲,耗用50個TPU進行計算;而到了擊敗柯潔的AlphaGo版本中,單機運行,物理伺服器上部署了4個TPU;最後在最新的AlphaZero版本中,則使用了5000個一代TPU和64個二代TPU,從0開始學習24小時候,就擊敗了國際象棋、將棋、圍棋等三個領域的世界冠軍。

第二代TPU

第二代TPU在去年5月18日的Google I/O大會上推出,也稱為雲TPU。雲TPU對推理和訓練都進行了優化。

Google大腦研究團隊主管JeffDean表示:「我們的TPU擁有世界一流的ASIC設計團隊,第二代TPU晶元採用了與第一代完全不同的設計架構,第一代晶元由於只進行推理運算所以體積較小,而在第二代晶元中我們加入了能滿足訓練需求的硬體結構,同時還考慮了如何將這些計算單元組合成大型系統的架構方法。」

第二代TPU通過四個TPU晶元的組合板,可以實現180Tera次每秒用於深度學習訓練和推理的浮點運算,如果再將64個這樣的TPU系統板通過網路連接起來,浮點性能可以達到驚人的11.5PFLOPS,遠遠超過世界上前五百超級計算機的算力。風頭大大蓋過了同一時期Nvidia推出的Volta架構GPU。

TPU2和第一代不同的是,第一代選用了量化整數運算,而第二代用的是浮點運算。這樣一來你就不用把訓練好的模型轉換使用量化整數做推理了。你直接用訓練時用的浮點做推理就好,這樣實施起來也容易很多。

實際上,第二代TPU推出之時,也能看出Google在AI晶元方面的發展思路:並非為了與GPU直接競爭,而是利用TPU在公有雲行業差異化發展。

GoogleCEO皮查伊在I/O大會的主題演講中強調:「我們希望谷歌雲成為機器學習領域最優秀的雲。這為重大進步打下了基礎。」

為了使計算性能更強大,Google開發了訂製的超高速網路,將64顆TPU連接至同一台機器學習超級計算機。這台超級計算機被稱作「TPU艙」,帶來了每秒11.5千萬億次浮點運算的能力,可用於訓練單一的大型機器學習模型,或多個較小的模型。

為了證明TPU艙的性能,Google表示,如果想要訓練最新的大規模翻譯模型,那麼使用32顆全球最強大的商用GPU需要一整天時間。作為對比,TPU艙只需1/8的性能,就能在6小時內完成對該模型的訓練。

單個的雲TPU和完整的TPU艙均支持谷歌開源的TensorFlow機器學習系統。

去年的GoogleI/O大會上,Google還發布了「TensorFlow研究雲」。這是由1000顆雲TPU組成的簇,在滿足某些條件的情況下Google將免費提供給研究者使用。如果希望使用,那麼研究者必須同意公開發表研究成果,或許還需要開源研究中的相關代碼。

而對參與非公開研究的人士,Google計劃啟動雲TPU Alpha項目,而現在,更加宏偉的計劃得以正式公開。

TPU往事

早在2006年,Google就在考慮為神經網路構建一個專用集成電路(ASIC)。2013年這個需求變得更加緊迫,當時Google意識到快速增長的計算需求,可能意味著數據中心的數量需要翻番才能滿足。

通常而言,ASIC的開發需要耗時數年。但具體到TPU而言,從設計到驗證、構建和部署到數據中心裡,只需要15個月。

具體TPU何時正式研發成功,並不得而知,但Google方面透露,從2015年開始就一直在內部使用TPU,並在2016年5月的GoogleI/O開發者大會上,對外公布了TPU的存在。

另外還有個趣事。

最初參與TPU研究的10個人中,有8個工程師遭遇風投挖角,創業成立了一家名為Groq的AI晶元公司,這家公司的創始人兼CEO是DougWightman,CTO是Jonathan Ross,COO則是原賽靈思(Xilinx)的營銷副總裁KrishnaRangasayee。

挖角的風投則是Social Capital創始人、首席執行官ChamathPalihapitiya,他給了Groq團隊上千萬美元的啟動資金。

Groq的AI晶元對標英偉達的GPU,聲稱是專門為人工智慧重新定製一款晶元,他們還打算在2018年發布第一代AI晶元產品。

留給Groq兌現承諾的時間不多了。

— 完 —

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態

Advertisements

你可能會喜歡