一直以來,芯片都是不少科技公司研發的重點,尤其在芯片市場競爭異常火熱的今天。谷歌雖然依靠軟件立身,但近些年卻也一直在鑽研芯片技術,TPU 就是一個不錯的成果。今日,Google AI 負責人 Jeff Dean 在一篇預發表論文中,公佈了一種基於機器學習的芯片設計方法,聲稱可以將設計流程縮減到 6 個小時,而常規的芯片設計往往需要數週甚至更久。
在由 Google AI 負責人 Jeff Dean 參與撰寫的預發表論文中,Google Research 的科學家以及谷歌芯片實施與基礎架構團隊共同公佈了一種基於機器學習技術的芯片設計方法,能夠借鑑過往經驗並隨時間推移而不斷改進設計能力,最終打造出更強大、質量更高的芯片方案。他們宣稱,整個設計流程平均可在 6 個小時之內完成,時間週期遠遠短於常規人工研究的數週之久。
雖然這並不算是什麼全新思路,但其真正實現源自今年 3 月谷歌工程師們在最新論文中提出的技術。更重要的是,這也表明處理器芯片上的晶體管排佈設計將在很大程度上實現自動化。如果谷歌研究人員提出的這一技術能夠公開使用,那麼各類資金不足的初創企業也能夠開發出屬於自己的 AI 及其他專用類芯片。此外,整個行業的平均芯片設計週期也將顯著縮減,使得硬件能夠更好地適應快速發展的研究需求。
在去年底接受採訪時,Dean 解釋道:“基本上,以往的設計流程就是由研究人員利用一系列設計工具完成佈局決策。聽起來簡單,但實際上佈局與佈線專家們需要使用這些工具進行一次又一次設計迭代。從初步設計,到將佈局物理鋪設在實體芯片上,到滿足芯片項目的尺寸、功率與導線長度限制,再到符合所有協同設計師思路乃至現有製造工藝……這將是一個延續數週的艱辛過程。而現在,我們可以構建起一套機器學習模型,由其學習特定芯片中的佈局與佈線規則,最終快速生成可行的設計方案。”
隨著訓練的推進,Ariane 開源處理器的佈局方式也在發生改變。左圖為從零開始進行的訓練策略,右圖則為針對該芯片功能的預訓練策略。
論文作者們提出的方法,是將邏輯門、存儲器等“排線表列”放置在芯片底板上,從而在優化功率、性能與面積(PPA)指標的同時,遵循當前芯片項目對於佈局及佈線密度的硬性要求。設計流程的規模範圍非常靈活,從數百萬節點到數十億節點(這些節點將被歸類至成千上萬個簇內)皆可涵蓋。一般來說,評估既定指標往往需要數小時到一天的時間。
研究人員還設計出一套框架,負責指導經過強化學習訓練的代理優化芯片佈局。(強化學習代理通過獎勵摸索出最佳目標實現方式;在芯片設計案例中,代理將不斷學習各類放置策略,探索如何實現獎勵最大化。)在排線表列固定的前提下,AI 策略模型會根據當前節點 ID/ 排線表列以及半導體制造工藝等因素輸出可行的芯片單元排布概率結果,並由估值模型估算當前放置方案的預期收益。
在實踐當中,代理會在空芯片上依次放置組件,直到完成排線表列中的所有條目為止。更重要的是,只有代理的波長(與功率及性能相關)負加權總和與擁塞度(受排線密度限制)為負值時才會得到獎勵。為了引導代理找出需要首先放置的組件,研究人員對組件按大小遞減次序進行排序;首先放置較大組件,能夠降低後續缺少充足放置空間的問題。
要完成代理訓練,研究人員需要創建一套包含 10000 種芯片佈局的數據集,其中的輸入內容為匹配特定放置要求的具體狀態,標籤則為放置獎勵(即導線長度與擁塞度)。為了創建這套數據集,研究人員們首先選擇了一種不同的芯片排線表列,而後利用 AI 算法為每種表列生成 2000 種不同的佈局。
根據作者們的說明,他們在實驗中發現,隨著整體框架訓練度的不斷提升,訓練速度開始持續加快併產出質量更高的結果。具體來看,與當前領先的基準水平相比,這項新技術在谷歌張量處理單元(TPU,由谷歌定製設計的 AI 加速器芯片)設計中帶來了非常出色的 PPA 指標。
研究人員們總結道,“與當前從零開始為每一款新芯片優化佈局設計的方法不同,我們的工作能夠利用以往芯片設計經驗加快設計速度,並隨時間推移不斷強化設計質量。此外,我們的這種新方法也能夠直接優化特定指標,例如導線長度、密度與擁塞度等等,這就擺脫了傳統方法中硬性定義相關指標近似值的侷限。這套新方案不僅極大降低了芯片設計中的成本控制難度,同時也幫助我們根據特定芯片的實際需求權衡不同指標的相對重要程度(例如時限優先或者功率上限)。”
關注我並轉發此篇文章,私信我“領取資料”,即可免費獲得InfoQ價值4999元迷你書!