谷歌(Google)人工智能(AI)的負(fù)責(zé)人Jeff Dean在2020年國際固態(tài)電路會議(ISSCC)等場合介紹了谷歌基于機(jī)器學(xué)習(xí)開發(fā)的用于芯片設(shè)計的布局布線模型,并通過在其自研處理器上的應(yīng)用,證實(shí)了效率和布線結(jié)果優(yōu)于人類。
美國新思科技(Synopsys)公司也于3月11日推出了DSO.ai?(設(shè)計空間優(yōu)化AI),稱其為業(yè)界首個用于芯片設(shè)計的自主人工智能應(yīng)用程序(詳見今天的第二篇)。
摩爾定律在提升晶體管密度和降低成本方面的進(jìn)展正在放緩,而芯片的設(shè)計和制造成本都在快速上升。目前,芯片設(shè)計領(lǐng)域最富前景的前沿研究之一是使用機(jī)器學(xué)習(xí)技術(shù)來實(shí)際幫助完成設(shè)計過程中的某些任務(wù)。谷歌是世界上中央處理器(CPU)和圖像處理器(GPU)的大型消費(fèi)者之一,也是張量處理器(TPU)的設(shè)計者,為從邊緣計算到數(shù)據(jù)中心的多種應(yīng)用提供機(jī)器學(xué)習(xí)的推理和訓(xùn)練。谷歌對計算引擎的興趣超越了以往。谷歌采用混合了CPU和GPU的混合架構(gòu)(未來也許還有其他加速器)來加強(qiáng)學(xué)習(xí)的負(fù)載。因此Dean和同仁在谷歌進(jìn)行的研究也被帶到了ASIC設(shè)計領(lǐng)域。出于偶然,谷歌在運(yùn)行跨大量不同類型計算引擎的機(jī)器學(xué)習(xí)時開展一部分工作,在研究可在芯片上自動布局布線模型方面給予了支持。
發(fā)展機(jī)緣
谷歌在2018年5月展示了TPUv3系統(tǒng)的Pod,它可將1024個張量處理器集合在一起,使用谷歌自由和非常機(jī)靈的bfloat 16數(shù)據(jù)格式,能夠提供106 petaflops的16位半精度乘法性能(帶有32位累加)。這些TPUv3芯片都是使用32×32環(huán)形網(wǎng)格的交叉耦合,因此它們可以共享數(shù)據(jù),并且每個TPUv3核都有自己的HBM2存儲器組。這個TPUv3 Pod是一個巨大的計算聚合,可以進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練或推理,但是不一定像谷歌需要構(gòu)建的那么大。
Dean解釋道:“發(fā)展趨勢之一是模型正在變得越來越大。因此,整個模型不一定必須適配單個芯片。如果擁有大型模型,則模型的并行性(將模型劃分在多個芯片計算)就變得非常重要,而通過為它提供大量計算器件來獲得良好性能并非易事,而且如何有效做到這一點(diǎn)也并不明顯?!迸c其他超級巨頭一樣,谷歌傾向于根據(jù)其他技術(shù)來構(gòu)建自己的框架、協(xié)議和數(shù)據(jù)存儲。下圖表示發(fā)展趨勢是多器件訓(xùn)練和更大的緩存空間,模型已經(jīng)大到不能放在單個加速器器件上。
器件放置表示在合適的時間在合適的器件上放置合適的神經(jīng)網(wǎng)絡(luò)(或其所包含代碼的一部分),以便在整個應(yīng)用中獲得最大吞吐量。由于神經(jīng)網(wǎng)絡(luò)模型變得比單個CPU、GPU或TPU的存儲空間和計算能力更大,器件放置變得尤為重要。而且這個問題日益嚴(yán)重,超過了框架和硬件發(fā)展的步伐。
參數(shù)的數(shù)量不斷增長,并行使用的器件數(shù)量也在不斷增長。實(shí)際上,使128個GPU或128個TPUv3處理器協(xié)同工作就是一個很大的成就。隨著越來越多的器件以某種方式協(xié)同來處理這些模型,因?yàn)槟P偷募鲜沁\(yùn)行在一組CPU和GPU上,谷歌一直在嘗試使用強(qiáng)化學(xué)習(xí)(RL)(機(jī)器學(xué)習(xí)的一個特殊子集)來找出在給定的時間運(yùn)行神經(jīng)網(wǎng)絡(luò)模型的最佳地方。在這種情況下,設(shè)置初始策略來調(diào)度神經(jīng)網(wǎng)絡(luò)模型以進(jìn)行處理,然后將結(jié)果反饋到模型中以進(jìn)行進(jìn)一步調(diào)整,從而使這些模型的運(yùn)行越來越高效。
在2017年,Google訓(xùn)練了一個強(qiáng)化學(xué)習(xí)模型來完成這項(xiàng)工作。強(qiáng)化學(xué)習(xí)模型將工作放在兩個CPU和四個GPU上,經(jīng)過測試,強(qiáng)化模型所用時間與人類專家手工放置神經(jīng)網(wǎng)絡(luò)的時間相比減少19.3%。在計算引擎上基于強(qiáng)化學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)方式工作“做了某種非直覺的事情”來獲得該結(jié)果,但這似乎是使用機(jī)器學(xué)習(xí)達(dá)到跟人類做同樣工作一樣好或更好的例子。問題在于,不需要花費(fèi)太多的強(qiáng)化學(xué)習(xí)計算能力就能將工作放在器件上來運(yùn)行經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。在2018年,谷歌研究了如何將計算圖擴(kuò)展到超過8萬個操作(節(jié)點(diǎn))。2019年,谷歌創(chuàng)建了通用器件放置方案,用于具有超過5萬個操作(節(jié)點(diǎn))的數(shù)據(jù)流圖。
Dean說:“然后,我們開始考慮使用它在ASIC(專用集成電路)芯片設(shè)計中進(jìn)行自主布局和布線,而不是使用它來將軟件計算放置在不同的計算器件上,因?yàn)槿绻麚Q個角度看問題,它們看起來很相似。強(qiáng)化學(xué)習(xí)對于具有清晰規(guī)則(如國際象棋和圍棋)的棘手問題確實(shí)非常有效,并且從本質(zhì)上講,我們開始自問:能否獲得強(qiáng)化學(xué)習(xí)模型來成功實(shí)現(xiàn)ASIC芯片布局布線?”
面臨挑戰(zhàn)
據(jù)Dean表示上述工作面臨著兩個挑戰(zhàn)。一是對象多。國際象棋和圍棋都有單一的目標(biāo),即贏得比賽而不是輸?shù)舯荣悾ㄊ峭幻队矌诺膬擅妫6鴮P核電路放置在ASIC芯片上并在它們之間進(jìn)行布線,不會是簡單的贏或輸,需要關(guān)注面積、時序、阻塞、設(shè)計規(guī)則等更多對象。二是數(shù)量大。IP核電路可能的放置狀態(tài)數(shù)量巨大。國際象棋的狀態(tài)數(shù)是10的123次方,圍棋的狀態(tài)數(shù)是10的360次方,電路布局的狀態(tài)數(shù)是10的9000次方。如下圖所示。這些都需要在EDA工具中需要花費(fèi)大量時間才能完成。
主要成果
Dean解釋說,“因此,我們有了一個體系結(jié)構(gòu),從本質(zhì)上講,它匯聚構(gòu)成芯片設(shè)計的所有東西,然后嘗試放到晶圓上。”
(1)低功率機(jī)器學(xué)習(xí)加速器芯片上的驗(yàn)證
Dean展示了在一個低功率機(jī)器學(xué)習(xí)加速器芯片上放置IP核電路的一些結(jié)果(其中某些區(qū)域有意進(jìn)行了模糊以避免泄露細(xì)節(jié))?!拔覀冇幸粋€由專家組成的團(tuán)隊(duì)來同步放置這個IP核電路。我們對這些功能進(jìn)行評估的成本非常低,在兩秒鐘而不是幾小時內(nèi),這非常重要,因?yàn)閺?qiáng)化學(xué)習(xí)是需要進(jìn)行反復(fù)多次的學(xué)習(xí)。因此,我們有一個基于機(jī)器學(xué)習(xí)的放置系統(tǒng),可以看到,它稍微擴(kuò)展了邏輯,而不是將其分布在一個非常矩形的區(qū)域中,這使它可以同時改善擁塞和線長。到目前為止,我們在所有不同的IP核電路上都獲得了可比擬或超越人類的結(jié)果?!毕聢D為強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)和人類分別在低功耗機(jī)器學(xué)習(xí)加速器上放置IP核電路的結(jié)果。表格展示了手動布局布線和通過機(jī)器學(xué)習(xí)自主布局布線的區(qū)別。
(2)在TPU芯片上的驗(yàn)證
對于在TPU芯片上的放置IP核電路,人工和強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的對比如下圖。白色模糊區(qū)域是存儲器,綠色模糊區(qū)域是邏輯單元族。機(jī)器學(xué)習(xí)找到了更平滑圓潤的存儲器放置模式來減少連線的長度。而且機(jī)器學(xué)習(xí)只用了24個小時,就找到更優(yōu)于設(shè)計人員花費(fèi)6-8周才完成的布局布線。
(3)在TPU和Ariane RISC-V處理器上的驗(yàn)證
更進(jìn)一步,谷歌希望知道是否可訓(xùn)練出通用模型,能夠在以前從未見過的新設(shè)計布局中保持快速有效,這正是設(shè)計新芯片的關(guān)鍵。為此,Google選取TPU架構(gòu)中的四個不同IP核電路和Ariane RISC-V處理器架構(gòu),對模型進(jìn)行了測試。下兩圖對比了使用商業(yè)工具的人類,和模型在各種調(diào)整后的結(jié)果對比。
Dean說,“在第一個圖中可以看到,設(shè)計經(jīng)驗(yàn)實(shí)際上可以顯著改善結(jié)果,因此從本質(zhì)上講,可以在十二個小時內(nèi)獲得最深的藍(lán)色條。在第二圖中顯示了連線成本,可以從中看到如果從頭開始訓(xùn)練,實(shí)際上它花了一點(diǎn)時間才能使系統(tǒng)產(chǎn)生一些突破性的洞察力,但隨之能夠顯著降低布線成本,而經(jīng)過預(yù)先訓(xùn)練的算法可以通過查看其他非常迅速達(dá)到這一水平的設(shè)計和人員的做法獲得通用直覺?!?/span>
顯著優(yōu)勢
進(jìn)入良性循環(huán)。Dean說,我們內(nèi)部已經(jīng)在幾個芯片設(shè)計上使用了人工智能技術(shù)。使用人工智能來設(shè)計芯片代表了一個良性循環(huán),能設(shè)計出更好的人工智能芯片,這些改進(jìn)的芯片又能夠更好地發(fā)揮人工智能算法的能力,以此往復(fù)。
快速實(shí)現(xiàn)針對多重情況的設(shè)計。Dean說,就像我們進(jìn)行模擬仿真以更好地進(jìn)行天氣預(yù)報一樣,這種人工智能實(shí)現(xiàn)的IP核電路在芯片上的布局和布線可以用來快速生成許多帶有不同權(quán)衡考慮的布局,甚至設(shè)計出人類沒有想到過的解決方案。而且,如果需要添加某些特性,則由人工智能主導(dǎo)的芯片設(shè)計可以快速重新布局,而無需花費(fèi)數(shù)月的時間,多樣化的設(shè)計更能滿足未來多樣化的需求。
極大地節(jié)約成本。最重要的是,這種自動化設(shè)計可以從根本上降低設(shè)計新芯片的成本。芯片設(shè)計成本正呈指數(shù)級增長,如采用16納米工藝的先進(jìn)芯片設(shè)計平均成本為1.063億美元,到10納米高達(dá)1.744億美元,到7納米高達(dá)2.978億美元,預(yù)計5納米的成本將達(dá)到5.422億美元。其中近一半的成本已經(jīng)并將繼續(xù)用于軟件。因此,我們知道如何減少這些成本,機(jī)器學(xué)習(xí)可以提供幫助。
下步發(fā)展
尋求模型工具的通用化。目前,谷歌正在考慮和驗(yàn)證該機(jī)器學(xué)習(xí)模型的泛化能力和通用化,驗(yàn)證能否從一類芯片設(shè)計遷移到另一類芯片設(shè)計中。
在芯片設(shè)計的更多環(huán)節(jié)采用人工智能。包括在芯片設(shè)計驗(yàn)證環(huán)節(jié)中,使用機(jī)器學(xué)習(xí)來產(chǎn)生能夠測試全部狀態(tài)空間的測試用例,或用機(jī)器學(xué)習(xí)改進(jìn)高階綜合。進(jìn)而可從高級描述中獲得更優(yōu)化設(shè)計。
拭目以待
谷歌不確定芯片設(shè)計軟件制造商是否會嵌入人工智能,并促進(jìn)芯片設(shè)計真正實(shí)現(xiàn)爆炸式增長,并將其中的過程量化。谷歌將拭目以待,并愿意貢獻(xiàn)Google類似研究成果來提供幫助。
資料來源
https://www.nextplatform.com/2020/02/20/google-teaches-ai-to-play-the-game-of-chip-design/
https://www.zdnet.com/article/google-experiments-with-ai-to-design-its-in-house-computer-chips/
https://www.eetimes.com/all-processing-bends-toward-ai/#
聯(lián)系客服