登Nature兩年,谷歌「AI 6小時設(shè)計芯片」遭打臉?大神Jeff Dean論文被官方調(diào)查,疑似隱藏源代碼
近日,一篇由谷歌大神Jeff Dean領(lǐng)銜的「AI自主設(shè)計芯片」研究,被曝正式接受Nature調(diào)查!
谷歌發(fā)表這篇論文后,又在GitHub上開源了具體的Circuit Training代碼,直接引起了整個EDA和IC設(shè)計社區(qū)的轟動。
然而,這項工作卻在此后不斷遭受質(zhì)疑。
就在9月20日,Nature終于在這篇論文下面附上了一則聲明:
編者按:請讀者注意,本文中的性能聲明已受到質(zhì)疑,編輯們正在對這些問題進(jìn)行調(diào)查,一旦調(diào)查結(jié)束,將酌情采取行動。
圖片
論文地址:https://www.nature.com/articles/s41586-021-03544-w
同時,一向給AI大模型潑冷水的馬庫斯也發(fā)現(xiàn),與這篇Nature論文相關(guān)的評論文章,也被作者撤回了。
馬庫斯在推特上這樣描述道:「又一個被炒得沸沸揚(yáng)揚(yáng)的人工智能成果要落空了?」
圖片
現(xiàn)在,相關(guān)的Nature評論文章前面,已經(jīng)被貼上了大寫的「retracted article(撤稿)」。
圖片
評論文章:https://www.nature.com/articles/d41586-021-01515-9
因為原本的那篇論文受到了質(zhì)疑,因此寫作相關(guān)評論文章的作者也將其撤回。
作者已撤回這篇文章,因為自文章發(fā)表以來,關(guān)于所報道論文所用方法,已出現(xiàn)了新信息,因此作者對于該論文貢獻(xiàn)的結(jié)論發(fā)生了改變。而Nature也在對論文中的結(jié)論進(jìn)行獨(dú)立調(diào)查。
圖片
另外,馬庫斯還挖出了這樣一則猛料:對于Jeff Dean團(tuán)隊的論文,前谷歌研究人員Satrajit Chatterjee早就提出了質(zhì)疑。
他寫出一篇反駁的論文,但谷歌表示這篇論文不會被發(fā)表,隨后,43歲的Chatterjee被谷歌解雇。
圖片
對于此事,紐約時報在2022年5月發(fā)文進(jìn)行了報道
代碼和論文不符
他們將質(zhì)疑寫成論文,并于今年3月收錄在國際頂尖的集成電路物理設(shè)計學(xué)術(shù)會議ISPD 2023中。
圖片
論文地址:https://arxiv.org/abs/2302.11014
在GitHub上,谷歌和斯坦福的聯(lián)合團(tuán)隊公開了代碼,而就是在這段代碼中,UCSD團(tuán)隊發(fā)現(xiàn)了「華點(diǎn)」。
UCSD團(tuán)隊以開源的方式實現(xiàn)了「Circuit Training」(簡稱CT)項目中的關(guān)鍵「黑盒」元素,然后發(fā)現(xiàn),CT與Nature論文中存在差異,并不能被復(fù)現(xiàn)!
圖片
項目地址:https://github.com/google-research/circuit_training#circuit-training-an-open-source-framework-for-generating-chip-floor-plans-with-distributed-deep-reinforcement-learning
在Nature論文中,谷歌表示,不到六個小時,他們的方法就自動生成了芯片布局圖,而該布局圖在所有關(guān)鍵指標(biāo)(包括功耗、性能和芯片面積)上都優(yōu)于人類生成的布局圖,或與之相當(dāng)。
而UCSD團(tuán)隊發(fā)現(xiàn),這篇論文中的數(shù)據(jù)和代碼都不是完全可用的。在此期間,他們也得到了谷歌工程師就相關(guān)問題的回復(fù)。
此外,一篇名為「Stronger Baselines for Evaluating Deep Reinforcement Learning in Chip Placement」的論文聲稱,更強(qiáng)的模擬退火基線優(yōu)于Nature論文,但顯然使用了谷歌內(nèi)部版本的CT,以及不同的基準(zhǔn)和評估指標(biāo)。
總之,Nature中的方法和結(jié)果,都無法被復(fù)現(xiàn)。
圖片
UCSD團(tuán)隊使用了CT、CMP、SA、ReP1Ace和AutoDMP生成了宏布局解決方案,還包括由人類專家生成的宏布局解決方案。在谷歌工程師的指導(dǎo)下,他們使用了0.5作為密度權(quán)重,而不是1
文中,UCSD團(tuán)隊描述了CT關(guān)鍵「黑盒」元素的逆向工程一一強(qiáng)制定向放置和智能體成本計算。
這兩個部分,在Nature論文中既沒有被明確記錄,也沒有開源。
另外,UCSD團(tuán)隊還實現(xiàn)了基于網(wǎng)格的模擬退火宏放置,用于比較Nature論文和更強(qiáng)的基線。
圖片
由不同宏放置器生成的Ariane-NG45宏放置
UCSD團(tuán)隊出具了一份實驗評估報告,揭示了CT的以下幾個方面——
(1)使用商業(yè)物理合成工具的初始放置信息會如何影響CT結(jié)果
(2)CT的穩(wěn)定性
(3)CT智能體的成本與商業(yè)EDA工具的「真實情況」輸出之間的相關(guān)性
(4)更強(qiáng)基線手稿中研究的ICCADO4測試用例的性能
總的來說,UCSD團(tuán)隊發(fā)現(xiàn),CT和Nature論文所述有幾個顯著的不匹配之處。
CT假設(shè)輸入netlist中的所有實例都有(x,y)位置,也就是說,netlist在輸入到CT之前,就已經(jīng)被放置了。
CT的分組、網(wǎng)格化和聚類過程,都使用了位置信息。
力導(dǎo)向放置
然而,這些信息在review中并不明顯,在Nature論文中也未被提及。
同樣,解釋CT的兩個關(guān)鍵「黑盒」元素——強(qiáng)制定向放置和智能體成本計算,也都沒有在Nature論文中明確記錄,也在CT中也不可見。
這些示例代表了理解和重新實現(xiàn)方法所需的逆向工程,這些方法迄今為止只能通過某些API可見。
擁塞成本計算
圖片
NG45中Ariane的CT訓(xùn)練曲線,由UCSD團(tuán)隊和谷歌工程師生成
除了這篇論文外,UCSD團(tuán)隊還有一個更加詳細(xì)的項目主頁,全面記錄了他們針對谷歌這篇Nature論文的研究。
圖片
項目地址:https://tilos-ai-institute.github.io/MacroPlacement/Docs/OurProgress/
概括來說,共有十八個「靈魂拷問」。
圖片
Nature共同一作長文回應(yīng)
對此,谷歌和斯坦福聯(lián)合團(tuán)隊的共同一作給出了一份非常詳盡的聲明:
「我們認(rèn)為,這篇最近在ISPD上發(fā)表的特邀論文,對我們的工作進(jìn)行了錯誤的描述?!?/p>
圖片
聲明地址:https://www.annagoldie.com/home/statement
首先,介紹一些重要背景:
- 論文提出的RL方法已經(jīng)用在了多代谷歌旗艦AI加速器(TPU)的生產(chǎn)上(包括最新的一代)。也就是說,基于該方法生成的芯片,已經(jīng)被制造了出來,并正在谷歌數(shù)據(jù)中心運(yùn)行。
亞10納米的驗證程度,遠(yuǎn)遠(yuǎn)超出了幾乎所有論文的水平。
ML生成的布局必須明顯優(yōu)于谷歌工程師生成的布局(即超越人類水平),否則不值得冒險。
- Nature進(jìn)行了長達(dá)7個月的同行評審,其中,審稿人包括2名物理設(shè)計專家和1名強(qiáng)化學(xué)習(xí)專家。
- TF-Agents團(tuán)隊獨(dú)立復(fù)現(xiàn)了Nature論文的結(jié)果。
圖片
- 團(tuán)隊于2022年1月18日開源了代碼。
截至2023年3月18日,已有100多個fork和500多顆星。
開發(fā)并開源這個高度優(yōu)化的分布式RL框架是一個巨大的工程,其應(yīng)用范圍已經(jīng)超出了芯片布局,甚至電子設(shè)計自動化領(lǐng)域(EDA)。
值得注意的是,在商業(yè)EDA領(lǐng)域,開源項目代碼的做法并不常見。
- 在團(tuán)隊的方法發(fā)布之后,有很多基于其工作的論文在ML和EDA會議上發(fā)表,此外,英偉達(dá)(NVIDIA)、新思科技(Synopsys)、Cadence和三星等公司也紛紛宣布,自己在芯片設(shè)計中使用了強(qiáng)化學(xué)習(xí)。
圖片
接著,是針對ISPD論文技術(shù)方面的回應(yīng):
- ISPD論文并沒有為「電路訓(xùn)練」(Circuit Training,CT)進(jìn)行任何預(yù)訓(xùn)練,這意味著RL智能體每次看到一個新的芯片時都會被重置。
基于學(xué)習(xí)的方法如果從未見過芯片,學(xué)習(xí)時間當(dāng)然會更長,性能也會更差!
團(tuán)隊則先是對20個塊進(jìn)行了預(yù)訓(xùn)練,然后才評估了表1中的測試案例。
圖片
- 訓(xùn)練CT的計算資源遠(yuǎn)遠(yuǎn)少于Nature論文中所用到的(GPU數(shù)量減半,RL環(huán)境減少一個數(shù)量級)。
- ISPD論文附帶的圖表表明,CT沒有得到正確的訓(xùn)練,RL智能體還在學(xué)習(xí)時就被中斷了。
- 在發(fā)表Nature論文時,RePlAce是最先進(jìn)的。此外,即使忽略上述所有問題,團(tuán)隊的方法不管是在當(dāng)時還是在現(xiàn)在,表現(xiàn)都比它更加出色。
- 雖然這項研究標(biāo)題是「對基于強(qiáng)化學(xué)習(xí)的宏布局的學(xué)習(xí)評估」,但它并沒有與任何基于該工作的RL方法進(jìn)行比較,甚至都沒有承認(rèn)這些方法。
- ISPD論文將CT與AutoDMP(ISPD 2023)和CMP的最新版本(一款黑盒閉源商業(yè)工具)進(jìn)行了比較。當(dāng)團(tuán)隊在2020年發(fā)表論文時,這兩種方法都還沒有問世。
- ISPD論文的重點(diǎn)是使用物理合成的初始位置來聚類標(biāo)準(zhǔn)單元,但這與實際情況無關(guān)。
- 物理合成必須在運(yùn)行任何放置方法之前執(zhí)行。這是芯片設(shè)計的標(biāo)準(zhǔn)做法,這也反映在ISPD論文的圖2中。
圖片
作為預(yù)處理步驟,團(tuán)隊會重復(fù)使用物理合成的輸出來對標(biāo)準(zhǔn)單元進(jìn)行聚類。需要說明的是,團(tuán)隊的方法不會放置標(biāo)準(zhǔn)單元,因為之前的方法(如DREAMPlace)已經(jīng)很好地對它們進(jìn)行了處理。
在每個RL事件中,團(tuán)隊都會向RL智能提供一個未放置宏(內(nèi)存組件)和未放置的標(biāo)準(zhǔn)單元簇(邏輯門),然后RL智能體會將這些宏逐一放置到空白畫布上。
九個月前,團(tuán)隊在開源存儲庫中記錄了這些細(xì)節(jié),并提供了執(zhí)行此預(yù)處理步驟的API。然而,這與論文中的實驗結(jié)果或結(jié)論沒有任何關(guān)系。
最后,團(tuán)隊表示,目前的方法并不完美,并且肯定會存在效果不太好的情況。
但這只是一個開始,基于學(xué)習(xí)的芯片設(shè)計方法必將對硬件和機(jī)器學(xué)習(xí)本身產(chǎn)生深遠(yuǎn)的影響。
用AI,6小時就能設(shè)計一款芯片?
回到Nature的這篇文章,2021年,由Jeff Dean領(lǐng)銜的谷歌大腦團(tuán)隊以及斯坦福大學(xué)的科學(xué)家們表示:
「一種基于深度強(qiáng)化學(xué)習(xí)(DL)的芯片布局規(guī)劃方法,能夠生成可行的芯片設(shè)計方案?!?/p>
圖片
為了訓(xùn)練AI干活兒,谷歌研究員可真花了不少心思。
與棋盤游戲,如象棋或圍棋,的解決方案相比較,芯片布局問題更為復(fù)雜。
圖片
在不到6小時的時間內(nèi),谷歌研究人員利用「基于深度強(qiáng)化學(xué)習(xí)的芯片布局規(guī)劃方法」生成芯片平面圖,且所有關(guān)鍵指標(biāo)(包括功耗、性能和芯片面積等參數(shù))都優(yōu)于或與人類專家的設(shè)計圖效果相當(dāng)。
要知道,我們?nèi)祟惞こ處熗枰笖?shù)月的努力」才能達(dá)到如此效果。
圖片
人類設(shè)計的微芯片平面圖與機(jī)器學(xué)習(xí)系統(tǒng)設(shè)計
在論文中,谷歌研究人員將芯片布局規(guī)劃方法當(dāng)做一個「學(xué)習(xí)問題」。
潛在問題設(shè)計高維contextual bandits problem,結(jié)合谷歌此前的研究,研究人員選擇將其重新制定為一個順序馬可夫決策過程(MDP),這樣就能更容易包含以下幾個約束條件:
(1)狀態(tài)編碼關(guān)于部分放置的信息,包括netlist(鄰接矩陣)、節(jié)點(diǎn)特征(寬度、高度、類型)、邊緣特征(連接數(shù))、當(dāng)前節(jié)點(diǎn)(宏)以及netlist圖的元數(shù)據(jù)(路由分配、線數(shù)、宏和標(biāo)準(zhǔn)單元簇)。
(2)動作是所有可能的位置(芯片畫布的網(wǎng)格單元) ,當(dāng)前宏可以放置在不違反任何硬約束的密度或擁塞。
(3)給定一個狀態(tài)和一個動作,「狀態(tài)轉(zhuǎn)換」定義下一個狀態(tài)的概率分布。
(4)獎勵:除最后一個動作外,所有動作的獎勵為0,其中獎勵是智能體線長、擁塞和密度的負(fù)加權(quán)。
研究人員訓(xùn)練了一個由神經(jīng)網(wǎng)絡(luò)建模的策略(RL智能體),通過重復(fù)的事件(狀態(tài)、動作和獎勵的順序),學(xué)會采取將「累積獎勵最大化」的動作。
然后,研究人員使用鄰近策略優(yōu)化(PPO)來更新策略網(wǎng)絡(luò)的參數(shù),給定每個放置的累積獎勵。
圖片
研究人員將目標(biāo)函數(shù)定義如下:
圖片
如前所述,針對芯片布局規(guī)劃問題開發(fā)領(lǐng)域自適應(yīng)策略極具挑戰(zhàn)性,因為這個問題類似于一個具有不同棋子、棋盤和贏條件的博弈,并且具有巨大的狀態(tài)動作空間。
為了應(yīng)對這個挑戰(zhàn),研究人員首先集中學(xué)習(xí)狀態(tài)空間的豐富表示。
谷歌研究人員表示,我們的直覺是,能夠處理芯片放置的一般任務(wù)的策略也應(yīng)該能夠在推理時將與新的未見芯片相關(guān)的狀態(tài)編碼為有意義的信號。
因此,研究人員訓(xùn)練了一個「神經(jīng)網(wǎng)絡(luò)架構(gòu)」,能夠預(yù)測新的netlist位置的獎勵,最終目標(biāo)是使用這個架構(gòu)作為策略的編碼層。
為了訓(xùn)練這個有監(jiān)督的模型,就需要一個大型的芯片放置數(shù)據(jù)集以及相應(yīng)的獎勵標(biāo)簽。
因此,研究人員創(chuàng)建了一個包含10000個芯片位置的數(shù)據(jù)集,其中輸入是與給定位置相關(guān)聯(lián)的狀態(tài),標(biāo)簽是該位置的獎勵。
為了準(zhǔn)確地預(yù)測獎勵標(biāo)簽并將其推廣到未知數(shù)據(jù),研究人員提出了一種基于邊的圖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),稱之為Edge-GNN(Edge-Based Graph Neural Network)。
在Edge-GNN中,研究人員通過連接每個節(jié)點(diǎn)的特征(包括節(jié)點(diǎn)類型、寬度、高度、x和y坐標(biāo)以及它與其他節(jié)點(diǎn)的連通性)來創(chuàng)建每個節(jié)點(diǎn)的初始表示。
然后再迭代執(zhí)行以下更新:
(1)每個邊通過應(yīng)用一個完全連通的網(wǎng)絡(luò)連接它連接的兩個節(jié)點(diǎn)更新其表示;
(2)每個節(jié)點(diǎn)通過傳遞所有的平均進(jìn)出邊到另一個完全連通的網(wǎng)絡(luò)更新其表示。
圖片
Edge-GNN的作用是嵌入netlist,提取有關(guān)節(jié)點(diǎn)類型和連通性的信息到一個低維向量表示,可用于下游任務(wù)。
基于邊的神經(jīng)結(jié)構(gòu)對泛化的影響
研究人員首先選擇了5個不同的芯片凈網(wǎng)表,并用AI算法為每個網(wǎng)表創(chuàng)建2000個不同的布局位置。
該系統(tǒng)花了48個小時在「英偉達(dá)Volta顯卡」和10個CPU上「預(yù)訓(xùn)練」,每個CPU都有2GB的RAM。
圖片
左邊,策略正在從頭開始訓(xùn)練,右邊,一個預(yù)訓(xùn)練的策略正在為這個芯片進(jìn)行微調(diào)。每個矩形代表一個單獨(dú)的宏放置
在一項測試中,研究人員將他們的系統(tǒng)建議與手動基線——谷歌TPU物理設(shè)計團(tuán)隊創(chuàng)建的上一代TPU芯片設(shè)計——進(jìn)行比較。
結(jié)果顯示,系統(tǒng)和人類專家均生成符合時間和阻塞要求的可行位置,而AI系統(tǒng)在面積、功率和電線長度方面優(yōu)于或媲美手動布局,同時滿足設(shè)計標(biāo)準(zhǔn)所需的時間要少得多。
但現(xiàn)在,這篇曾引起整個EDA和IC設(shè)計社區(qū)的轟動的論文,如今在被Nature重新調(diào)查,不知后續(xù)會如何發(fā)展。
參考資料:
https://tilos-ai-institute.github.io/MacroPlacement/Docs/OurProgress/
https://www.nature.com/articles/s41586-021-03544-w
https://www.nature.com/articles/s41586-021-03544-w
https://twitter.com/GaryMarcus/status/1706861649762869330