導(dǎo)讀:設(shè)計一塊AI芯片有多難?
設(shè)計一塊AI芯片有多難?
這么說吧,圍棋的復(fù)雜度10360,而芯片則是102500,你感受一下……
△圍棋的復(fù)雜度
一般來說,工程師們設(shè)計一塊芯片,少則需要幾周,多則好幾個月。
現(xiàn)在,AI生產(chǎn)力來了!
AI自己動手,竟然用6小時就設(shè)計出一塊芯片。
最近,這項谷歌的研究登上了Nature雜志。
小小的一塊芯片包括了數(shù)十億個晶體管,由它們組成的數(shù)千萬個邏輯門就是標準單元,此外還有數(shù)千個存儲塊,稱為宏塊。
確定它們的位置,也就是布局規(guī)劃,對芯片設(shè)計至關(guān)重要。
因為這直接關(guān)系到如何布線,進而影響著芯片的處理速度和電源效率。
但是,光是放置宏塊這一步就非常耗時,為了給標準單元留出更多空間,每一次迭代都需要幾天或幾周時間。
△人類設(shè)計和AI設(shè)計芯片的平面圖(灰色塊為宏塊)
完成整個布局,則要花費數(shù)周甚至數(shù)月。
現(xiàn)在,谷歌的研究人員提出了一種具有泛化能力的芯片布局方法。
它能夠基于深度強化學(xué)習(xí),從之前的布局中進行學(xué)習(xí),然后生成新的設(shè)計方案。整體結(jié)構(gòu)是這樣的:
由于AI模型需要學(xué)習(xí)10萬個芯片布局,為了保證速度,研究人員設(shè)計了一種獎勵機制,基于線路長度和布線擁塞的近似代價函數(shù)進行計算。
具體來說,需要將宏和標準單元映射到一個平面畫布上,形成具有數(shù)百萬到數(shù)十億節(jié)點的「芯片網(wǎng)表」。
然后,AI模型會對功率、性能和面積(PPA) 等進行優(yōu)化,并且輸出概率分布。
下圖分別是零樣本生成和基于預(yù)訓(xùn)練策略微調(diào)的效果,其中每個小矩形代表一個宏塊。在預(yù)訓(xùn)練策略中,中間留出了用于放置標準單元的空間。
與其他方法相比,谷歌的新方法大大減少了設(shè)計時間,只需不到6小時,就能實現(xiàn)性能優(yōu)化的布局。
研究團隊對不同策略下的布局效果進行了可視化展示,從圖中可以看到,預(yù)訓(xùn)練策略微調(diào)的結(jié)果要明顯優(yōu)于零樣本生成。
并且,從不同訓(xùn)練時長的效果對比可以看到,在訓(xùn)練2-12小時的情況下,預(yù)訓(xùn)練策略要優(yōu)于零樣本生成。
在不同規(guī)模的數(shù)據(jù)集上進行測試,研究人員發(fā)現(xiàn),隨著數(shù)據(jù)集規(guī)模的擴大,生成布局的質(zhì)量和收斂時間的結(jié)果更優(yōu)。
谷歌表示,
這一方法適用于任何類型的芯片。
目前已經(jīng)被用于生產(chǎn)下一代Google TPU(加速器芯片)。
參考鏈接:
https://www.nature.com/articles/s41586-021-03544-w
https://www.nature.com/articles/d41586-021-01515-9
https://ai.googleblog.com/2020/04/chip-design-with-deep-reinforcement.html
https://arxiv.org/abs/2004.10746