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