谷歌正嘗試用深度學習技術開發新一代計算機芯片
據谷歌人工智能研究負責人Jeff Dean透露,谷歌正在嘗試通過人工智能程序推進專用芯片的內部開發,以加速其軟件。Dean在舊金山舉行的International Solid State Circuits Conference年度技術研討會主題演講之後,接受ZDNet採訪時說:“我們內部正在將人工智能技術用於一系列芯片設計項目中。”
過去幾年中,谷歌開發了一個AI硬件家族——Tensor Processing Unit(TPU芯片),用於在服務器計算機中處理AI。使用AI來設計芯片是一個良性循環:AI讓芯片變得更好,經過改良的芯片又能增強AI算法,依此類推。
在主題演講中,Dean向參會者介紹瞭如何使用機器學習程序決定計算機芯片的電路佈局,最終設計與人類芯片設計人員相比,其敏銳度相當甚至更高。
當“佈線”任務中,芯片設計人員通常會使用軟件來確定芯片中的電路佈局,有點類似於建築物設計平面圖。為了找到滿足多個目標的最佳佈局,需要考慮很多因素,包括提供芯片性能,同時還要避免不必要的複雜性,否則可能增加芯片製造成本。這種平衡需要大量的人類啟發式思維,以最佳方式進行設計。現在,人工智能算法也能夠以這種啟發式思維方式進行設計。
Dean舉例說,深度學習神經網絡只花了24個小時就解決了問題,而人類設計是需要6至8週,並且前者的解決方案更好。這減少了芯片總佈線數量,從而提高了效率。
Dean向參會者表示,用於解決這個問題的機器學習模型僅用24小時就提出了一種芯片設計方案,而人類設計師用了8週時間才完成。
這個深度學習程序類似於Google DeepMind部門為征服Go遊戲開發的AlphaZero程序,並且也是一種強化學習。為了實現目標,該程序嘗試了各種步驟來查看哪些步驟可以帶來更好的結果,只不過不是下棋,而是在芯片中設計最優的電路佈局。
與Go不同的是,這個解決方案的“空間”(佈線數量)要大得多,而且如上所述必須滿足很多要求,不是僅僅贏得比賽這一個目標。
Dean表示,這個內部研究還處於了解深度學習技術的早期階段。“我們正在讓我們的設計師進行試驗,看看如何開始在工作流程中使用該程序。另外我們正在試圖了解該程序的用處以及它在哪些方面可以改進。”
谷歌進軍AI設計領域正處於芯片生產復興之時,旨在讓不同大小的專用芯片都可以更快地運行機器學習。有機器學習科學家認為,專用AI硬件可以催生更大型、更高效的機器學習軟件項目。
Dean說,即使谷歌擴展了AI設計項目,仍然會有很多AI硬件初創公司(例如Cerebras Systems和Graphcore)給市場帶來多樣性,並迅速發展起來。並表示這種多樣性會很有意思。
“我不確定這些初創公司是否能夠在市場中生存下去,但這很有意思,因為其中很多初創公司採取了截然不同的設計方式。有些加速的模型很小,可以用於片上SRAM。”這意味著,機器學習模型可能非常小,不需要外置內存。
“如果你的模型可用於SRAM,那麼會變得非常高效,但如果不適合,那就不是你應該選擇的芯片。”
谷歌稱,這個機器學習程序創造了很多連人類設計師都沒有想到的新穎電路設計。
當被問及這些芯片是否會融入某些標准設計的時候,Dean暗示,多樣化是很有可能的,至少就目前來看。“我確實認為大家使用的方法會各有千秋,因為當前有關機器學習的研究呈現爆炸式增長,機器學習被用於解決各種各樣的問題,當有如此多選擇的時候,你肯定不想只盯著一個選擇,而是想要五個或者六個——不會是一千個,但得有五個或六個不同的設計點。”
Dean補充說:“哪些設計方法會脫穎而出,這一點令人期待,不管是能夠解決很多問題的通用方法,還是加速某個方面的專業化方法。”
談到谷歌除了TPU之外的舉措, Dean表示,谷歌正在嘗試越來越多的專用芯片。當被問及谷歌AI硬件是否可能延伸到其現有產品之外時,Dean回答說:“哦,是的。”
“毫無疑問,機器學習正在被越來越廣泛地用於谷歌產品中,這些產品既包括基於數據中心的服務,也有很多手機上的產品。”Dean指出,Google Translate就是一個擺脫了複雜性的程序,該程序現在支持七十種不同的語言,即使是在飛行模式下也可以在手機上使用。
Dean指出,谷歌擴充了面向AI的芯片家族。例如Edge TPU就涵蓋了“不同的設計點”,包括低功耗應用,以及數據中心核心的高性能應用。當被問及谷歌是否會進一步擴大多樣性的時候,Dean回答說:“我認為會的。”
Dean表示,“即使在非數據中心領域,你會也看到不同高功率環境——例如自動駕駛汽車——之間的區別,不一定是1瓦,有可能是50或100瓦。因此,針對這種環境和針對手機環境,你需要不同的方法。”同時,還有農業傳感器之類的超低功耗應用,這些應用程序可以執行一些AI處理,而無需將任何數據發送到雲中。這種傳感器如果支持AI就可以評估是否收集了(例如攝像頭的)任何數據,並將這些單獨的數據點發送回雲端進行分析。