三年前的AI芯片造假?谷歌陷學術不端醜聞,吹哨人被開除並已起訴
機器之心報道
機器之心編輯部
2021 年,谷歌在 Nature 發表了一篇頗具爭議的論文《A graph placement methodology for fast chip design》。(作者包括 Jeff Dean 和 Quoc V. Le 等著名研究者),其中提出了一種基於強化學習的芯片設計方法。據介紹,該芯片設計方法可在不到六小時的時間內自動生成芯片佈局,並且設計結果在功耗、性能和芯片面積等所有關鍵指標上都優於或媲美人類工程師,而後者需要耗費數月的艱苦努力才能達到類似效果。
事實上,谷歌在更早之前就已經發布了該論文的預印本,我們也曾做過報道,詳情可參閱《6 小時完成芯片佈局,谷歌用強化學習助力芯片設計》。
谷歌當時表示,這項基於強化學習的快速芯片設計方法對於資金緊張的初創企業大有裨益,可幫助初創企業開發自己的 AI 和其他專用芯片。並且,這種方法有助於縮短芯片設計週期,從而使得硬件可以更好地適應快速發展的技術研究。
論文雖然看起來大有前景,但三年來人們一直質疑不斷。近日,最近一期 CACM 上,Synopsys 的傑出架構師 Igor Markov 總結了人們對這篇論文的各種質疑。
杜克大學陳怡然教授在微博上分享這篇文章
機器之心簡要翻譯整理了這篇文章。
本文關鍵見解
導語
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,爲什麼會這樣?這篇文章試圖給出一些解釋。
谷歌 Team 1 的後續研究表明(如圖 7 所示),僅在對基本相同的設計進行預訓練時,預訓練才能改善結果。也許,谷歌在對 IC 設計進行多次修訂時利用了強化學習 —— 這是一個有效的背景,但這篇 Nature 論文中沒有描述這一點。此外,從頭開始運行時,商用 EDA 工具的速度比強化學習快幾個數量級,因此預訓練 RL 並不能縮小差距。
谷歌 CT/RL 代碼可以得到改進嗎?
RL 和 SA 比 SOTA 慢幾個數量級(表 3),但預訓練(CT 中沒有)僅能將 RL 的速度提高几倍。CT 代碼庫現在包含嘗試過的改進措施,但我們尚未看到芯片指標的重大提升。改進版 CT 庫和論文仍然存在四個主要障礙:
總結
這篇元分析討論了對 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