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






























