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