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