NeurIPS 2024|新一代晶片電路邏輯綜合,可擴充套件可解釋的神經電路生成框架

机器之心發表於2024-11-05
圖片

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com


本論文作者王治海是中國科學技術大學 2020 級碩博連讀生,師從王傑教授,主要研究方向為強化學習與學習最佳化理論及方法、人工智慧驅動的晶片設計等。他曾以第一作者在 TPAMI、ICML、NeurIPS、ICLR、AAAI 等頂級期刊與會議上發表論文七篇,一篇入選 ICML 亮點論文(前3.5%),曾獲華為優秀實習生(5/400+)、兩次國家獎學金(2017和2024)等榮譽。

近日,中科大王傑教授團隊(MIRA Lab)和華為諾亞方舟實驗室(Huawei Noah's Ark Lab)聯合提出了可生成具有成千上萬節點規模的神經電路生成與最佳化框架,具備高擴充套件性和高可解釋性,這為新一代晶片電路邏輯綜合工具奠定了重要基礎。論文發表在 CCF-A 類人工智慧頂級會議 Neural Information Processing Systems(NeurIPS 2024)。
圖片
  • 論文標題:Towards Next-Generation Logic Synthesis: A Scalable Neural Circuit Generation Framework
  • 論文地址:https://neurips.cc/virtual/2024/poster/94631

論文概覽

邏輯綜合(Logic Synthesis, LS)是晶片設計流程中承上啟下的關鍵環節,對晶片設計的效率和質量都具有重要影響。具體來說,邏輯綜合旨在生成精準滿足給定功能要求(如由電路輸入輸出對構成的功能真值表)的最優邏輯電路圖,是 NP 難問題。為了求解該問題,傳統方法主要依賴於硬編碼啟發式規則,易陷入次優解。

該框架能夠精確生成達1200節點規模的電路,該方案為新一代晶片電路邏輯綜合工具提供了可行思路與奠定了關鍵基礎。相關技術和能力已整合入華為自研EDA工具。

引言

晶片電路生成的目標是在給定電路功能描述的條件下,生成精準滿足電路功能要求且節點數少的邏輯電路圖。傳統的電路生成方法將高階電路描述語言直接轉譯為冗餘度較高的邏輯電路,這給後續的電路最佳化帶來了較大壓力。近期,一些研究透過引入機器學習方法,將電路生成與最佳化過程有機結合,展現了新一代邏輯綜合技術的美好前景。

神經網路架構搜尋(Differential Neural Network Architecture Search, DNAS)是一種利用梯度下降法搜尋離散結構的技術。已有研究將其應用於生成低冗餘電路,展現出了顯著的潛力。然而,作者發現現有方法在生成電路時,尤其是在處理大規模電路時,難以實現完全準確的生成,且其效能對超引數極為敏感。

在深入的實驗分析後,作者進一步總結出將 DNAS 應用於電路生成的三個主要難點

  1. DNAS 傾向於生成大量的跨層連線,導致網路表達能力受限。
  2. 神經網路結構與電路固有結構存在較大偏差,顯著降低了 DNAS 的搜尋效率。
  3. 不同輸入輸出示例資料的學習難度差異顯著,現有方法難以學習難例輸入輸出對。

為系統性地解決這些挑戰,作者提出了一種新穎的正則化三角形電路網路生成框架(T-Net),實現了完全準確且可擴充套件的電路生成。此外,他們還提出了一種由強化學習輔助的演化演算法,以實現高效且有效的電路最佳化。在四個電路評測標準資料集中,實驗表明他們的方法能夠精確生成多達 1200 節點規模的電路,且其效能顯著優於國際邏輯綜合競賽 IWLS 2022 和 2023 中冠亞軍方案。

背景與問題介紹

邏輯電路生成介紹

邏輯電路圖(And-Inverter Graph, AIG)是邏輯電路的一種表示方式。AIG 為有向無環圖,圖中的節點代表與邏輯閘,圖中的邊代表邏輯閘間的連線,連線上可以新增非門。邏輯電路的大小為 AIG 中的節點數,在邏輯功能不變的情況下,節點數越少表示電路結構越緊湊,這將有助於後續的晶片設計最佳化。

邏輯電路生成方法將電路的完整輸入輸出對組合,即功能真值表,建模為訓練資料集,並利用機器學習模型自動從資料集中學習生成邏輯電路圖 [1,2,3]。在電路設計的實際應用中,要求設計精準滿足功能要求的電路結構,因此生成的邏輯電路圖必須在訓練集上達到 100% 的準確率。

基於 DNAS 的電路生成介紹

神經網路架構搜尋(Differential Neural Network Architecture Search, DNAS)[4] 近期被用於生成邏輯電路圖 [2,3]。這類方法將一個 L 層,每層 K 個神經元的神經網路建模為 AIG,其中神經元視為邏輯閘,神經元之間的連線視為邏輯閘之間的電路連線,神經元可以連線到更淺層的任意神經元。對於一個引數化的神經網路,每個神經元都固定執行與邏輯運算,而神經元之間的連線引數是可學習的。

為了能夠使用梯度下降法訓練網路結構,現有方法會執行 2 種連續化操作:1. 神經元的邏輯運算用等價的可微方式計算,例如 a 與 b 用 a⋅b 代替 [5]。2. 將離散的網路連線方式引數化,並在前向傳播時使用 gumbel-softmax [6] 對連線進行連續化和取樣。

在訓練期間,真值表的每一行輸入 - 輸出對都作為訓練資料輸入網路,透過梯度下降法訓練連線引數。在測試期間,每個節點的輸入根據引數只選擇一條連線,從而將網路離散化,模擬實際的邏輯電路。

動機實驗 ——DNAS 難以準確生成電路

作者使用上述 DNAS 方法生成電路,生成準確率和電路的規模如圖 1(a)所示。結果顯示,現有方法難以準確生成電路,且準確率隨著電路規模增大而減小。同時,他們發現生成準確率對網路初始化方式及其敏感,方法的魯棒性較差。
圖片
圖 1. 觀察實驗。(a) 現有的 DNAS 方法難以準確生成電路,特別是大規模電路。(b) 輸出節點位於網路淺層,跳過了大量可用節點。(c) 實際只有約四分之一的節點被使用 (深色)。(d) 電路各層節點數統計,與普遍使用的方形網路存在差異。

為了進一步分析產生上述挑戰的原因,作者進行了詳細的實驗。

首先,他們發現網路利用率很低。由於節點間的連線可以跨層,因此存在被跳過的節點。圖 1(b)展示了經過訓練後輸出節點位於網路中的位置,可以看到大部分網路層都被跳過,沒有連線進最終電路。圖 1(c)展示了網路中實際使用到的節點(深色),只有約四分之一的底層節點被使用。過度的跨層連線浪費了大量網路結構,限制了網路的表達能力。

接著,他們發現實際電路結構與網路之間存在結構偏差。他們統計了使用傳統方法生成電路的各層節點數,如圖 1(d)所示。圖中展示了實際電路在底層有著更多節點,而頂層則節點更少,這與普遍使用的方形網路存在差異。

最後,他們發現不同輸入 - 輸出示例之間存在學習難度差。具體來說,它們在訓練時的 loss 收斂速度存在顯著差異。這與通常認為的獨立同分布(IID)假設並不相同。更多細節可見原論文第 4 章節。

方法介紹

針對以上三個挑戰,作者設計了新穎的正則化三角形電路生成框架(T-Net),如圖 2 所示。它包含 3 個部分:多標籤資料變換、三角形網路結構、正則化損失函式
圖片
圖 2. 作者提出的電路生成框架圖,包含多標籤資料變換、三角形網路結構、正則化損失函式三部分。

多標籤資料變換:提高可擴充套件性

隨著輸入位數的增多,真值表的長度呈指數型增長。為了解決擴充套件性挑戰,作者設計了基於夏農定理的多標籤訓練資料變換。香濃定理證明了一個邏輯函式可以透過一個分解變數分解成兩個子函式:
圖片
由於真值表是邏輯函式的對偶表示,他們透過以下兩步完成資料變換:首先選定一個輸入變數,透過固定它的值為 0 或 1,將真值表分解為 2 個長度減半的子表。接著將 2 個子表並列起來,每個輸入組合的輸出數量翻倍。

透過將真值表合併生成,網路可以學習到更多可複用的結構,從而減少最終的電路節點數。多標籤資料變換可以不斷減少真值表的輸入位數,從而降低學習難度,加速電路生成。

三角形網路結構:減小搜尋空間

為了使網路結構更好地適配電路特性,作者設計了三角形的網路結構。具體來說,更寬的底層結構增強了網路的表達能力,而細長的頂層結構減少了利用率低的冗餘節點,減小了搜尋空間,加速了收斂。同時,實驗證明了這種窄頂結構也能有效加速具有大量輸出的電路生成。

正則化損失函式:精確生成電路

本論文的方法包含跨層連線正則化和布林難度識別損失函式兩部分。對於跨層連線,作者對可學習的連線分佈引數施加權重正則化,鼓勵網路連線更臨近層的節點。對於較難學習的輸入 - 輸出示例,他們在損失函式中為這些示例施加更大的權重,以在訓練後期加速收斂。

同時,本論文的框架還包含電路最佳化部分。作者在強化學習最佳化運算元序列調優的基礎上,結合了演化演算法和 agent 重啟技術,避免陷入區域性最優解,實現快速有效的電路最佳化。更多細節可見原文第 5 章節。

實驗介紹

本論文實驗的資料集包括 4 類開源電路資料集,節點數規模高達 1200,輸入、輸出數量最高為 16、63 位。

實驗包含 4 個部分:1. 在多個電路上評估本論文電路生成和最佳化方法的準確性和電路效能。2. 評估本論文生成方法針對電路大小的可擴充套件性。3. 透過消融實驗展示本論文方法各部分的效用。4. 驗證本論文方法對超引數的魯棒性。

作者在以下內容中詳細介紹實驗 1,其餘實驗請參見原論文的第 6 章節。

電路生成準確率

部分實驗結果見圖 3,作者在開源電路上對比了他們的方法與其他基於 DNAS 生成方法的準確率。實驗結果顯示,他們的方法準確率大幅提升,並可準確生成 1200 節點規模的電路。
圖片
圖 3. 作者提出的 T-Net 相比其他 DNAS 電路生成方法準確率大幅提升。

電路綜合效果

部分實驗結果見圖 4,作者在開源比賽電路上對比了他們的方法與開源邏輯綜合工具 ABC 和 IWLS 比賽冠亞軍的電路大小。實驗結果顯示,他們的方法顯著優於開源邏輯綜合工具 ABC 中的電路生成運算元,且超過了 2022 和 2023 年比賽冠亞軍的方案。
圖片
圖 4. 作者提出的電路生成及最佳化框架效果顯著優於開源邏輯綜合工具 ABC 中的電路生成運算元。

參考文獻
[1] International workshop on logic & synthesis contest. https://www.iwls.org/contest/, 2024.
[2] Designing better computer chips. Google DeepMind, 2023, https://deepmind.google/impact/optimizing-computer-systems-with-more-generalized-ai-tools.
[3] Peter Belcak, et al. Neural combinatorial logic circuit synthesis from input-output examples. International conference on machine learning NeurIPS Workshop, 2022.
[4] Hanxiao Liu, et al. Darts: Differentiable architecture search. International conference on machine learning ICLR 2019.
[5] Felix Petersen, et al. Deep differentiable logic gate networks. International conference on machine learning NeurIPS, 2022.
[6] Eric Jang, Shixiang Gu, and Ben Poole. Categorical reparameterization with gumbel-softmax. International conference on machine learning ICLR, 2017.

相關文章