從谷歌AI設(shè)計(jì)芯片上,我們看到了“智能”的本質(zhì)
在上周發(fā)表于同行評審科學(xué)雜志《自然》中的論文里,Google Brain團(tuán)隊(duì)的科學(xué)家們介紹了一種用于布局規(guī)劃的深度強(qiáng)化學(xué)習(xí)技術(shù),借助AI的力量對計(jì)算機(jī)芯片內(nèi)的不同元件進(jìn)行放置協(xié)調(diào)。研究人員們設(shè)法使用強(qiáng)化學(xué)習(xí)技術(shù)設(shè)計(jì)出下一代張量處理單元,也就是谷歌引以為傲的專用AI處理器。
在芯片設(shè)計(jì)當(dāng)中使用軟件并非新鮮事物,但谷歌研究人員們介紹道,這種新的強(qiáng)化學(xué)習(xí)模型能夠“自動(dòng)生成芯片布局圖,其成果在各項(xiàng)關(guān)鍵指標(biāo)(包括功耗、性能與芯片面積等)上都等同甚至優(yōu)于由人類給出的芯片布局方案。”更重要的是,其設(shè)計(jì)周期要遠(yuǎn)遠(yuǎn)低于人類工作時(shí)長。
事實(shí)上,AI在眾多領(lǐng)域表現(xiàn)出的強(qiáng)于人類的智能水平已經(jīng)得到各方關(guān)注。一家媒體將其描述為“能夠以超越人類的速度設(shè)計(jì)出計(jì)算機(jī)芯片的AI軟件”,并表示“谷歌的全新AI能夠在6個(gè)小時(shí)之內(nèi)設(shè)計(jì)出一套以往人類工程師需要幾個(gè)月才能完成的芯片設(shè)計(jì)方案。”
另一篇報(bào)道則認(rèn)為,“AI技術(shù)在AI設(shè)計(jì)芯片領(lǐng)域的宏圖遠(yuǎn)景才剛剛拉開帷幕。”
但在通讀這篇論文之后,真正打動(dòng)我的并不是這套負(fù)責(zé)設(shè)計(jì)計(jì)算機(jī)芯片的AI系統(tǒng)的極度復(fù)雜性,而是人類與AI之間和諧而高效的協(xié)同作用。
類比、直覺與獎(jiǎng)勵(lì)
這篇論文將有待解決的問題描述為:“芯片布局規(guī)劃流程,包括將網(wǎng)表放置在芯片畫布(二維網(wǎng)格)之上,優(yōu)化性能指標(biāo)(例如功耗、時(shí)序、面積與線長),同時(shí)遵循嚴(yán)格的密度限制與路由擁塞約束。”
基本上,這項(xiàng)任務(wù)的核心就是以最佳方式放置芯片元件。然而,與其他經(jīng)典問題一樣,隨著芯片元件數(shù)量的持續(xù)增加,尋找最佳設(shè)計(jì)會(huì)變得愈發(fā)困難。
現(xiàn)有軟件有助于加快芯片排布的發(fā)現(xiàn)速度,但如果目標(biāo)芯片的復(fù)雜度過高,傳統(tǒng)軟件方案明顯無法滿足需求。研究人員決定從強(qiáng)化學(xué)習(xí)解決其他復(fù)雜空間問題的眾多案例中汲取經(jīng)驗(yàn),并發(fā)現(xiàn)圍棋AI在這方面似乎頗具潛力。
研究人員們在論文中寫道,“芯片布局規(guī)劃與圍棋非常相似,也有一個(gè)個(gè)棋子(例如網(wǎng)表拓?fù)?、宏?jì)數(shù)、宏尺寸與縱橫比)、棋盤(不同的畫布尺寸與縱橫比)以及獲勝條件(例如密度及路由擁塞限制等不同評估指標(biāo)的相對重要度)。”
芯片設(shè)計(jì)需要用到人類智能中最重要、也最為復(fù)雜的元素之一——類比。我們?nèi)祟惪梢詮囊酝鉀Q的問題中提取抽象經(jīng)驗(yàn),并將這些經(jīng)驗(yàn)應(yīng)用于新的問題。雖然我們這種能力的使用可以說是潛移默化、順暢自然,但其本身極為重要、甚至可以說是遷移學(xué)習(xí)的實(shí)現(xiàn)前提。正因?yàn)槿绱?,研究人員才能將芯片布局問題重新定義為棋類游戲,并像其他科學(xué)家解決圍棋游戲那樣攻克設(shè)計(jì)難題。
深度強(qiáng)化學(xué)習(xí)模型特別擅長搜索這種巨大空間,而人類大腦的算力水平在物理上根本實(shí)現(xiàn)不了這樣的處理。不過科學(xué)家們面臨的芯片設(shè)計(jì)難題,在困難度上又比圍棋高了幾個(gè)數(shù)量級。研究人員們寫道,“在包含1000個(gè)單元格的網(wǎng)格上放置1000個(gè)節(jié)點(diǎn)集群時(shí),其狀態(tài)空間達(dá)到千次方數(shù)量級(大于10的2500次方),而圍棋的狀態(tài)空間僅為10的360次方。”而實(shí)際需要設(shè)計(jì)的芯片,則往往由數(shù)百萬個(gè)節(jié)點(diǎn)組成。
最終,他們使用人工神經(jīng)網(wǎng)絡(luò)解決了復(fù)雜性難題。人工神經(jīng)網(wǎng)絡(luò)能夠?qū)⑿酒O(shè)計(jì)編碼為向量表達(dá),并大大降低問題空間的探索難度。根據(jù)論文的解釋,“我們有著這樣一種直覺,即能夠執(zhí)行常規(guī)芯片放置任務(wù)的策略,還應(yīng)該能夠在推理過程中將未見過的全新芯片相關(guān)狀態(tài)編碼為有意義的信號(hào)。因此,我們訓(xùn)練出一種能夠預(yù)測新網(wǎng)表位置獎(jiǎng)勵(lì)的神經(jīng)網(wǎng)絡(luò)架構(gòu),而最終目標(biāo)是使用這套架構(gòu)作為策略中的編碼器層。”
很多朋友都覺得“直覺”這東西不太靠譜,但直覺的背后卻涉及一種非常復(fù)雜且鮮為人知的過程,涉及經(jīng)驗(yàn)、無意識(shí)知識(shí)、模式識(shí)別等等。我們的直覺往往來自在某個(gè)領(lǐng)域的多年經(jīng)驗(yàn)積累,但同時(shí)也會(huì)從其他專業(yè)中得到啟發(fā)。幸運(yùn)的是,在高性能計(jì)算與機(jī)器學(xué)習(xí)工具的幫助之下,對直覺判斷進(jìn)行測試正變得越來越簡單。
另外值得注意的是,強(qiáng)化學(xué)習(xí)系統(tǒng)需要精心設(shè)計(jì)的獎(jiǎng)勵(lì)機(jī)制。事實(shí)上,有科學(xué)家認(rèn)為只要設(shè)定正確的獎(jiǎng)勵(lì)函數(shù),強(qiáng)化學(xué)習(xí)甚至足以達(dá)成人工通用智能(AGI)。而如果沒有正確的獎(jiǎng)勵(lì),強(qiáng)化學(xué)習(xí)代理則可能陷入無限循環(huán),重復(fù)愚蠢而無意義的嘗試。在以下視頻中,可以看到參加賽船冠軍賽的強(qiáng)化學(xué)習(xí)代理一味追求高積分,反而放棄了真正重要的目標(biāo)——贏下比賽。
谷歌科學(xué)家們決定將布局規(guī)劃系統(tǒng)的獎(jiǎng)勵(lì)設(shè)計(jì)為“代理線長、擁塞度與密度的負(fù)加權(quán)總和。”這里的權(quán)重,屬于強(qiáng)化學(xué)習(xí)模型開發(fā)及訓(xùn)練過程中必須調(diào)整的一項(xiàng)超參數(shù)。
有了正確的獎(jiǎng)勵(lì),強(qiáng)化學(xué)習(xí)模型就能利用其計(jì)算能力找到種種方法設(shè)計(jì)出能夠?qū)崿F(xiàn)獎(jiǎng)勵(lì)最大化的平面布局圖。
策劃數(shù)據(jù)集
系統(tǒng)中使用的深度神經(jīng)網(wǎng)絡(luò),則是通過監(jiān)督學(xué)習(xí)開發(fā)完成的。監(jiān)督機(jī)器學(xué)習(xí)需要借助標(biāo)記數(shù)據(jù)在訓(xùn)練期間調(diào)整模型參數(shù)。谷歌科學(xué)家們創(chuàng)建了“一套包含10000個(gè)芯片元件放置方案的數(shù)據(jù)集,其中輸入信息與給定放置方式保持相關(guān)狀態(tài),標(biāo)簽則為該放置方法的獎(jiǎng)勵(lì)。”
為了避免手動(dòng)創(chuàng)建放置平面圖,研究人員在數(shù)據(jù)集中不僅使用人工設(shè)計(jì)圖、也加入了不少計(jì)算機(jī)生成的數(shù)據(jù)。論文中并沒有詳盡介紹評估訓(xùn)練數(shù)據(jù)集中包含的算法生成示例到底有多少是由人類工程師設(shè)計(jì),但可以肯定的是,如果沒有高質(zhì)量的訓(xùn)練數(shù)據(jù),監(jiān)督學(xué)習(xí)模型最終只會(huì)給出糟糕的推理結(jié)論。
從這個(gè)意義上說,芯片設(shè)計(jì)AI系統(tǒng)明顯不同于其他強(qiáng)化學(xué)習(xí)程序——以AlphaZero為例,它能夠在完全無需人為干涉的情況下發(fā)展出強(qiáng)大的圍棋對弈策略。但未來,研究人員可能會(huì)開發(fā)出一種新的強(qiáng)化學(xué)習(xí)代理,有望自主設(shè)計(jì)平面圖、無需任何監(jiān)督學(xué)習(xí)元素。但我的個(gè)人猜測是,考慮到設(shè)計(jì)工作的高度復(fù)雜性,此類問題的解決可能仍然需要人類直覺、機(jī)器學(xué)習(xí)與高性能計(jì)算的強(qiáng)強(qiáng)聯(lián)合。
強(qiáng)化學(xué)習(xí)設(shè)計(jì)與人類設(shè)計(jì)
谷歌研究人員的探索帶來了種種有趣的結(jié)論,而其中最大的亮點(diǎn)當(dāng)數(shù)芯片的實(shí)際布局。我們?nèi)祟悤?huì)利用各種捷徑來克服自己大腦的物理局限。我們沒辦法一次性啃下包含大量復(fù)雜元素的“硬骨頭”,但人腦會(huì)對整個(gè)復(fù)雜系統(tǒng)進(jìn)行模塊化與分層拆解,一步步克服其中的挑戰(zhàn)。而這種自上而下進(jìn)行架構(gòu)考量與設(shè)計(jì)的能力,無疑將在負(fù)責(zé)解決極端復(fù)雜問題的系統(tǒng)中發(fā)揮重要的作用。
這里我們再來看一個(gè)軟件工程的例子,也就是我(作者)自己的專業(yè)領(lǐng)域。理論上,我們當(dāng)然可以在單一文件中通過一條規(guī)模巨大且連綿不絕的命令流中編寫整個(gè)程序。但軟件開發(fā)人員從來不會(huì)這么編程,我們只會(huì)從代碼片段、函數(shù)、類、模塊入手一步步搭建軟件成果,并通過定義良好的接口將各種組件連通起來。以此為基礎(chǔ),我們把階段性成果嵌套進(jìn)更大的體系,由此逐步構(gòu)建起一套分組件、分層級的架構(gòu)。如此一來,我們無需閱讀程序中的每一行也能理解它的運(yùn)作方式。模塊化機(jī)制使得多位程序員能夠同時(shí)開發(fā)同一程序,而原有程序中的組件也能供更多后續(xù)程序使用。有時(shí)候,單憑觀察程序中的類架構(gòu)就足以幫助我們找到正確的bug定位路徑或者正確的升級添加位置。正因?yàn)槿绱?,我們往往愿意犧牲速度來換取更高的模塊化水平與更高的設(shè)計(jì)質(zhì)量。
同樣的指導(dǎo)方針在計(jì)算機(jī)芯片設(shè)計(jì)中同樣有所體現(xiàn)。人為設(shè)計(jì)的芯片往往在不同模塊之間有著清晰的邊界。另一方面,谷歌強(qiáng)化學(xué)習(xí)代理設(shè)計(jì)出的平面圖則能夠從中找到電阻最小的路徑,而不再受人腦思維容量的限制。
我很好奇,未來這種AI輔助設(shè)計(jì)模式會(huì)不會(huì)成為新的趨勢甚至是常態(tài)?;蛘哒f,機(jī)器學(xué)習(xí)生成的高度優(yōu)化方案需要做出妥協(xié),由此更好地與人類工程師所強(qiáng)加的自上而下的考量方式相匹配。
AI + 人類智能
正如谷歌強(qiáng)化學(xué)習(xí)芯片設(shè)計(jì)師們所言,AI的硬件與軟件創(chuàng)新探索仍然離不開人類提供的抽象思維、問題定位、解決方案直覺以及驗(yàn)證數(shù)據(jù)選擇等重要能力。換言之,AI芯片能夠不斷增強(qiáng)這些技能,但卻很難徹底加以替代。
歸根結(jié)底,我認(rèn)為此次成果的發(fā)布并不代表“AI勝過了人類”、“AI能夠創(chuàng)造更智能的AI”或者“AI正在自我遞歸、自我增強(qiáng)”。更準(zhǔn)確地講,主體仍然是人類——人類在尋求可行的方法,將AI作為前所未有的強(qiáng)大工具借以克服自己的認(rèn)知限制并擴(kuò)展自身能力。如果這樣的良性循環(huán)真的能夠發(fā)展成熟,相信計(jì)算機(jī)芯片設(shè)計(jì)將成為AI與人類之間攜手共進(jìn)的一大理想場景。