芯片設(shè)計(jì)會(huì)議上的討論很少激烈。但一年前在物理設(shè)計(jì)國(guó)際研討會(huì)(ISPD) 上,事情變得一發(fā)不可收拾。有人將其形容為“火車(chē)失事”和“伏擊”。沖突的關(guān)鍵是谷歌針對(duì)芯片設(shè)計(jì)中一個(gè)棘手問(wèn)題的人工智能解決方案是否真的比人類(lèi)或最先進(jìn)的算法更好。它將成熟的男性電子設(shè)計(jì)自動(dòng)化 (EDA) 專(zhuān)家與兩名年輕的谷歌計(jì)算機(jī)科學(xué)家進(jìn)行較量,而潛在的爭(zhēng)論已經(jīng)導(dǎo)致一名谷歌研究員被解雇。
今年在同一個(gè)會(huì)議上,該領(lǐng)域的領(lǐng)導(dǎo)者、IEEE 研究員安德魯·卡恩 (Andrew Kahng ) 希望一勞永逸地結(jié)束爭(zhēng)吵。他和加州大學(xué)圣地亞哥分校的同事對(duì)谷歌的強(qiáng)化學(xué)習(xí)方法進(jìn)行了他所謂的“公開(kāi)透明的評(píng)估” 。使用 Google 的開(kāi)源版本的流程,稱(chēng)為 Circuit Training,并對(duì) Kahng 的團(tuán)隊(duì)不夠清楚的一些部分進(jìn)行逆向工程,他們將強(qiáng)化學(xué)習(xí)設(shè)置為針對(duì)人類(lèi)設(shè)計(jì)師、商業(yè)軟件和最先進(jìn)的學(xué)術(shù)算法。Kahng 拒絕就本文 與IEEE Spectrum交談,但他上周在虛擬舉行的 ISPD 上與工程師進(jìn)行了交談。
在大多數(shù)情況下,Circuit Training 不是贏家,但它具有競(jìng)爭(zhēng)力。鑒于實(shí)驗(yàn)不允許 Circuit Training 使用其標(biāo)志性能力——通過(guò)學(xué)習(xí)其他芯片設(shè)計(jì)來(lái)提高其性能,這一點(diǎn)尤其值得注意。
“我們的目標(biāo)是明確理解,讓社區(qū)繼續(xù)前進(jìn),”他告訴工程師。只有時(shí)間會(huì)證明它是否有效。
如何和何時(shí)
所討論的問(wèn)題稱(chēng)為放置?;旧?,它是確定邏輯塊或內(nèi)存塊應(yīng)該放置在芯片上的哪個(gè)位置的過(guò)程,以便最大限度地提高芯片的工作頻率,同時(shí)最大限度地降低其功耗和占用的面積。找到這個(gè)難題的最佳解決方案是最困難的問(wèn)題之一,可能的排列比圍棋游戲更多。
但圍棋最終被一種稱(chēng)為深度強(qiáng)化學(xué)習(xí)的人工智能擊敗,而這正是前谷歌大腦研究人員 Azalia Mirhoseini 和 Anna Goldie 應(yīng)用于放置問(wèn)題的方法。該方案當(dāng)時(shí)稱(chēng)為 Morpheus,將放置大塊電路(稱(chēng)為宏)視為游戲,學(xué)習(xí)尋找最佳解決方案。(宏的位置對(duì)芯片的特性有很大的影響。在 Circuit Training 和 Morpheus 中,一個(gè)單獨(dú)的算法用較小的部分填充了空白,稱(chēng)為標(biāo)準(zhǔn)單元。其他方法對(duì)宏和標(biāo)準(zhǔn)單元使用相同的過(guò)程。)
簡(jiǎn)而言之,這就是它的工作原理:芯片的設(shè)計(jì)文件以所謂的網(wǎng)表開(kāi)始——哪些宏和單元根據(jù)什么約束連接到哪些其他宏和單元。然后將標(biāo)準(zhǔn)cell收集到簇中以幫助加快訓(xùn)練過(guò)程。Circuit Training 然后開(kāi)始將宏一次一個(gè)地放置在芯片“畫(huà)布”上。當(dāng)最后一個(gè)關(guān)閉時(shí),一個(gè)單獨(dú)的算法會(huì)用標(biāo)準(zhǔn)單元填補(bǔ)空白,系統(tǒng)會(huì)快速評(píng)估嘗試,包括布線的長(zhǎng)度(越長(zhǎng)越差),它的密集程度(更多密集更糟),以及布線有多擁擠(你猜對(duì)了,更糟)。這稱(chēng)為代理成本,其作用類(lèi)似于計(jì)算如何玩視頻游戲的強(qiáng)化學(xué)習(xí)系統(tǒng)中的分?jǐn)?shù)。該分?jǐn)?shù)用作調(diào)整神經(jīng)網(wǎng)絡(luò)的反饋,并再次嘗試。清洗、沖洗、重復(fù)。當(dāng)系統(tǒng)最終了解其任務(wù)時(shí),商業(yè)軟件會(huì)對(duì)完整布局進(jìn)行全面評(píng)估,生成芯片設(shè)計(jì)人員關(guān)心的指標(biāo),例如面積、功耗和頻率限制。
谷歌的強(qiáng)化學(xué)習(xí)系統(tǒng)將放置稱(chēng)為宏的大型電路塊視為游戲。代理在芯片畫(huà)布上一次放置一個(gè)塊。然后一個(gè)單獨(dú)的算法填充稱(chēng)為標(biāo)準(zhǔn)單元格的較小部分。根據(jù)多個(gè)指標(biāo)對(duì)放置進(jìn)行評(píng)分,該分?jǐn)?shù)用作改進(jìn)代理的反饋。
經(jīng)過(guò)七個(gè)月的審查過(guò)程, Mirhoseini 和 Goldie于 2021 年 6 月在Nature 上發(fā)表了 Morpheus 的結(jié)果和方法。(Kahng 是第 3 號(hào)評(píng)論員。)并且該技術(shù)被用于設(shè)計(jì)不止一代Google 的 TPU AI 加速器芯片。(所以是的,你今天使用的數(shù)據(jù)可能已經(jīng)由運(yùn)行在部分由 AI 設(shè)計(jì)的芯片上的 AI 處理。但隨著 Cadence 和 Synopsys 等 EDA 供應(yīng)商全力投入 AI 輔助芯片設(shè)計(jì),這種情況越來(lái)越多。) 2022 年 1 月,他們?cè)?GitHub 上發(fā)布了開(kāi)源版本Circuit Training。但 Kahng 和其他人聲稱(chēng),即使是這個(gè)版本也不夠完整,無(wú)法重現(xiàn)這項(xiàng)研究。
作為對(duì)《自然》雜志的回應(yīng),一個(gè)獨(dú)立的工程師小組(主要在谷歌內(nèi)部)開(kāi)始研究,他們認(rèn)為這是一種將強(qiáng)化學(xué)習(xí)與既定算法進(jìn)行比較的更好方法。但這不是友好的競(jìng)爭(zhēng)。據(jù)媒體報(bào)道,其領(lǐng)導(dǎo)人 Satrajit Chatterjee 多次親自破壞 Mirhoseini 和 Goldie,并因此于 2022 年被解雇。
當(dāng) Chatterjee 還在谷歌時(shí),他的團(tuán)隊(duì)發(fā)表了一篇題為“ Stronger Baselines ”的論文,批評(píng)發(fā)表在《自然》雜志上的研究。他試圖在會(huì)議上展示它,但在經(jīng)過(guò)獨(dú)立決議委員會(huì)的審查后,谷歌拒絕了。在他被解雇后,該論文的早期版本在 2022 年 ISPD 之前 通過(guò)匿名 Twitter 帳戶(hù)泄露,導(dǎo)致公眾對(duì)抗。
基準(zhǔn)、基線和可重復(fù)性
當(dāng)IEEE Spectrum在 ISPD 2022 之后與 EDA 專(zhuān)家交談時(shí),批評(píng)者提出了三個(gè)相互關(guān)聯(lián)的問(wèn)題——基準(zhǔn)、基線和可重復(fù)性。
基準(zhǔn)是公開(kāi)可用的電路塊,研究人員可以在這些電路塊上測(cè)試他們的新算法。谷歌開(kāi)始工作時(shí)的基準(zhǔn)已經(jīng)有大約二十年的歷史了,它們與現(xiàn)代芯片的相關(guān)性存在爭(zhēng)議??柤永锎髮W(xué)教授 Laleh Behjat 將其比作規(guī)劃現(xiàn)代城市與規(guī)劃 17 世紀(jì)城市。她說(shuō),每個(gè)人所需的基礎(chǔ)設(shè)施是不同的。然而,其他人指出,如果每個(gè)人都在同一組基準(zhǔn)上進(jìn)行測(cè)試,研究社區(qū)就無(wú)法取得進(jìn)步。
Nature論文 沒(méi)有采用當(dāng)時(shí)可用的基準(zhǔn),而是專(zhuān)注于為 Google 的 TPU 做布局,這是一種復(fù)雜的尖端芯片,其設(shè)計(jì)對(duì) Google 以外的研究人員不可用。泄露的“Stronger Baselines”工作放置了 TPU 塊,但也使用了舊的基準(zhǔn)。雖然 Kahng 的新作品也為舊的基準(zhǔn)測(cè)試做了安排,但主要關(guān)注點(diǎn)集中在三個(gè)更現(xiàn)代的設(shè)計(jì)上,其中兩個(gè)是新推出的,包括一個(gè)多核 RISC-V 處理器。
基線是您的新系統(tǒng)與之競(jìng)爭(zhēng)的最先進(jìn)算法。Nature將使用商業(yè)工具的人類(lèi)專(zhuān)家與強(qiáng)化學(xué)習(xí)和當(dāng)時(shí)領(lǐng)先的學(xué)術(shù)算法 RePlAce 進(jìn)行了比較。Stronger Baselines 認(rèn)為Nature 的工作沒(méi)有正確執(zhí)行 RePlAce,并且還需要比較另一種算法,模擬退火。(公平地說(shuō),模擬退火結(jié)果出現(xiàn)在Nature論文的附錄中。)
但Kahng 真正關(guān)注的 是可重復(fù)性。他聲稱(chēng) Circuit Training 在發(fā)布到 GitHub 時(shí)未能允許獨(dú)立小組完全重現(xiàn)該過(guò)程。因此,他們自行對(duì)他們認(rèn)為缺失的元素和參數(shù)進(jìn)行逆向工程。
重要的是,Kahng 的團(tuán)隊(duì)公開(kāi)記錄了進(jìn)展、代碼、數(shù)據(jù)集和程序,以此作為此類(lèi)工作如何提高可重復(fù)性的示例。首先,他們甚至設(shè)法說(shuō)服 EDA 軟件公司 Cadence 和 Synopsys 允許發(fā)布實(shí)驗(yàn)中使用的高級(jí)腳本?!皩?duì)于我們的領(lǐng)域來(lái)說(shuō),這絕對(duì)是一個(gè)分水嶺,”Kahng 說(shuō)。
UCSD 的努力,簡(jiǎn)稱(chēng)為MacroPlacement,并不意味著要一對(duì)一地重做Nature論文或泄露的 Stronger Baselines 工作。除了使用 2020 年和 2021 年不可用的現(xiàn)代公共基準(zhǔn)測(cè)試外,MacroPlacement 還將 Circuit Training(雖然不是最新版本)與新的商業(yè)工具Cadence 的 Innovus 并發(fā)宏布局器 (CMP)以及在 Nvidia 開(kāi)發(fā)的稱(chēng)為AutoDMP的方法進(jìn)行了比較新的它只是在 Kahng 發(fā)言前的 ISPD 2023 分鐘公開(kāi)介紹。
強(qiáng)化學(xué)習(xí)與所有人
Kahng 的論文報(bào)告了使用兩種技術(shù)(開(kāi)源的 NanGate45 和GlobalFoundries 的商用 FinFET 工藝 GF12)實(shí)施的三種現(xiàn)代基準(zhǔn)設(shè)計(jì)的結(jié)果。( 《自然》雜志報(bào)道的 TPU 結(jié)果使用了更先進(jìn)的工藝技術(shù)。)Kahng 的團(tuán)隊(duì)測(cè)量了 Mirhoseini 和 Goldie 在他們的《自然》論文中所做的相同的六個(gè)指標(biāo):面積、布線長(zhǎng)度、功率、兩個(gè)時(shí)序指標(biāo),以及前面提到的代理成本。(代理成本不是生產(chǎn)中使用的實(shí)際指標(biāo),但它被包括在內(nèi)以反映自然論文。)結(jié)果好壞參半。
正如在《自然》雜志 的原始論文中所做的那樣,強(qiáng)化學(xué)習(xí)在大多數(shù)進(jìn)行直接比較的指標(biāo)上都擊敗了 RePlAce。(RePlAce 沒(méi)有為三個(gè)設(shè)計(jì)中最大的一個(gè)提供答案。)與模擬退火相比,Circuit Training 在生產(chǎn)指標(biāo)上贏多于輸。
對(duì)于這些實(shí)驗(yàn),大贏家是最新加入的 CMP 和 AutoDMP,它們?cè)诒热魏纹渌椒ǜ嗟那闆r下提供了最佳指標(biāo)。
在旨在匹配 Stronger Baselines 的測(cè)試中,使用較舊的基準(zhǔn)測(cè)試,RePlAce 和模擬退火幾乎總是擊敗強(qiáng)化學(xué)習(xí)。但這些結(jié)果只報(bào)告了一個(gè)生產(chǎn)指標(biāo),即線長(zhǎng),因此它們并沒(méi)有呈現(xiàn)完整的畫(huà)面,Mirhoseini 和 Goldie 爭(zhēng)論道。
缺乏學(xué)習(xí)
可以理解,Mirhoseini 和 Goldie 對(duì) MacroPlacement 工作有自己的批評(píng),但也許最重要的是它沒(méi)有使用在其他芯片設(shè)計(jì)上預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),從而剝奪了他們方法的主要優(yōu)勢(shì)。他們?cè)谝环怆娮余]件中寫(xiě)道,巡回訓(xùn)練“與所介紹的任何其他方法不同,它可以從經(jīng)驗(yàn)中學(xué)習(xí),在發(fā)現(xiàn)每個(gè)問(wèn)題時(shí)更快地做出更好的布置”。
但在 MacroPlacement 實(shí)驗(yàn)中,每個(gè)電路訓(xùn)練結(jié)果都來(lái)自一個(gè)以前從未見(jiàn)過(guò)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)?!斑@類(lèi)似于在每場(chǎng)比賽前重新設(shè)置 AlphaGo……然后在每次面對(duì)新對(duì)手時(shí)迫使它從頭開(kāi)始學(xué)習(xí)如何下圍棋!”
Nature論文 的結(jié)果證實(shí)了這一點(diǎn),表明系統(tǒng)學(xué)習(xí)的 TPU 電路塊越多,它為尚未見(jiàn)過(guò)的電路塊放置宏的效果就越好。它還表明,經(jīng)過(guò)預(yù)訓(xùn)練的強(qiáng)化學(xué)習(xí)系統(tǒng)可以在 6 小時(shí)內(nèi)產(chǎn)生與未經(jīng)訓(xùn)練的系統(tǒng)在 40 小時(shí)后質(zhì)量相同的位置。
新的爭(zhēng)議?
Kahng 的 ISPD 演講強(qiáng)調(diào)了Nature中描述的方法與開(kāi)源版本 Circuit Training 中的方法之間的特殊差異。回想一下,作為預(yù)處理步驟,強(qiáng)化學(xué)習(xí)方法將標(biāo)準(zhǔn)cell聚集成簇。在 Circuit Training 中,該步驟由商業(yè) EDA 軟件實(shí)現(xiàn),該軟件輸出網(wǎng)表——哪些單元和宏相互連接——以及組件的初始布局。
根據(jù) Kahng 的說(shuō)法,即使作為該論文的審稿人,他也不知道Nature作品中存在初始位置。根據(jù) Goldie 的說(shuō)法,生成稱(chēng)為物理綜合的初始布局是標(biāo)準(zhǔn)的行業(yè)慣例,因?yàn)樗笇?dǎo)網(wǎng)表的創(chuàng)建,即宏布局器的輸入。Nature和 MacroPlacement中的所有布局方法都被賦予了相同的輸入網(wǎng)表。
初始放置是否以某種方式給強(qiáng)化學(xué)習(xí)帶來(lái)了優(yōu)勢(shì)?是的,根據(jù) Kahng 的說(shuō)法。但從目前的實(shí)驗(yàn)來(lái)看,尚不清楚影響到什么程度,甚至是為什么。他的團(tuán)隊(duì)做了實(shí)驗(yàn),將三種不同的不可能的初始位置輸入到巡回訓(xùn)練中,并將它們與真實(shí)位置進(jìn)行比較。不可能版本的布線長(zhǎng)度要差 7% 到 10%。
Mirhoseini 和 Goldie 反駁說(shuō),初始放置信息僅用于聚類(lèi)標(biāo)準(zhǔn)單元,而強(qiáng)化學(xué)習(xí)不會(huì)放置這些信息。他們說(shuō),宏觀放置強(qiáng)化學(xué)習(xí)部分不知道初始放置。更重要的是,提供不可能的初始位置可能就像在標(biāo)準(zhǔn)cell聚類(lèi)步驟中使用大錘一樣,因此給強(qiáng)化學(xué)習(xí)系統(tǒng)一個(gè)錯(cuò)誤的獎(jiǎng)勵(lì)信號(hào)。“Kahng 帶來(lái)了一個(gè)劣勢(shì),而不是消除了優(yōu)勢(shì),”他們寫(xiě)道。
Kahng 建議即將進(jìn)行更精心設(shè)計(jì)的實(shí)驗(yàn)。
繼續(xù)
這場(chǎng)爭(zhēng)論當(dāng)然產(chǎn)生了后果,其中大部分是負(fù)面的。Chatterjee 與谷歌陷入了一場(chǎng)不當(dāng)終止訴訟。Kahng 和他的團(tuán)隊(duì)花費(fèi)了大量時(shí)間和精力來(lái)重建多年前完成的工作——也許是好幾次。Goldie 和 Mirhoseini 花了數(shù)年時(shí)間抵御來(lái)自未發(fā)表和未經(jīng)審閱的研究的批評(píng),他們的目標(biāo)是幫助改進(jìn)芯片設(shè)計(jì),離開(kāi)了一個(gè)歷來(lái)難以吸引女性人才的工程領(lǐng)域。自 2022 年 8 月以來(lái),他們一直在Anthropic致力于大型語(yǔ)言模型的強(qiáng)化學(xué)習(xí)。
如果有好的一面,那就是 Kahng 的努力為開(kāi)放和可重復(fù)的研究提供了一個(gè)模型,并添加到公開(kāi)可用的工具庫(kù)中,以推動(dòng)芯片設(shè)計(jì)的這一部分向前發(fā)展。也就是說(shuō),Mirhoseini 和 Goldie 在谷歌的團(tuán)隊(duì)已經(jīng)制作了他們研究的開(kāi)源版本,這在行業(yè)研究中并不常見(jiàn),并且需要一些重要的工程工作。
盡管發(fā)生了所有這些戲劇性的事情,但在芯片設(shè)計(jì)中,機(jī)器學(xué)習(xí)的普遍使用,特別是強(qiáng)化學(xué)習(xí),只是在傳播。甚至在開(kāi)源之前,不止一個(gè)團(tuán)隊(duì)能夠在 Morpheus 的基礎(chǔ)上進(jìn)行構(gòu)建。機(jī)器學(xué)習(xí)正在協(xié)助商業(yè) EDA 工具不斷發(fā)展的方面,例如來(lái)自Synopsys和Cadence 的工具。
但是,如果沒(méi)有不愉快,所有的好事都可能發(fā)生。
編輯:黃飛
?
評(píng)論