谷歌研究人員如何利用深度強化學習來優化芯片設計?

cnBeta


優化芯片設計是提高當今系統計算能力的關鍵。然而這是一個需要花費大量時間的過程,人們正在努力使其更有效率。考慮到這一點,現在谷歌研究人員已經將目光投向了機器學習,以幫助解決這個問題。

在最近發表在《arXiv上》的一篇題為 "通過深度強化學習進行芯片佈局(Chip Placement with Deep Reinforcement Learning) "的論文中,谷歌的團隊將芯片佈局問題定位為強化學習(RL)問題。然後,訓練好的模型將芯片block(每個芯片block都是一個獨立的模塊,如內存子系統、計算單元或控制邏輯系統)放置到芯片畫布上。

確定芯片block的佈局,這個過程被稱為芯片佈局規劃,是芯片設計過程中最複雜和最耗時的階段之一,它涉及到將網表放置到芯片畫布(2D網格)上,這樣可以使功率、性能和麵積(PPA)最小化,同時遵守密度和佈線擁塞方面的限制。儘管在這個問題上已經進行了數十年的研究,但仍然需要人類專家進行數週的迭代,以產生滿足多方面設計標準的解決方案。

深度強化學習模型的輸入是芯片網表、當前要放置節點的ID和一些網表元數據。網表圖和當前節點通過一個基於邊緣的圖神經網絡來生成部分放置的圖和候選節點的嵌入。

然後,前饋神經網絡將其作為一個聚合輸入,輸出一個學習到的表示方法,該方法可以捕捉有用的特徵,並幫助在所有可能的網格單元中生成一個概率分佈,通過策略網絡可以將當前節點放置在該節點上。整個過程可以用下面的GIF來封裝。左邊的芯片顯示了從頭進行的宏放置,右邊的芯片則是對一些初始放置進行微調。

通過這種設置,研究人員展示了效率和放置質量的提高,並表示對於一個人類專家需要數週時間的過程,用他們訓練有素的ML模型在6個小時內完成。

我們的目標是將PPA(功率、性能和麵積)降到最低,我們表明,在6個小時內,我們的方法可以產生出在現代加速器網表上的超人類或可比性的安置,而現有的基線需要人類專家在循環中進行,需要幾周的時間。

展望未來,該團隊認為,其模型展示了一種強大的自動芯片佈局方法,可以大大加快芯片設計的速度,這也是針對任何芯片佈局問題,這將使芯片設計過程的早期階段也能實現協同優化。


分享到:


相關文章: