最近,谷歌在《自然》雜志發(fā)表了論文《面向快速芯片設計的圖布局方法》(A graph placement methodology for fast chip design),該論文中公布了谷歌在人工智能驅動芯片設計方面的最新結果。
在該論文中,,谷歌使用了強化學習的方法來實現(xiàn)高質量自動芯片floorplan。谷歌對于強化學習技術的使用已經是得心應手,,之前在圍棋領域一鳴驚人擊敗世界冠軍李世石的人工智能也是使用了強化學習技術,。事實上,芯片布局和圍棋有很強的相似之處,,基本都是在一個很大的自由空間里面需要搜索到一個最優(yōu)解,,來實現(xiàn)回報函數(shù)的最大化(例如在芯片布局領域的回報函數(shù)就是擁擠度,、布局密度和走線長度的一個綜合函數(shù)),。在論文中,該算法實現(xiàn)自動floorplan的具體方法如下:
電路設計給出floorplan中的所有宏單元(macro)的信息,,包括面積,、接口位置等
強化學習算法一次擺放一個宏單元的位置,直到完成所有宏單元的floorplan擺放
在人工智能完成floorplan后,,運行基于傳統(tǒng)算法的標準單元布局算法,,并且獲得擁擠度、布局密度和走線長度等信息,。
如果這次運行是訓練,,則根據(jù)擁擠度、布局密度和走線長度的綜合結果更新強化學習模型
在訓練和使用該算法的過程中,,谷歌使用了人工智能領域常用的預訓練-微調(pretrain-finetune)的方法,。在預訓練階段,將該模型在包含有5-20個TPU模塊的訓練數(shù)據(jù)集上進行訓練,,而微調任務則是在目標芯片做floorplan時進行多次迭代,,以將預訓練的模型適配到目標任務上。
根據(jù)谷歌公布的結果,,經過預訓練的模型在執(zhí)行目標芯片的floorplan時,,可以在6小時內完成floorplan,而其floorplan結果在時序,、面積,、功耗等關鍵指標上都與專業(yè)物理設計工程師手工floorplan的結果接近或更好。
AI會取代芯片工程師嗎,?
強化學習是否會在芯片后端領域取代工程師,?我們認為,雖然谷歌公布的結果非常優(yōu)秀,,但是AI可預期的未來尚不足以替代人工,,工程師也不必擔心事業(yè)。
首先,目前強化學習做floorplan能覆蓋的芯片種類仍然不得而知,。谷歌的論文中使用的訓練數(shù)據(jù)集和測試數(shù)據(jù)集規(guī)模都很?。ㄗ畲蟮囊矁H有20種芯片布局),而且訓練和測試數(shù)據(jù)集中涉及到的芯片種類也很有限,,是否能在其他種類的芯片布局中也獲得超越工程師手工的效果還不得而知,。而芯片類的數(shù)據(jù)集事實上很難采集,因此如何采集更大的數(shù)據(jù)集以訓練更強,,更普適的模型將成為強化學習方法進步過程中最關鍵的瓶頸,,這個瓶頸如果不解決那么基于強化學習的EDA流程將會停留在學術階段或者僅僅是谷歌用來秀人工智能肌肉的一個案例。
此外,,即使未來基于強化學習的數(shù)字電路EDA流程得到長足發(fā)展,,工程師仍然是流程中的關鍵。一個核心的觀察是,,即使把整個流程全部交給AI,,還是需要一組經驗豐富的工程師來看管整個過程,否則沒人能擔保AI輸出是否是最優(yōu)結果,;事實上基于AI的芯片EDA工具更可能是將人機合作加速整個芯片設計流程,,而非取代人工。一個最有可能的人機協(xié)作的方式是工程師根據(jù)經驗預估芯片后端流程的結果,,并且將AI的流程結果與人工估計的結果相比較,,以確保AI跑流程的結果是合理的。如果強化學習能加速芯片設計流程的話,,它將會降低芯片設計流程的迭代周期和成本,,并降低芯片設計的門檻,這反而可能使得芯片行業(yè)更繁榮,,讓行業(yè)對芯片工程師的需求更大,。正如目前的芯片設計流程中,大多數(shù)環(huán)節(jié)都已經自動化(例如設計綜合,,物理綜合等),,但是這樣的自動化并沒有砸了芯片后端設計師的飯碗,反而是讓整個芯片行業(yè)比起自動化之前更加繁榮了,,也讓人才需求量更大,。因此,我們認為AI驅動的EDA將會成為工程師的朋友,,而不必擔心讓工程師下崗的問題,。
強化學習會給EDA業(yè)界帶來的變革
雖然我們預期強化學習正式進入EDA業(yè)界尚需時日,但是鑒于它會給整個業(yè)界帶來較大的變革,,我們認為從現(xiàn)在開始就應該積極關心這個領域的發(fā)展,。
首先,如我們之前所敘述的,基于人工智能的EDA一個很大的要素就是數(shù)據(jù),,只有收集到了足夠的數(shù)據(jù)才能訓練性能足夠強,,普適性足夠好的人工智能模型。從這一點來說,,各個芯片廠商的芯片設計數(shù)據(jù)就不僅僅對他們自身有用,,而對于EDA公司也有了更高的價值。對于中國半導體業(yè)界來說,,由于中國有足夠多的芯片設計公司,,事實上數(shù)據(jù)是不缺的,那么是否能有一個組織來牽頭以安全的形式來訓練EDA人工智能模型的數(shù)據(jù),,將會成為中國能否在下一代基于人工智能的EDA領域占據(jù)重要地位的核心要素,。
除了數(shù)據(jù)之外,我們認為人工智能模型在未來的EDA領域中會得到越來越多應用,,同時也越來越復雜,,這就牽扯到了一個算力問題,。在谷歌的論文中,,即使是使用已經經過預訓練的模型,在使用在目標設計中時,,還需要跑6個多小時的微調才能實現(xiàn)良好的效果,。隨著未來模型越來越復雜,而目標芯片設計也越來越大,,我們預期所需要的模型算力也會越來越大,。對于如谷歌這樣的大公司來說或許不缺算力,但是對于小公司來說我們預計會有越來越多的EDA+云的服務出現(xiàn),,即在云上跑EDA流程中的人工智能模型以滿足算力需求,,這也就催生了EDA商業(yè)模式的更新乃至新的商機,例如EDA工具的彈性許可模式(EDA-as-a-service),,甚至可以根據(jù)不同的付費等級提供不同的人工智能模型,。
綜上所述,我們認為以強化學習為代表的的下一代基于人工智能的EDA將會給EDA領域帶來重大的變革,。最主要的就是EDA將從算法驅動變換到數(shù)據(jù)和算力驅動,,因此是否能掌握數(shù)據(jù)和算力將會成為關鍵。在這一方面,,中國的半導體行業(yè)擁有芯片設計企業(yè)眾多的先天優(yōu)勢,,而且中國的云算力基礎設施也是全球領先,因此我們認為這將會成為中國EDA行業(yè)的一個機會,。