三年前的AI設計晶片造假?谷歌深陷學術不端醜聞,吹哨人被開除並已起訴

机器之心發表於2024-11-04

2021 年,谷歌在 Nature 發表了一篇頗具爭議的論文《A graph placement methodology for fast chip design》。(作者包括 Jeff Dean 和 Quoc V. Le 等著名研究者),其中提出了一種基於強化學習的晶片設計方法。據介紹,該晶片設計方法可在不到六小時的時間內自動生成晶片佈局,並且設計結果在功耗、效能和晶片面積等所有關鍵指標上都優於或媲美人類工程師,而後者需要耗費數月的艱苦努力才能達到類似效果。

圖片

事實上,谷歌在更早之前就已經發布了該論文的預印本,我們也曾做過報導,詳情可參閱《6 小時完成晶片佈局,谷歌用強化學習助力晶片設計》。

谷歌當時表示,這項基於強化學習的快速晶片設計方法對於資金緊張的初創企業大有裨益,可幫助初創企業開發自己的 AI 和其他專用晶片。並且,這種方法有助於縮短晶片設計週期,從而使得硬體可以更好地適應快速發展的技術研究。

論文雖然看起來大有前景,但三年來人們一直質疑不斷。近日,最近一期 CACM 上,Synopsys 的傑出架構師 Igor Markov 總結了人們對這篇論文的各種質疑。

圖片

杜克大學陳怡然教授在微博上分享這篇文章

機器之心簡要翻譯整理了這篇文章。

本文關鍵見解

  • 谷歌在 Nature 雜誌上發表了一篇關於 AI 晶片設計的革命性論文。大眾媒體讚譽其是一項重大突破,但它遭到了領域專家的質疑,他們認為這篇論文好得令人難以置信,而且缺乏可復現的證據。
  • 現在,交叉檢驗的資料表明,由於行為、分析和報告中的錯誤,Nature 的這篇論文的可信度受到了嚴重損害。對谷歌這篇論文中的欺詐和研究不當行為的詳細指控已在加利福尼亞州提交。
  • Nature 在執行自己的政策方面進展緩慢。推遲撤回有問題的出版物正在扭曲科研過程。為了維護科學研究的誠實可信,必須迅速果斷地採取行動。

導語

Mirhoseini et al. 在 2021 年在 Nature 發表了一篇論文,其中使用了強化學習(RL)來設計矽晶片。這篇論文得到了人們的巨大關注,也因證據不足而引發了爭議。這篇來自谷歌的論文隱瞞了關鍵的方法步驟和重現其結果所需的大部分輸入。

本文的元分析(meta-analysis)表明,有兩項獨立評估填補了這一空白。它們表明谷歌的這個強化學習方法趕不上人類工程師,也趕不上一種已知的演算法(模擬退火)和普遍可用的商業軟體,同時速度也更慢。透過對資料進行交叉檢驗後,Igor Markov 表示,由於行為、分析和報告中的錯誤,Nature 的這篇論文的可信度受到了嚴重損害。在本文發表之前,谷歌反駁了其內部仍然存在的欺詐指控。

由於 AI 應用需要更大的算力,因此可以透過更好的晶片設計來提高效率。發表於 Nature 雜誌的這篇論文聲稱實現了 AI 晶片設計的突破。它解決了最佳化晶片上電路元件位置的難題,並描述了對五個張量處理單元(TPU)晶片塊的應用。其還表示這個方法是當時學術界或工業界最好的。

該論文還將這些說法推廣到晶片設計之外,表示強化學習在組合最佳化方面的表現優於最先進的技術。「非凡的主張需要非凡的證據」(卡爾・薩根),但該論文缺乏公開測試示例的結果,也沒有分享所使用的專有 TPU 晶片塊。原始碼 —— 在論文發表後七個月釋出,以在最初的爭議之後支援該論文的發現 —— 缺少重現方法和結果所需的關鍵部分。

圖片

專案程式碼庫已經停止公開或刪除,https://github.com/googleresearch/circuit_training

來自谷歌和學術界的十多位研究人員對 Mirhoseini et al. 的實驗提出過質疑,並對所報告的研究結果提出了擔憂。此後,谷歌工程師多次更新他們的開原始碼,填補了一些缺失的部分,但依然不是全部。谷歌這個軟體庫中的開源晶片設計示例並未清楚地顯示谷歌 RL 程式碼的強大效能。

顯然,唯一公開聲稱獨立復現 Mirhoseini et al. 的技術是由加州大學聖地亞哥分校(UCSD)的研究人員於 2022 年秋季開發的。他們對谷歌開原始碼中缺少的關鍵元件進行了逆向工程,並完全重新實現了程式碼中缺失的模擬退火 (SA) 基線。谷歌沒有釋出 Mirhoseini et al. 使用的專有 TPU 晶片設計模組,排除了完全外部復現結果的可能性。因此,UCSD 團隊分享了他們在現代公共晶片設計上的實驗:SA 和商業電子設計自動化 EDA 工具的表現均優於谷歌的強化學習程式碼。

《紐約時報》和路透社的記者在 2022 年報導了這場爭議,並發現早在 Nature 雜誌提交之前,一些谷歌的研究人員(見表 1)就對他們負責檢查的宣告提出了異議。

該論文的兩位主要作者抱怨說,他們的研究一直存在欺詐指控。

2022 年,谷歌解僱了內部吹哨人,並拒絕批准發表一篇批評 Mirhoseini et al. 研究的文章。這位吹哨人依據吹哨人保護法,對谷歌提起了錯誤解僱的訴訟:法庭檔案詳細列出了與 Mirhoseini et al. 研究相關的欺詐和科學不端行為的指控。

2021 年 Nature 雜誌在同一期上刊登了一篇介紹該論文的新聞觀點文章,敦促復現該論文的結果。考慮到復現的障礙和復現嘗試的結果,文章的作者撤回了該文章。2023 年 9 月 20 日,Nature 雜誌為該論文新增了線上編者注。

圖片

一年後(2024 年 9 月晚些時候),隨著這篇文章的發表,Nature 雜誌的編者注已被移除,但出現了一份作者的附錄。這份附錄重複了早先宣告中討論的作者對批評的回應部分的論點。

但關於 Nature 論文的主要關切點還未得到解決。特別是,論文結果中關於一個額外的專有 TPU 塊的未公開統計資料,並未支援任何實質性的結論。這隻會加劇對選擇性報告和誤報的擔憂。釋出一個未說明預訓練資料的預訓練模型,也加劇了關於資料汙染的擔憂。

接下來,本文列出了對該論文的初步懷疑,並表明其中許多懷疑後來得到了證實。然後,本文檢查了 Mirhoseini et al. 是否改進了現有技術,概述了作者的回應,並討論了該工作在實踐中的可能用途。最後,本文得出結論並指出了政策含義。

這裡我們略過 Igor Markov 這篇文章中對原論文的介紹,詳情可參閱機器之心的報導《6 小時完成晶片佈局,谷歌用強化學習助力晶片設計》。我們重點來看對該研究的懷疑和指控。

最初的懷疑

儘管登上 Nature 的這項研究複雜而又令人印象深刻,但研究有著明顯的不足。

舉例來說,文中提出的強化學習(RL)被描述為能夠處理更廣泛的組合最佳化問題(如旅行商問題)。但是,該研究並沒有透過對關鍵問題的公式化和易於配置的測試示例來展示這一點,而是解決了一個專業任務(晶片設計的宏佈局),僅針對谷歌專有的 TPU 電路設計塊提供了五個塊的結果,而可用的塊遠不止這些。

此外,RL 公式只是最佳化了一個包含 HPWL 的簡化函式,但並未針對開放電路示例進行純 HPWL 最佳化的評估,而這在其他文獻中是常規操作。

可以說,這篇論文隱瞞了實驗的關鍵方面,存在嚴重的遺漏,主要表現在以下幾點:

第一點:標題中提到「快速晶片設計(fast chip design)」, 然而作者只描述了設計過程時間從幾天或幾周到幾小時的改善,但並沒有提供針對每個設計的具體時間,也沒有將設計過程細分為不同階段。文章中並沒說明白,幾天或幾周的基線設計過程是否包括了功能設計變更的時間、閒置時間、使用較低效的 EDA 工具的時間等。這種描述缺乏詳細資訊,使得讀者難以理解設計時間實際縮短到了何種程度,以及這種改進的具體影響。

第二點:文章聲稱強化學習(RL)在每個測試用例中的執行時間不超過六小時(針對五個 TPU 設計塊中的每一個),但這並沒有包括全部的 20 個塊。此外,RL 的執行時間僅涵蓋了宏佈局,而 RePlAce 和行業工具會放置所有電路元件。

第三點:Mirhoseini et al. 專注於宏佈局,但卻沒有提供每個 TPU 晶片塊中宏的數量、大小和形狀,以及面積利用率等關鍵設計引數。

第四點:Mirhoseini et al. 只給出了五個 TPU 塊的結果,其統計明顯不足,而且高方差指標會產生噪聲結果(見表 2)。通常情況下,使用更多的樣本是常見的做法(見上表 1)。

圖片

第五點:Mirhoseini et al. 沒有說明被強化學習(RL)超越的人類晶片設計師的資質水平。撇開可復現性不談,這些結果後來在 Cheng et al. 的研究中被證明是可以輕易改進的。

第六點:Mirhoseini et al. 聲稱改善了面積,但晶片面積和宏面積在佈局過程中並未改變,標準單元面積也沒有變化(參見表 2)。

第七點:對於結果隨時間推移而最佳化的迭代演算法,應該公平地比較每個測試用例在相同執行時間下哪個具有更好的質量指標,或在相同質量下哪個具有更好的執行時間,或兩者都有所改進。Mirhoseini et al. 沒有提供這樣的證據。特別是,如果基於機器學習的最佳化使用了非凡的計算資源,那麼在其最有競爭力的形式中,模擬退火(SA)最佳化也應當使用同等的計算資源。這意味著在評估和比較這兩種方法的效果時,應確保它們在資源使用上處於同一水平,以保證比較的公正性。

對於專家來說,Mirhoseini et al. 提出的方法似乎存在缺陷,主要表現在:

H1. 與 SOTA 相比,提出的 RL 使用了過多的 CPU/GPU 資源。因此快速晶片設計的說法需要仔細證實。

H2. 逐個放置宏是最簡單的方法之一。然而即使在深度 RL 的驅動下,逐個放置看起來也很不方便。

H3. Mirhoseini et al. 使用了與 20 多年前類似的電路分割槽(聚類)方法。眾所周知,這些技術與互連最佳化目標有所不同。

H4. Mirhoseini et al. 將宏的位置限制在一個粗粒度的網格上,而最新的方法則避免了這種限制。在圖 1(左)中,宏被自由放置,但谷歌的強化學習傾向於將宏分散開來,並且不允許在如圖 1(左)中心這樣的大區域內放置單元。圖 2 展示了這種差異。這表明,雖然強化學習技術在處理某些設計任務上具有潛力,但其在處理大規模電路設計時可能需要依賴於簡化的網格系統,這可能限制了其最佳化效果和應用範圍。

圖片

圖片

H5.Mirhoseini et al. 使用的力導向放置技術,仍有很大的改進空間。

除了上述內容,還有值得懷疑的基準。Nature 雜誌使用了多個基準來宣稱所提技術的優越性。然而人類基準沒有記錄,並且不可復現。

B1. Mirhoseini et al. 和表 1 中的關鍵結果給出了五個 TPU 設計模組的晶片指標。但與 SA 的比較並沒有報告這些晶片指標。

B2. Mirhoseini et al. 提到,強化學習(RL)的結果經過了模擬退火(SA)的後處理,但缺乏消融研究來評估 SA 對晶片指標的影響。

B3. 在 Mirhoseini et al. 的研究中,RePlAce 被用作基準,但這種使用方式與其預期用途不一致。

B4. Mirhoseini et al. 沒有描述在模擬退火(SA)中如何初始化宏位置,這表明作者可能採用了一種可以改進的簡單方法。後來,Bae et al. 確定了 SA 基線中的更多缺點,而 Cheng et al. 也證實了這些問題。

更多證據

那篇 Nature 論文發表幾個月後,那是在最初階段的爭議之後,Bae et al.、谷歌的文件和開原始碼、Nature 同行評議、Yue et al. 給出了更多資料。

Nature 給出了對 Mirhoseini et al. 的同行評議檔案以及作者的反駁。在漫長的來回溝通中,作者向審稿人保證,宏的位置在 RL 放置後沒有被修改,證實了宏是粗粒度網格放置的。在幾份投稿中,Bae et al. 實現了 Nature 審稿人的要求,並在 17 個公開晶片設計示例上對谷歌的技術進行了基準測試,結果表明:先前的方法明顯優於谷歌 RL。

美國和德國的一些教授公開表達了對這篇 Nature 論文的質疑。當研究人員注意到谷歌開源版本中的缺陷時,例如分組(聚類)流程,谷歌工程師釋出了更多程式碼(但不是全部),這反倒引發了更多問題。

又過了一年,最初的懷疑變大了,因為結果表明,當宏佈局不侷限於網格時,人類設計師和商用 EDA 工具的表現均優於谷歌這個方法。在 Cheng et al. 的表 2 中,作者估計了透過 RL 最佳化的代理成本函式與 Nature 論文表 1 中使用的晶片指標的秩相關性。Cheng et al. 在表 3 中估計了基於 RL 的最佳化之後,晶片指標的平均值和標準差。

本文的表 2 給出了一些總結,可以看到所有晶片指標的秩相關性都很低,而 TNS 和 WNS 的噪聲程度很高。

因此,Mirhoseini et al. 對 TNS 和 WNS 的最佳化依賴於有缺陷的代理,併產生了統計意義可疑的結果。可以注意到,在 Ariane-NG45 以及 BlackParrot-NG45 上的 TNS 的 σ/|μ | > 0.5。除了媒體的批評,Mirhoseini et al. 也受到了三位美國教授的質疑。

圖片

未公開使用商業工具的 (x, y) 位置

UCSD 的那篇論文中給出了強有力的證據和谷歌工程師的確認,表明作者隱瞞了一個關鍵細節:在對輸入網表進行聚類時,谷歌程式碼中的 CT merge 會讀取一個位置以根據位置重組叢集。為了生成宏的 (x, y) 位置,論文的作者使用了 Synopsys 的商業 EDA 工具生成的所有電路元件(包括宏)的初始 (x, y) 位置。

Mirhoseini et al. 的主要作者確認使用了這一步驟,並聲稱這並不重要。但在 Cheng et al. 的論文中,該步驟可將關鍵指標提高 7-10%。因此,Mirhoseini et al. 的結果需要未被明確說明的演算法步驟,例如從商業軟體中獲取 (x, y) 資料。

Cheng et al. 的論文中還列舉了更多未在論文中說明的技術,其中還提到了 Nature 論文、其原始碼與谷歌晶片設計實際使用的程式碼之間的差異。這些差異包括代理成本函式中項的特定權重、與電路不同的鄰接矩陣構造,以及 Mirhoseini et al. 的論文中沒有原始碼或完整描述的幾個「黑箱」元素。Bae et al.、Cheng et al.、Macro Placement Repo 提供了缺失的描述。此外,Mirhoseini et al. 的結果與所用方法不符,因為論文中沒有提到一些關鍵元件。僅憑描述無法復現其結果和方法。

訓練資料和測試資料之間存在資料洩漏

根據 Mirhoseini et al. 的說法,「當我們將策略網路暴露給更多種類的晶片設計時,它就不太容易過度擬合。」

但谷歌 Team 1 後來在 Yue et al. 中表明,對「多樣化 TPU 塊」進行預訓練並沒有提高結果質量。對「以前的網表版本」進行預訓練會稍微提高質量。對 RL 進行預訓練並在類似設計上對其進行評估可能是 Mirhoseini et al. 方法論中的一個嚴重缺陷。由於谷歌沒有釋出專有的 TPU 設計或每個設計的統計資料,所以無法比較訓練和測試資料。

可能的侷限性

Mirhoseini et al. 沒有透露其方法的主要侷限性,但卻表示其可在更廣泛的組合最佳化中取得成功。Mirhoseini et al. 中的 Ariane 設計顯示了相同大小的宏模組:這是一個潛在的限制,因為商用晶片設計通常會使用多種不同的宏尺寸。然而,他們沒有報告每個 TPU 塊的基本統計資料:宏的數量及其形狀、設計面積利用率以及宏佔用的面積分數。根據同行評議和谷歌工程師對 Cheng et al. 作者的指導,TPU 塊的面積利用率似乎低於典型的商用晶片設計。

谷歌 RL 在 Bae et al. 和 Cheng et al. 中使用的 Adya 和 Markov 的具有挑戰性的公共基準測試上表現不佳(如圖 2 所示),這表明存在未公開的侷限性。

另一個可能的限制是對預置(固定)宏的處理不當,這在行業佈局中很常見,但 Mirhoseini et al. 沒有討論過。透過干擾預置宏,網格化可能會影響實踐中的可用性。

在公共基準測試上的表現不佳的原因也可能是由於對專有 TPU 設計的過度擬合。

使用中等的模擬退火基線

谷歌 Team 2 的更強基準論文《Stronger baselines for evaluating deep reinforcement learning in chip placement》透過在 swap、shift 和 mirror 操作中新增 move 和 shuffle 操作,改進了谷歌 Team 1 在 Mirhoseini et al. 中使用的並行 SA。在最佳化相同的目標函式時,這種改進的 SA 通常會在更短的時間內產生比 RL 更好的結果。

Cheng et al. 透過獨立實現 SA 復現了 Bae et al. 的定性結論,發現 SA 結果的方差小於 RL 結果。

此外,Bae et al. 為 SA 提出了一種簡單快速的宏初始化啟發式方法,並在比較 RL 與 SA 時可均衡計算時間。

鑑於 SA 在 1980 到 1990 年代被廣泛使用,與弱的 SA 基線相比,自然會導致新的 RL 技術被高估。

這篇 Nature 論文是否提高了現有技術水平?

Nature 雜誌的社論在討論該論文時推測:「這是一項重要的成就,將對加速供應鏈產生巨大的幫助。」

但在多家晶片設計和 EDA 公司進行評估和復現嘗試後,可以肯定地得出結論,這篇 Nature 論文沒有取得任何重要成就,因為以前的晶片設計軟體,特別是來自 Cadence Design Systems 的軟體,可以更快地產生更好的佈局。如果該論文的審稿人或公眾都知道這些事實,那麼該論文關於改進 TPU 設計的主張將是荒謬的。

這篇 Nature 論文聲稱人類比商業 EDA 工具產生了更好的結果,但沒有給出證實。

谷歌 Team 2 和 UCSD 團隊採用不同的方法將 Mirhoseini et al. 中的方法與基線方法進行比較,累積報告了與商業 EDA 工具、人類設計師、學術軟體以及 SA 的兩個獨立自定義實現的比較結果。

谷歌 Team 2 遵循 Mirhoseini et al. 中的描述,沒有提供初始佈局資訊。UCSD 團隊試圖復現谷歌實際所做的事情以產生結果(缺乏 Mirhoseini et al. 的詳細資訊)。

谷歌 Team 2 可以訪問 TPU 設計模組,並證明預訓練的影響實際上很小。

儘管 UCSD 團隊無法訪問谷歌的訓練資料和程式碼,但還是獲得了與 Mirhoseini et al. 類似的結果,無需預訓練。他們還按照谷歌 Team 2 的指令重新實現了 SA,並引入了幾個新的晶片設計示例(表 1)。

Nature 論文中 RePlAce 的使用方式與其預期用途不一致。Bae et al.、Cheng et al. 透過正確使用 RePlAce, 在 ICCAD 2004 基準測試中為 RePlAce 取得了出色的結果。

Nature 論文中使用的模擬退火的實現存在障礙,消除障礙(在同一原始碼庫中)改進了結果。如果正確實現,SA 會使用更少的執行時間產生比谷歌 CT/RL 更好的解決方案,並且兩者都被賦予相同的代理成本函式。Bae et al.、Cheng et al. 證明了這一點。

與谷歌 CT/RL 相比,SA 持續改進了線長和功率指標。對於電路時序指標 TNS 和 WNS,SA 產生的噪聲較小,但與 RL 的結果相當。回想一下,SA 和 RL 最佳化的代理函式不包括時序指標,這使得 SA 或 RL 實現這些改進的斷言顯得很可疑。

谷歌 CT/RL 未能在人類基線、商業 EDA 工具和 SA 的質量上有所提高。它也沒有改進執行時 SOTA(表 3),並且作者沒有透露每個設計資料或設計過程的時間。如果配置 / 實現得當,RePlAce 和 SA 會提供更強的基線。

對這篇 Nature 論文批評的反駁

儘管媒體進行了批評並提出了技術問題,但作者未能消除 Mirhoseini et al. 的方法和結果的復現的剩餘障礙。

UCSD 團隊的工程努力克服了這些障礙,他們跟進了谷歌 Team 2 批評 Nature 論文的工作,然後分析了其中的許多問題。在 CT 程式碼庫出現之前,谷歌 Team 2 就可以訪問谷歌 TPU 設計和論文中使用的原始碼。Cheng et al. 和 Macro Placement Repo 的 UCSD 作者可以訪問 CT 並受益於谷歌 Team 1 工程師的長期參與,但無法訪問 Bae et al. 或 Mirhoseini et al. 中使用的 SA 程式碼或 CT 框架中缺失的其他關鍵程式碼片段。

然而,Bae et al.、Cheng et al. 的結果與 Macro Placement Repo 相互印證,並且他們的定性結論是一致的。UCSD 的 Ariane-NG45 結果與 Google Team 1 工程師的結果非常匹配,Cheng et al. 中表明 UCSD 生成的 Ariane-NG45 的 CT 訓練曲線與 Google Team 1 工程師生成的結果相匹配。谷歌 Team 1 工程師仔細審查了該論文以及 2022 年秋季和 2023 年冬季的研究結果,沒有提出異議。

Nature 論文的兩位主要作者於 2022 年 8 月離開谷歌,但在 2023 年 3 月,他們對 Cheng et al. 的結果提出了反對。沒有彌補原工作的缺陷。這些反對意見立即在宏佈局程式碼庫的 FAQ 部分得到解決。其中一個問題是 Cheng et al. 的實驗中缺乏預訓練。

預訓練

Cheng et al. 使用谷歌 Circuit CT 庫中的程式碼和指令進行訓練,其中指出(2023 年 6 月):「以下結果是從頭開始訓練的結果,因為目前無法共享預訓練模型。」

根據 Macro Placement Repo 中的 MacroPlacement FAQ,Cheng et al. 沒有使用預訓練,因為根據谷歌的 CT FAQ,不需要預訓練來重現 Mirhoseini et al. 的結果。此外,谷歌沒有公佈預訓練資料。

谷歌 Team 2 使用谷歌內部的程式碼評估預訓練,發現對與 SA 或 RePlAce 的比較沒有影響。

谷歌 Team 1 表明「不同 TPU 塊」的預訓練並沒有改善結果,只改善了執行時間。「以前的網表版本」的預訓練略有改善。CT 文件或論文字身沒有討論、披露或釋出此類先前版本。

換句話說,Nature 論文的主要作者希望其他人使用預訓練,但他們沒有足夠詳細地描述它以進行復現,沒有釋出它的程式碼或資料,並且已經表明它不會改善預訓練的結果。

2024 年 9 月(發表幾年後),作者宣佈釋出預訓練模型,但未釋出預訓練資料。因此,我們無法確保用於測試的特定示例未在預訓練中使用。

基準老舊

另一個反對意見是 Bae et al. 和 Cheng et al. 使用的公共電路基準測試據稱使用了過時的基礎設施。

事實上,這些基準已經使用 HPWL 目標進行了評估,該目標可以在晶片設計的幾何 2D 縮放下準確縮放,並且仍然適用於所有技術節點(第 2 節)。ICCAD 基準是由那篇論文的同行評審員 #3 要求的。當 Bae et al. 和 Cheng et al. 實現了這個要求,在路由變得相關之前,谷歌 RL 遇到了麻煩:在 HPWL 最佳化中,RL 差了 20% 左右(HPWL 是 CT/RL 最佳化的代理成本中最簡單但最重要的項)。

Cheng et al. 的實驗中,沒有訓練到收斂

Macro Placement Repo 中的 FAQ #15 立即解決了這一問題:「CT GitHub 儲存庫提供的任何指南中都沒有描述『訓練到收斂』。」

後來,他們的額外實驗表明,「訓練直到收斂會惡化一些關鍵晶片指標,同時改善其他指標,凸顯了代理成本和晶片指標之間的不良相關性。總體而言,與 ISPD 2023 論文中報告的模擬退火和人類宏放置的結果相比,直到收斂的訓練不會發生質的變化。」Bae et al. 的 RL-vs-SA 實驗早於 CT 框架,也早於 Mirhoseini et al. 聲稱的訓練不到 6 小時就收斂的方法。

Nature 論文使用的計算資源非常昂貴且難以復現。由於 RL 和 SA 演算法都會在早期產生可行的解決方案,然後逐漸改進代理函式,因此 Cheng et al. 的盡力而為的比較使用的計算資源比 Mirhoseini et al. 的計算資源要少,並且 RL 和 SA 之間具有同等性。結果:SA 擊敗 RL。

Bae et al. 使用與 Mirhoseini 相同的計算資源對 RL 和 SA 進行了比較。Cheng et al. 的結果與 Bae et al. 的結果一致。如果給予更多資源,SA 和 RL 不太可能進一步改善晶片指標,因為其與 Mirhoseini 的代理函式相關性較差。

該論文的主要作者在 Goldie 和 Mirhoseini 在宣告《Statement on reinforcement learning for chip design》中提到,該論文被大量引用,但他們沒有引用谷歌之外的任何積極的復現結果來清除所有已知的障礙。Bae et al. 和 Cheng et al. 沒有討論在 IC 設計中使用 RL 的其他方法,因此這裡不再進行一般性結論。

谷歌這篇論文中的成果可用嗎?

發表於 Nature 的這篇谷歌論文聲稱這些方法可應用於最近的谷歌 TPU 晶片,這似乎佐證了他們聲稱的東西:即這些方法改進了最新技術水平。但除了含糊的一般性宣告外,沒有報告明確說明對生產級晶片的晶片指標改進。

前文已經表明,該論文和框架中的方法落後於 SOTA,例如 1980 年代的模擬退火(SA)。此外,谷歌的 Bae et al. 內部實現的 SA 足以替代那篇 Nature 論文中提出的強化學習方法。谷歌既聲稱在 TPU 設計中使用了這個 RL 方法,但實際上這個方法又落後於 SOTA,為什麼會這樣?這篇文章試圖給出一些解釋。

  • 鑑於晶片時序指標 TNS 和 WNS 在強化學習結果中的方差較大,所以使用遠遠更長的執行時間,嘗試使用不同的代理成本函式和超引數設定進行多次獨立隨機嘗試可能會改善最佳結果,但 SA 也能做到這一點。
  • 使用內部方法(即使是較差的方法)是行業實踐中稱為 dogfooding(吃自己的狗糧)的常見方法。在大多數晶片中,一些塊並不重要(不會影響晶片速度),是很好的 dogfooding 候選。這可以解釋谷歌為什麼選擇性地公佈生產級使用」和報告。(注:在晶片設計領域,dogfooding 是指晶片設計公司內部的工程團隊會使用自己設計的晶片進行測試和驗證,以確保晶片滿足預期的效能、功能和質量。這種方法可以幫助團隊發現潛在的設計缺陷、最佳化使用者體驗,並提前解決問題,而不是等到產品釋出後才被客戶發現。)
  • 強化學習的結果由 SA30 進行過後處理,但 CT FAQ 否認了這種後處理 ——TPU 設計流程中使用了後處理,但在將 RL 與 SA 進行比較時未使用。但由於成熟的 SA 始終勝過強化學習,因此 SA 完全可以替代強化學習(可以使用 SA 中的自適應溫度排程來適應初始位置)。

谷歌 Team 1 的後續研究表明(如圖 7 所示),僅在對基本相同的設計進行預訓練時,預訓練才能改善結果。也許,谷歌在對 IC 設計進行多次修訂時利用了強化學習 —— 這是一個有效的背景,但這篇 Nature 論文中沒有描述這一點。此外,從頭開始執行時,商用 EDA 工具的速度比強化學習快幾個數量級,因此預訓練 RL 並不能縮小差距。

圖片

谷歌 CT/RL 程式碼可以得到改進嗎?

RL 和 SA 比 SOTA 慢幾個數量級(表 3),但預訓練(CT 中沒有)僅能將 RL 的速度提高几倍。CT 程式碼庫現在包含嘗試過的改進措施,但我們尚未看到晶片指標的重大提升。改進版 CT 庫和論文仍然存在四個主要障礙:

  • RL 最佳化的代理成本並不能反映電路時序,因此改進 RL 可能無助於改進 TNS 和 WNS。
  • 在最佳化給定的代理函式時,SA 優於 RL。因此,即使使用更好的代理,RL 也可能會失敗。
  • RL 在粗粒度網格上放置宏會限制它們的位置(圖 2)。當人類忽略粗網格時,他們會找到更好的宏位置。商用 EDA 工具也避免了這種限制,並且優於谷歌的 CT/RL。
  • 作為預處理步驟的聚類會導致放置和網表分割槽目標之間不匹配。

總結

這篇元分析討論了對 Mirhoseini et al. 那篇 Nature 論文的結果的復現和評估,以及其中方法、結果和宣告的有效性。他們發現,那篇論文中包含機器學習中的多種可疑做法,包括不可重複的研究實踐、挑選好結果、誤報和可能的資料汙染。

基於交叉檢驗的新資料,本文得出了具有足夠冗餘度的結論:由於研究中實現、分析和報告中的錯誤,該論文的可信度嚴重不足。遺漏、不一致、錯誤和失實陳述影響了他們的方法、資料、結果和解釋。

關於那篇 Nature 論文的結論

谷歌 Team 2 可以訪問谷歌的內部程式碼,而 Cheng et al. 對缺失的元件進行了逆向工程和 / 或重新實現。谷歌 Team 2 和 UCSD 團隊從類似的實驗中得出了一致的結論,並且每個團隊都進行了額外的觀察。

這裡交叉檢查了谷歌 Team 2 和 UCSD Team 報告的結果,並考慮了 CT 框架、Nature 同行評議和 Yue et al. ,然後總結了這些工作得出的結論。這證實了對這些宣告的許多初步懷疑,並發現了其他缺陷。

因此,很明顯,Mirhoseini et al. 的 Nature 論文在多個方面具有誤導性,以至於讀者無法相信其最重要的宣告和結論。Mirhoseini et al. 沒有改進 SOTA,而原始論文的方法和結果無法從提供的描述中重現,這違反了 Nature 的既定編輯政策。依賴專有的 TPU 設計進行評估,以及實驗報告不足,繼續阻礙著方法和結果的可復現性。

這篇 Nature 論文作者試圖駁斥批評,但未能成功。

令人驚訝的是,自 Cheng et al. 發表論文以來,Mirhoseini et al. 的作者在一年半內沒有提供新的令人信服的實證結果。

對晶片設計的影響

這裡僅強調了那篇 Nature 論文方法中的不足之處。但 2024 年來自中國的一項研究成果《Benchmarking end-to-end performance of AI-based chip placement algorithms》使用他們新的獨立評估框架比較了七種混合尺寸佈局技術,其中有 20 個電路(其中七個帶有宏)。

他們在晶片指標上的端到端研究結果表明,基於 ML 的技術落後於 RePlAce(嵌入在 OpenROAD 中)和其他基於最佳化的技術:DREAMPlace(基於 GPU 的 RePlAce 演算法變體)和 AutoDMP(圍繞 DREAMPlace 的貝葉斯最佳化 wrapper)。儘管復現 Mirhoseini et al. 的方法具有明顯的必要性,但 Wang et al. 的作者無法提供這樣的結果。

政策影響

理論論證和實證證據表明,各個領域發表的大量論文無法復現,而且可能不正確。比如 Nature 雜誌這篇論文就加劇了復現危機,破壞了人們對已發表研究的信任。

Retraction Watch 每年能追蹤到 5000 起撤稿事件,包括突出的研究不端行為案例。其表示,「研究不端行為是一個嚴重的問題,而且(可能)越來越嚴重」,這使得我們更有必要將誠實的錯誤與故意誇大和不端行為區分開來。機構需要給出回應,包括在 Nature 撤稿通知中進行明確說明。

Nature 的編輯政策應被廣泛而嚴格地遵守。引自《Nature Portfolio》:

「出版的固有原則是,其他人應該能夠復現和借鑑作者發表的主張。在 Nature Portfolio 期刊上發表論文的條件是,作者必須及時向讀者提供材料、資料、程式碼和相關協議,而無需要求資格…… 出版後,如果讀者遇到作者拒絕遵守這些政策的情況,應聯絡期刊的主編。」

具體到 Mirhoseini et al. 這篇論文,雜誌社論堅稱「技術專長必須廣泛分享」。但是,當稿件作者忽視公開基準測試的要求並阻礙復現時,他們的技術主張應該受到懷疑(尤其是如果他們後來不同意與他們的工作進行比較)。

根據同行評議檔案,這篇論文的接收取決於程式碼和資料的釋出,但在 Mirhoseini et al. 發表時或之後,這都沒有發生。

這些作者還對那篇 Nature 論文進行了修改,聲稱程式碼已經可用。但釋出的程式碼中仍然存在嚴重遺漏。這尤其令人擔憂,因為該論文省略了關鍵的比較和細節,並且負責評估該專案的谷歌吹哨人在加州法院宣誓指控存在欺詐行為。這使得復現變得更加關鍵。

對於已發表的科學主張,得出明確無誤的結論符合每個人的利益。作者、Nature 雜誌的編輯和審稿人以及研究界都應承擔責任。尋求真相是大家共同的義務。

參考連結:

https://cacm.acm.org/research/reevaluating-googles-reinforcement-learning-for-ic-macro-placement/

https://weibo.com/2199733231/OErfamQry

相關文章