Google 所提供的網路服務可能是地球上最大的電腦網路,這套網路擁有 15 個倉庫大小的數據中心,並分佈在四塊大陸上。你可能會認為這個網路已經足夠強大,日常使用 Google 自家的各種服務完全沒有問題,但 Google 並不這麼認為,Google 的工程師們也不這麼認為,他們擔心這套已經非常龐大的網路有一日會不堪重負。
為了省錢,自己做晶片
大約在六年前,Google 為其 Android 系統加入了新的語音識別技術,也就是我們熟悉的 Google Now 和 Google Assistant。
而除了工作就是思考的 Google 工程師突然想到,如果世界上每個 Android 手機用戶每人每天使用 Google 的語音搜尋服務 3 分鐘,那麼所需要的數據中心大小至少是現在的兩倍之多,如果用戶更加頻繁的使用 Google 語音服務,那麼當前的數據中心將不堪重負。
此外,Google 當時已經開始研究使用深度神經網路和複雜的數學系統來開發其語音識別服務,這使得其語音服務可以透過分析大量的數據來學習一些特定的任務處理能力。而這種機器學習形式,不但重新發明了語音識別,還促進了圖像識別,機器翻譯,Internet搜尋等技術的發展,但它對數據處理的能力要求非常苛刻。
由於使用深度神經網路學習技術,Google 看到機器的識別錯誤率下降了25%,但是這種進步需要更強大的數據處理能力,也就是說,需要更多的數據中心。
數據中心不夠用,那就多建幾座嘍?可是建這麼多數據中心是要花上不少錢的,像 Google 這種財大氣粗的公司也不是拿錢不當錢,精打細算過日子的理智心態也是有的。
因此 Google 的並沒有豪擲千金將其數據中心的佔地面積擴大,而是專門為執行深度神經網路研製了自家的電腦晶片—— Tensor Processing Unit, TPU(不是那個用來做手機殼的材料)。採用這個方案,速度比現行標準的GPU/CPU組合(Intel Haswell處理器與Nvidia K80 GPU)平均快上15-30倍,效能功耗上,TPU 的性能也高於標準處理器 30 到 80 倍,這個測試結果非常的可觀。
一顆晶片取代一座數據中心?
Google 在去年五月首次透露了自家這款定製處理器,但並沒有過多的透露其細節。現在,負責 TPU 晶片研發的 Norm Jouppi 和他的團隊發表了一篇文章,詳細說明了該項目,並解釋了 TPU 的執行方式以及對一些特殊問題的解決方案。
Google 的 TPU 晶片僅用於執行神經網路服務,只是在用戶使用 Android 手機啟用語音指令或搜尋指令的時候才會執行。由於神經網路擁有自主學習的能力,因此不用特意訓它。但是,Jouppi 說,TPU 除了能讓神經網路能夠自主學習和高速運算外,最重要的是,Google 不需要為擔心數據運算能力不足而多建額外 15 個數據中心,這樣便節省了大量的成本。
外媒 Wired 認為,TPU 將為電腦晶片領域帶來重大轉變。由於 Google,Facebook,微軟等Internet巨頭使用深度神經網路構建其服務的動作越來越多的服務,他們都需要專門的晶片來訓練和執行這些 AI 模型。
但不同的是,Google 在構建自己的晶片,而很多公司還在使用 GPU 來解決深度神經網路和人工智慧的問題。
Google 自家晶片的出現,也為電腦晶片市場帶來了衝擊。由於有了自己的晶片,Google 不用再購買別家的晶片來適應自己的神經網路和人工智慧架構,而 Google 甚至有可能成為 TPU 晶片的供應商,因為像 Facebook,微軟和亞馬遜這類公司都是晶片的高級買主。同時,大型的晶片製造商,如英特爾等,也正在研發類似的處理器以適應新的市場需求。
適用於多種神經網路模型
此外,Google 的這塊 TPU 晶片可以用在當下任何一個深度神經網路中,包括從圖像識別中使用的神經網路到用於識別語音命令的神經網路等。用 Jouppi 的話說:
我們並不會因問別人造了個新的神經網路架構而把我們這塊晶片當作垃圾扔掉。
不過 Jouppi 也認為,TPU 還有進一步提高性能的空間。如果使用 NVIDIA K80 GPU 中的 GDDR5 ,TPU 便可以提供比 Google 當前測試中獲得的更好的性能。
Google 其實已經在兩年前就用 TPU 晶片了,而 TPU 晶片除了用於圖像識別和機器翻譯,最值得誇耀的事蹟就是那個在去年打敗韓國棋手李世石的人工智慧 AlphaGo 了。
TPU 晶片的未來?現在看來很有前景,而機器學習和人工智慧發展的步伐,或許也會因此加快。
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!