谷歌的操作系統無疑是地球上最大的計算機網絡,該系統由遍布四大洲15個地點的巨大數據中心組成。大約六年前,當該公司在Android手機上發布一種新的語音識別系統時,工程師們曾擔心這個網絡還不夠大。這些工程師意識到,如果世界上所有的安卓手機用戶每天使用谷歌語音搜索3分鐘,那么該公司將需要更大規模的數據中心,其可以是目前的兩倍。
當時,谷歌剛剛開始應用度神經網絡、復雜的數學系統來提供語音識別服務。其通過分析海量數據,可以執行特定的任務。近年來,機器學習技術不僅改變了語音識別,還有圖像識別、機器翻譯、網絡搜索諸多應用都發生了改變。在采用這種方法的過程中,谷歌發現錯誤率下降了25%。但這一轉變需要額外的動力。
谷歌并沒有將數據中心的規模擴大一倍,而是開發了自己的電腦芯片,專門用于運行深度神經網絡,稱為“張量處理單元”TPU。TPU工程師Norm Jouppi指出:“這種解決方案的性能更高。”事實上,相比于標準處理器,TPU的功耗效率(TOPS/Watt)提升了 30到 80倍。
谷歌神經網絡芯片
去年5月首次向公眾展示了這一定制化芯片,但沒有透露更多細節。現在,Jouppi和他的團隊其他成員已經發表了一篇論文,詳細解釋了芯片是如何運作的,以及它所解決的具體問題。谷歌把芯片單獨用于執行神經網絡,當有人在安卓手機上發出相關指令時,就會運行這些芯片。它并沒有被用于預先訓練的神經網絡。但正如Jouppi所解釋的那樣,即使是這樣也節約了大量開支。它不需要再建造15個數據中心。
這種芯片也代表了計算機處理器一個巨大轉變。隨著谷歌、Facebook、微軟和其他互聯網巨頭利用深度神經網絡提供越來越多的服務,它們都需要專門的芯片來訓練和執行這些人工智能模型。大多數公司都使用GPU來訓練他們的模型,這些芯片最初用于游戲和其他視覺應用程序,但也適用于神經網絡核心的數學運算。包括微軟和中國互聯網巨頭百度在內的一些公司,在執行這些模型時也使用了替代芯片,就像谷歌在TPU上所做的那樣。
區別在于,谷歌從零開始打造自己的芯片。該公司通過建立自己的數據中心,包括建設服務器和網絡設備來提高效率、降低成本。現在,它把這項工作一直細化到各個處理器上。
在此過程中,它也改變了原有的片市場。例如,由于谷歌自己設計了自己的產品,它不會再購買其他處理器來適應神經網絡的額外負荷。此舉會對芯片行業產生廣泛影響,比如Facebook、亞馬遜和微軟,都是世界上最大的芯片采購商。與此同時,包括英特爾在內的大型芯片制造商正在構建一種新的處理器,以捍衛自己的市場主導地位。
專注人工智能但用途多樣
Jouppi于2013年底加入谷歌,專門研究TPU。其曾在惠普和DEC等公司擔任硬件研究人員,這是谷歌許多頂級硬件設計師的發源地。他說,公司考慮將其神經網絡轉移到微軟曾使用的可編程芯片FPGA之上。這不會花費太長時間,而FPGA的適應性意味著公司可以根據需要重新為其他任務進行編程。但測試表明,這些芯片并沒有提升性能。他解釋說:“可編程芯片的開銷很大。”“我們的分析顯示,FPGA的速度并不比GPU快。”
最后,團隊選定了ASIC,這是一種為某一特定任務而打造的芯片。根據Jouppi的說法,谷歌專門為神經網絡設計了芯片,它可以比類似技術制造的普通芯片速度快15到30倍。也就是說,這種芯片適合任何類型的神經網絡,其中包括圖像識別中使用的卷積神經網絡以及用于識別語音指令的長短期記憶網絡。他說:“這種專用芯片與模式無關。”
兩年來谷歌的TPU效果不錯,谷歌已經將其應用于從圖像識別到機器翻譯的所有任務,去年春天破解圍棋的人工智能系統AlphaGo也是TPU這種芯片,其表現并不算糟。
(英文來源/連線 編譯/機器小易 校對/晗冰)