幾個(gè)GPU工作數(shù)天≈10人團(tuán)隊(duì)工作大半年,英偉達(dá)用AI高效設(shè)計(jì)芯片
「同樣是移植一個(gè)新的技術(shù)庫(kù),如果使用人力,我們需要一個(gè) 10 人左右的團(tuán)隊(duì)工作大半年,但借助 AI,我們只需要花幾天時(shí)間運(yùn)行幾個(gè) GPU 就能完成大部分工作?!?br />
近幾年,芯片設(shè)計(jì)成為 AI 落地的一個(gè)重要領(lǐng)域,谷歌、英偉達(dá)、三星、西門(mén)子等多家公司都已經(jīng)計(jì)劃或開(kāi)始嘗試在芯片設(shè)計(jì)中使用 AI。其中,同時(shí)在芯片設(shè)計(jì)和 AI 領(lǐng)域深耕多年的英偉達(dá)有著得天獨(dú)厚的優(yōu)勢(shì)。在前段時(shí)間的 GTC 大會(huì)上,英偉達(dá)首席科學(xué)家、計(jì)算機(jī)架構(gòu)大師 Bill Dally 介紹了他們?cè)谶@方面取得的進(jìn)展以及所使用的 AI 工具。
以下是 Bill Dally 在 GTC 大會(huì)上的介紹原文。
預(yù)測(cè)電壓降
作為 AI 專(zhuān)家,我們自然希望利用 AI 來(lái)設(shè)計(jì)更好的芯片。我們有幾種不同的方法:一是利用現(xiàn)有的計(jì)算機(jī)輔助設(shè)計(jì)工具(并融入 AI),例如我們有一個(gè)可以繪制 GPU 中用電位置的地圖,它還可以預(yù)測(cè)電壓網(wǎng)下降多少——電流乘以電阻壓降,被稱(chēng)為 IR 壓降。在傳統(tǒng)的 CAD 工具上運(yùn)行該流程需要三個(gè)小時(shí)。
這是一個(gè)迭代的過(guò)程,所以進(jìn)行起來(lái)有點(diǎn)麻煩。我們想訓(xùn)練一個(gè) AI 模型來(lái)處理相同的數(shù)據(jù)。我們做了一系列的設(shè)計(jì)來(lái)進(jìn)行這樣的操作,然后就可以輸入電源圖了,最后推斷時(shí)間只需三秒。當(dāng)然,如果算上特征提取的時(shí)間,我們要花 18 分鐘,很快就能得到結(jié)果。
我們沒(méi)有使用卷積神經(jīng)網(wǎng)絡(luò),而是用到了圖神經(jīng)網(wǎng)絡(luò),這是為了估計(jì)電路中不同節(jié)點(diǎn)的開(kāi)關(guān)頻率。同樣,我們能夠比傳統(tǒng)工具更快地獲得非常準(zhǔn)確的功率估計(jì),并且只需很少的時(shí)間。
預(yù)測(cè)寄生參數(shù)(parasitics)
我特別喜歡的一項(xiàng)工作是用圖神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)寄生參數(shù)。之前這項(xiàng)工作要花費(fèi)大量時(shí)間,因?yàn)橐郧暗碾娐吩O(shè)計(jì)是一個(gè)迭代的過(guò)程,你要畫(huà)一個(gè)原理圖,就像左邊這張圖。但你不知道它的性能如何,直到設(shè)計(jì)師采用該原理圖進(jìn)行 layout,提取寄生參數(shù),再運(yùn)行電路仿真,才會(huì)發(fā)現(xiàn)設(shè)計(jì)可能不符合規(guī)格,才能知道電路的性能。
接下來(lái),設(shè)計(jì)師就要修改原理圖,并再次通過(guò) layout 來(lái)驗(yàn)證電路的有效性。這是一個(gè)非常漫長(zhǎng)、反復(fù)甚至不人道的勞動(dòng)密集型工作。
現(xiàn)在,我們可以訓(xùn)練圖神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)寄生參數(shù),而無(wú)需進(jìn)行 layout。因此,電路設(shè)計(jì)人員可以非常快速地進(jìn)行迭代,而無(wú)需手動(dòng)執(zhí)行 layout 步驟。事實(shí)表明:我們的神經(jīng)網(wǎng)絡(luò)對(duì)寄生參數(shù)的預(yù)測(cè)非常準(zhǔn)確。
布局、布線(xiàn)挑戰(zhàn)
我們的神經(jīng)網(wǎng)絡(luò)還可以預(yù)測(cè)布線(xiàn)擁塞(routing congestion),這對(duì)于芯片 layout 至關(guān)重要。在傳統(tǒng)的流程中,我們需要制作一個(gè)網(wǎng)表(net list),運(yùn)行布局和布線(xiàn)過(guò)程,這可能非常耗時(shí),通常需要幾天的時(shí)間。但如果不這么做,我們就無(wú)法得到實(shí)際的布線(xiàn)擁塞并發(fā)現(xiàn)最初布局的缺陷。我們需要對(duì)其進(jìn)行重構(gòu)并以不同的方式布局 macro 以避免出現(xiàn)下圖所示的紅色區(qū)域(穿過(guò)該區(qū)域的電線(xiàn)過(guò)多,類(lèi)似于交通堵塞)。
現(xiàn)在借助神經(jīng)網(wǎng)絡(luò),無(wú)需運(yùn)行布局和布線(xiàn),我們就可以獲取這些網(wǎng)表并使用圖神經(jīng)網(wǎng)絡(luò)大致預(yù)測(cè)擁塞的位置,準(zhǔn)確率也非常高。這種方法暫時(shí)還不完美,但它能夠顯示出存在問(wèn)題的區(qū)域,然后我們就能采取行動(dòng)并非??焖俚剡M(jìn)行迭代,而無(wú)需進(jìn)行完整的布局和布線(xiàn)。
自動(dòng)化標(biāo)準(zhǔn)單元遷移
以上方法都是在用 AI 評(píng)價(jià)人類(lèi)已經(jīng)完成的設(shè)計(jì),但實(shí)際上更令人興奮的是用 AI 來(lái)實(shí)際設(shè)計(jì)芯片。
我來(lái)舉兩個(gè)例子。第一個(gè)是我們稱(chēng)之為 NV cell 的系統(tǒng),它使用模擬退火和強(qiáng)化學(xué)習(xí)來(lái)設(shè)計(jì)我們的標(biāo)準(zhǔn)單元庫(kù)(標(biāo)準(zhǔn)單元庫(kù)是底層電子邏輯功能的集合,例如 AND、OR、INVERT、觸發(fā)器、鎖存器和緩沖器 )。所以在每次技術(shù)迭代的時(shí)候,比如從 7 納米遷移到 5 納米,我們都會(huì)擁有一個(gè)單元庫(kù)。我們實(shí)際上有成千上萬(wàn)個(gè)這樣的庫(kù),它們必須用新技術(shù)重新設(shè)計(jì),有一套非常復(fù)雜的設(shè)計(jì)規(guī)則。
我們借助強(qiáng)化學(xué)習(xí)來(lái)放置晶體管,但隨之而來(lái)的可能是一堆設(shè)計(jì)規(guī)則錯(cuò)誤,而這正是強(qiáng)化學(xué)習(xí)所擅長(zhǎng)的。設(shè)計(jì)芯片就像一個(gè)雅達(dá)利游戲,但它是一個(gè)在標(biāo)準(zhǔn)單元中修復(fù)設(shè)計(jì)規(guī)則錯(cuò)誤的游戲。通過(guò)強(qiáng)化學(xué)習(xí)檢查和修復(fù)這些設(shè)計(jì)規(guī)則錯(cuò)誤,我們基本上能夠完成標(biāo)準(zhǔn)單元的設(shè)計(jì)。
下圖顯示的是該工具完成度為 92% 的單元庫(kù),沒(méi)有設(shè)計(jì)規(guī)則或電氣規(guī)則錯(cuò)誤。這些單元中的 12% 比人類(lèi)設(shè)計(jì)的單元要小。總的來(lái)說(shuō),在單元復(fù)雜性方面,該工具做得和人類(lèi)設(shè)計(jì)的單元一樣好,甚至比人類(lèi)的還好。
這對(duì)我們有兩大好處。一是節(jié)約大量勞動(dòng)力。同樣是移植一個(gè)新的技術(shù)庫(kù),如果使用人力,我們需要一個(gè) 10 人左右的團(tuán)隊(duì)工作大半年,但借助 AI,我們只需要花幾天時(shí)間運(yùn)行幾個(gè) GPU 就能完成大部分可以自動(dòng)化的工作(92%),然后再由人來(lái)完成剩下的 8%。很多時(shí)候我們都能拿到更好的設(shè)計(jì),所以這個(gè)方式不光節(jié)省人力,效果也比人類(lèi)手工的結(jié)果好。
原文鏈接:https://www.hpcwire.com/2022/04/18/nvidia-rd-chief-on-how-ai-is-improving-chip-design/
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。