雖然近年來各大EDA公司都在積極的將AI引入到自己的芯片設計工具當中,。但是早在2020年,谷歌就發(fā)布了題為《Chip Placement with Deep Reinforcement Learning》預印本論文,,介紹了其設計芯片布局的新型強化學習方法,。隨后在2021年,谷歌又在 Nature上發(fā)表了論文并將其開源了,。
近日,,谷歌詳細介紹了其用于芯片設計布局的強化學習方法,并將該模型命名為“AlphaChip” ,,據(jù)稱AlphaChip有望大大加快芯片布局規(guī)劃的設計,并使它們在性能,、功耗和面積方面更加優(yōu)化,。目前AlphaChip已發(fā)布在Github上與公眾共享,同時谷歌還開放了一個在 20 個 TPU 模塊上預訓練的檢查點,。據(jù)介紹,,AlphaChip在設計谷歌的張量處理單元 (TPU) 方面發(fā)揮了重要作用,并已被包括聯(lián)發(fā)科(MediaTek)在內(nèi)的其他公司采用,。
谷歌首席科學家 Jeff Dean 表示,,開放預訓練 AlphaChip 模型檢查點以后,外部用戶可以更容易地使用 AlphaChip 來啟動自己的芯片設計,。
從數(shù)個月縮短至數(shù)小時
通常芯片設計布局或平面圖是芯片開發(fā)中時間最長,、勞動強度最高的階段。近年來,,新思科技(Synopsys)開發(fā)了 AI 輔助芯片設計工具,,可以加速開發(fā)并優(yōu)化芯片的布局規(guī)劃。但是,,這些工具非常昂貴,。谷歌希望在一定程度上使這種 AI 輔助芯片設計方法大眾化。
如今,,如果由人類來為 GPU 等復雜芯片設計平面圖大約需要 24 個月,。不太復雜的芯片的平面規(guī)劃可能也至少需要幾個月的時間,而這意味著數(shù)百萬美元的成本,,因為維持一個設計團隊通常需要一大筆費用,。
谷歌表示,AlphaChip 加快了這一時間表,,可以在短短幾個小時內(nèi)創(chuàng)建芯片布局,。此外,據(jù)說它的設計非常出色,,因為它們優(yōu)化了電源效率和性能,。谷歌還展示了一張圖表,,顯示與人類開發(fā)人員相比,各種版本的 TPU 和 Trillium 的平均線長(wirelength)都有所減少,。
△圖中展示了 AlphaChip 在三代 Google 張量處理單元 (TPU) 中的平均線長(wirelength)減少量,,并與 TPU 物理設計團隊生成的位置進行了比較。
AlphaChip 是如何工作的,?
芯片設計并非易事,,部分原因在于計算機芯片由許多相互連接的塊組成,這些塊具有多層電路元件,,所有元件都通過極細的導線連接,。此外,芯片還有很多復雜且相互交織的設計約束,,設計時必須同時滿足所有約束,。由于這些復雜性,芯片設計師們在 60 多年來一直在努力實現(xiàn)芯片布局規(guī)劃過程的自動化,。
與 AlphaGo 和 AlphaZero 類似,,谷歌構建時 AlphaChip,也將芯片的布局規(guī)劃視為一種博弈,。
AlphaChip 從空白網(wǎng)格開始,,一次放置一個電路元件,直到完成所有元件的放置,。然后根據(jù)最終布局的質量給予獎勵,。谷歌提出了一種新穎的「基于邊」的圖神經(jīng)網(wǎng)絡使 AlphaChip 能夠學習互連芯片元件之間的關系,并在整個芯片中進行推廣,,讓 AlphaChip 在其設計的每一個布局中不斷進步,。
△左圖: AlphaChip 在沒有任何經(jīng)驗的情況下放置開源處理器 Ariane RISC-V CPU的電路元件;右圖: AlphaChip 在對 20 個 TPU 相關設計進行練習后放置相同的電路元件,。
AlphaChip 還使用強化學習模型,,其中代理在預設環(huán)境中采取行動,觀察結果,,并從這些經(jīng)驗中學習,,以便在未來做出更好的選擇。在 AlphaChip 的情況下,,系統(tǒng)將 chip floorplanning 視為一種游戲,,一次將一個 circuit 元件放置在空白網(wǎng)格上。該系統(tǒng)隨著解決更多布局而改進,,使用圖形神經(jīng)網(wǎng)絡來理解組件之間的關系,。
谷歌TPU及聯(lián)發(fā)科天璣芯片設計均已采用
自 2020 年以來,AlphaChip 一直被用于設計谷歌自己的 TPU AI 加速器,,這些加速器驅動著谷歌的許多大規(guī)模 AI 模型和云服務,。這些處理器運行基于 Transformer 的模型,,為谷歌的 Gemini 和 Imagen 提供支持。
為了設計 TPU 布局,,AlphaChip 首先在前幾代的各種芯片塊上進行練習,,例如片上和芯片間網(wǎng)絡塊、內(nèi)存控制器和數(shù)據(jù)傳輸緩沖區(qū),。這個過程稱為預訓練,。然后谷歌在當前的 TPU 塊上運行 AlphaChip 以生成高質量的布局。與之前的方法不同,,AlphaChip 解決了更多芯片布局任務實例,,因此變得更好、更快,,就像人類專家所做的那樣,。
可以說AlphaChip 改進了每一代 TPU 的設計,包括最新的第 6 代 Trillium 芯片,,確保了更高的性能和更快的開發(fā)。盡管如此,,谷歌和聯(lián)發(fā)科目前仍都只是依賴 AlphaChip 來制作芯片當中有限的一些區(qū)塊,,而人類開發(fā)人員仍然承擔了大部分的設計工作。
△谷歌最近三代張量處理單元 (TPU)(包括 v5e,、v5p 和 Trillium)中 AlphaChip 設計的芯片塊的數(shù)量
到目前為止,,AlphaChip 已被用于開發(fā)各種處理器,包括谷歌的 TPU 和聯(lián)發(fā)科旗艦級天璣 5G SoC芯片,,這些處理器廣泛用于各種智能手機,。此外,還包括谷歌首款基于 Arm 的通用數(shù)據(jù)中心 CPU—— Axion,。因此,,AlphaChip 能夠在不同類型的處理器中進行泛化。
谷歌表示,,它已經(jīng)在各種芯片模塊上進行了預訓練,,這使得 AlphaChip 能夠在實踐更多設計時生成越來越高效的布局。雖然人類專家可以學習,,而且許多人學得很快,,但機器的學習速度要高出幾個數(shù)量級。
擴展AI在芯片開發(fā)中的應用
谷歌表示,,AlphaChip 的成功激發(fā)了一波新的研究浪潮,,將人工智能用于芯片設計的不同階段。這包括將AI技術擴展到邏輯綜合,、宏選擇和時序優(yōu)化等領域,,Synopsys和Cadence已經(jīng)提供了這些技術,,盡管需要很多錢。據(jù)谷歌稱,,研究人員還在探索如何將 AlphaChip 的方法應用于芯片開發(fā)的更進一步階段,。
“AlphaChip 激發(fā)了芯片設計強化學習的全新研究路線,跨越了從邏輯綜合到布局規(guī)劃,、時序優(yōu)化等的設計流程,,”谷歌的一份聲明中寫道。
展望未來,,谷歌看到了 AlphaChip 徹底改變整個芯片設計生命周期的潛力:從架構設計到布局再到制造,,人工智能驅動的優(yōu)化可能會帶來更快的芯片、更?。锤阋耍┖透?jié)能的芯片,。雖然目前谷歌的服務器和基于聯(lián)發(fā)科天璣 5G 的智能手機受益于 AlphaChip,但未來應用程序可能會擴展到幾乎所有領域,。
目前AlphaChip 的未來版本已經(jīng)在開發(fā)中,,因此或許未來在AI的驅動下,芯片設計將會變得更加的簡單,。