AI做顯卡、顯卡跑AI!英偉達(dá)實(shí)現(xiàn)芯片設(shè)計(jì)自循環(huán)?
了解英偉達(dá)的研發(fā)情況,已經(jīng)成為每年英偉達(dá)春季GTC會(huì)議的一個(gè)常規(guī)特征。
比如首席科學(xué)家兼研究部高級(jí)副總裁Bill Dally每年就會(huì)提供英偉達(dá)研發(fā)機(jī)構(gòu)的概況和關(guān)于當(dāng)前優(yōu)先事項(xiàng)的一些細(xì)節(jié)。
2022年,Dally主要關(guān)注英偉達(dá)正在開發(fā)和使用的AI工具,這些AI正在改善英偉達(dá)自身的產(chǎn)品。
如果愿意接受的話,這其實(shí)是一個(gè)巧妙的反向營(yíng)銷案例:英偉達(dá)從制作顯卡來(lái)做跑AI工具的公司,成為了一家AI工具用來(lái)做顯卡的公司。
是的,英偉達(dá)已經(jīng)開始使用AI智能來(lái)有效改善和加快自家的顯卡設(shè)計(jì)。
Dally在2022年的GTC演講中描述道:「我們的設(shè)計(jì)團(tuán)隊(duì)是一個(gè)約有300人的小組,試圖在英偉達(dá)的產(chǎn)品設(shè)計(jì)上探索更有前瞻性的領(lǐng)先位置。我們有點(diǎn)像遠(yuǎn)光燈,試圖照亮遠(yuǎn)處的東西。這個(gè)團(tuán)隊(duì)被松散地組織成兩半。
供應(yīng)部分負(fù)責(zé)提供顯卡的技術(shù)。它使顯卡本身更好,從電路、到超大規(guī)模集成設(shè)計(jì)方法、架構(gòu)網(wǎng)絡(luò)、編程系統(tǒng),以及讀入顯卡和基于顯卡的軟件的存儲(chǔ)系統(tǒng)。」
「需求部分試圖通過開發(fā)要用顯卡才能良好運(yùn)行的軟件系統(tǒng)和技術(shù),來(lái)推動(dòng)市場(chǎng)對(duì)英偉達(dá)產(chǎn)品的需求。
例如我們有三個(gè)不同的圖形研究小組,因?yàn)槲覀冊(cè)诓粩嗤苿?dòng)計(jì)算機(jī)圖形技術(shù)的發(fā)展。我們還有五個(gè)不同的人工智能小組,因?yàn)槭褂肎PU來(lái)運(yùn)行AI是目前一個(gè)巨大的熱門,而且只會(huì)越來(lái)越熱。我們也有做機(jī)器人和自動(dòng)駕駛汽車的小組?!?/span>
「我們還有一些以地域?yàn)閷?dǎo)向的實(shí)驗(yàn)室,如我們的多倫多和特拉維夫人工智能實(shí)驗(yàn)室?!?/span>
偶爾,英偉達(dá)公司會(huì)從這幾個(gè)小組中抽出部分人力重組個(gè)登月式項(xiàng)目,例如,其中一次此類項(xiàng)目產(chǎn)生了英偉達(dá)的實(shí)時(shí)光線追蹤技術(shù)。
光追項(xiàng)目的組織架構(gòu)圖
一如既往,2022年的研究與Dally上一年的談話有重復(fù)之處,但也有新的信息。比如該部門的規(guī)??隙ㄒ呀?jīng)從2019年的175人左右增長(zhǎng)了很多。毫無(wú)疑問,英偉達(dá)開發(fā)自動(dòng)駕駛系統(tǒng)和機(jī)器人的努力也已經(jīng)加強(qiáng)了。Dally沒有多說(shuō)CPU的設(shè)計(jì)工作,這無(wú)疑也在增強(qiáng)。
接下來(lái)呈現(xiàn)的是Dally演講中關(guān)于英偉達(dá)在設(shè)計(jì)芯片時(shí)越來(lái)越多地使用AI的一小部分內(nèi)容。
繪制電壓下降圖
Dally指出:「作為人工智能的專家,我們自然希望利用AI來(lái)設(shè)計(jì)更好的芯片。」
英偉達(dá)的顯卡設(shè)計(jì)部門以幾種不同的方式做到這一點(diǎn)。第一個(gè)也是最明顯的方法是,可以利用現(xiàn)有的計(jì)算機(jī)輔助設(shè)計(jì)工具,并將AI模型納入其中。
例如,顯卡設(shè)計(jì)部門有一個(gè)輔助設(shè)計(jì)的軟件工具,其中的AI實(shí)時(shí)測(cè)繪了英偉達(dá)的GPU顯卡產(chǎn)品中使用電力變化的位置圖譜,并實(shí)時(shí)預(yù)測(cè)電壓網(wǎng)格下降的程度。
一般電壓下降是用電流乘以電阻下降度算出,要在傳統(tǒng)的CAD工具上運(yùn)算出這個(gè)值需要三個(gè)小時(shí)。因?yàn)檫@是一個(gè)迭代的過程,一直用傳統(tǒng)工具的話,對(duì)設(shè)計(jì)部門來(lái)說(shuō),工作量會(huì)變得非常艱巨。
概念展示
英偉達(dá)的顯卡設(shè)計(jì)部門想做的是訓(xùn)練一個(gè)AI模型來(lái)獲取相同的數(shù)據(jù)。開發(fā)人員在一堆設(shè)計(jì)上如此試行過后,然后給AI輸入功率圖。AI由此產(chǎn)生的推理時(shí)間只有三秒。
當(dāng)然,如果你包括上功率圖特征值提取的時(shí)間,那就是18分鐘。無(wú)論如何,與傳統(tǒng)效果相比這都是非常快的結(jié)果。
在類似的前提情況下,顯卡設(shè)計(jì)部門還嘗試了不使用卷積神經(jīng)網(wǎng)絡(luò)AI、而是使用圖神經(jīng)網(wǎng)絡(luò)的AI。如此處理的目的是為了估計(jì)顯卡電路中不同節(jié)點(diǎn)的開關(guān)頻率,這實(shí)際上推動(dòng)了前述例子中的功率特征值輸入效率。
附帶的效果是,英偉達(dá)的開發(fā)人員能夠得到非常準(zhǔn)確的顯卡電路功率估計(jì),比傳統(tǒng)工具要快得多,而且只用了很小的一部分時(shí)間。
預(yù)測(cè)寄生元件
Dally特別喜歡的、若干年前他作為一名電路設(shè)計(jì)師投入相當(dāng)多時(shí)間的設(shè)計(jì)項(xiàng)目,是用圖形神經(jīng)網(wǎng)絡(luò)AI預(yù)測(cè)寄生元件(設(shè)計(jì)時(shí)未曾打算或預(yù)料到的電子元件)將會(huì)如何被附加到最終成品中。
過去,電路設(shè)計(jì)是一個(gè)非常反復(fù)的過程,設(shè)計(jì)師會(huì)畫出一個(gè)帶了一堆晶體管標(biāo)志的電路原理圖。但他不會(huì)知道電路板的性能如何。
直到布局設(shè)計(jì)師拿著這個(gè)原理圖,做了布局樣品,附加了寄生元件,然后設(shè)計(jì)者才可以運(yùn)行電路模擬,發(fā)現(xiàn)其中哪些部分不符合預(yù)期的設(shè)計(jì)規(guī)格。
然后設(shè)計(jì)師會(huì)返回去修改他的原理圖,并再次麻煩布局設(shè)計(jì)師再跑一遍這個(gè)流程,這是一個(gè)非常漫長(zhǎng)的、反復(fù)的、不人性的勞動(dòng)密集型過程。
現(xiàn)在英偉達(dá)的顯卡設(shè)計(jì)部門可以做到的,是訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)寄生元件,而不需要讓布局設(shè)計(jì)師制造布局樣品才發(fā)現(xiàn)瑕疵。
因此,電路設(shè)計(jì)者可以非??焖俚氐?,而不需要在循環(huán)中重復(fù)進(jìn)行手動(dòng)設(shè)計(jì)-布局-再設(shè)計(jì)的步驟。
按Dally表示,與基礎(chǔ)真實(shí)值相比,現(xiàn)在英偉達(dá)的設(shè)計(jì)AI對(duì)這些寄生器件的預(yù)測(cè)非常準(zhǔn)確。
布局/布線擁塞
同時(shí),我們還可以預(yù)測(cè)芯片的布局/布線帶來(lái)的擁塞問題,這對(duì)芯片的布局至關(guān)重要。
按正常的流程,芯片設(shè)計(jì)人員會(huì)做一張網(wǎng)格表,運(yùn)行一遍布局和布線的過程。一般這個(gè)過程非常耗時(shí),會(huì)花費(fèi)數(shù)天的時(shí)間。
只有如此設(shè)計(jì)師們才能獲得顯卡樣品實(shí)際的擁塞情況,光有設(shè)計(jì)圖的初始布局是不夠的。
設(shè)計(jì)師們需要將其重構(gòu),并以不同的方式放置宏,以避開紅色的區(qū)域(如下圖所示)。紅色區(qū)域有太多交錯(cuò)的線路穿過給定的區(qū)域,就像比特版「交通堵塞」。
而像這種情況,用上輔助設(shè)計(jì)的AI之后,沒必要再跑一邊布局和布線,就可以拿著這些網(wǎng)格列表,并用圖像神經(jīng)網(wǎng)絡(luò)AI對(duì)擁塞出現(xiàn)的位置進(jìn)行基本預(yù)測(cè),結(jié)果還算準(zhǔn)確。
雖說(shuō)還不算完美,但是能顯示哪些區(qū)域存在問題。之后設(shè)計(jì)團(tuán)隊(duì)就可以在特定區(qū)域采取行動(dòng),快速完成迭代,不再需要一遍遍重復(fù)全局布局和布線了。
芯片標(biāo)準(zhǔn)單元設(shè)計(jì)自動(dòng)化
現(xiàn)有的方法都是用AI來(lái)評(píng)價(jià)人類的設(shè)計(jì),而未來(lái),更令人興奮的是能夠使用AI來(lái)完成設(shè)計(jì)。
Dally舉了兩個(gè)例子來(lái)說(shuō)明AI如何完成芯片設(shè)計(jì)。
第一個(gè)系統(tǒng)叫NVCell,它結(jié)合了模擬低溫退火和加強(qiáng)學(xué)習(xí),基本上能夠設(shè)計(jì)出數(shù)字集成電路的標(biāo)準(zhǔn)單元庫(kù)。
每次設(shè)計(jì)師實(shí)現(xiàn)了芯片技術(shù)上的升級(jí)——比方說(shuō)從7納米優(yōu)化到5納米,設(shè)計(jì)師都會(huì)創(chuàng)造出一個(gè)單元庫(kù)。
一個(gè)單元就像是一個(gè)「與門」和「或門」,是一種完全的加速器。
眼下,英偉達(dá)的設(shè)計(jì)部門有數(shù)千個(gè)這種單元庫(kù)。這些單元需要在新技術(shù)的框架下,遵循一套復(fù)雜的設(shè)計(jì)標(biāo)準(zhǔn),被重新設(shè)計(jì)。
第二個(gè),是用強(qiáng)化學(xué)習(xí)模型來(lái)設(shè)計(jì)晶體管布局。
設(shè)計(jì)師們大部分都采用強(qiáng)化學(xué)習(xí)的辦法來(lái)放置晶體管。然而更重要的是,在晶體管放置后,一般都有很多設(shè)計(jì)規(guī)則上的錯(cuò)誤,找到這些錯(cuò)誤就像一款電子游戲一樣。
事實(shí)上,強(qiáng)化學(xué)習(xí)就擅長(zhǎng)這個(gè)。一個(gè)很好的例子就是,強(qiáng)化學(xué)習(xí)在Atari電子游戲上的應(yīng)用。
所以,這就像是一款A(yù)tari電子游戲,只不過,這次是一款修正標(biāo)準(zhǔn)單元中設(shè)計(jì)上存在的錯(cuò)誤的游戲。
通過強(qiáng)化學(xué)習(xí),英偉達(dá)的設(shè)計(jì)師可以篩查一遍出現(xiàn)的設(shè)計(jì)規(guī)則錯(cuò)誤,然后修正它們。這樣,設(shè)計(jì)師就可以基本完成標(biāo)準(zhǔn)單元的設(shè)計(jì)工作了。
如下圖所示,92%的單元庫(kù)都可以用這個(gè)工具做好,不會(huì)存在任何設(shè)計(jì)規(guī)則上的錯(cuò)誤或是電路上的錯(cuò)誤。
此外,12%的單元比人工設(shè)計(jì)的單元都要小??偟膩?lái)說(shuō),從單元的復(fù)雜性上看,AI設(shè)計(jì)的單元和人工設(shè)計(jì)的一樣好。
這可以幫助設(shè)計(jì)師完成兩件事。
第一,應(yīng)用AI能極大地節(jié)省勞動(dòng)力。沒有AI的話,大約需要一個(gè)10人小組耗時(shí)一年來(lái)建立一個(gè)新的技術(shù)庫(kù)。而如今,設(shè)計(jì)師可以用幾個(gè)GPU,跑幾天就行。
然后,人工只用介入剩下那8%AI未能完成的單元就好了。
在大多數(shù)情況下,設(shè)計(jì)師憑借AI往往能做出更好的設(shè)計(jì)。
所以說(shuō),不光省時(shí)省力,做出來(lái)的東西還更好。