一直以來,芯片設(shè)計的難度絲毫不亞于芯片制造工藝。直到八十年代EDA技術(shù)誕生以后,芯片自動化設(shè)計的出現(xiàn)幫助芯片設(shè)計以及超大規(guī)模集成電路的難度大大降低,工程師只需要將芯片的功能用編程語言進行描述并輸入計算機,再由EDA工具軟件將語言編譯成邏輯電路,然后再進行調(diào)試即可。但現(xiàn)在的芯片越來越高端,動輒上百億個晶體管布局,即使依靠EDA工具進行芯片設(shè)計,如此浩瀚的工程往往也需要幾個月的時間來完成。
隨著人工智能技術(shù)與芯片設(shè)計的深度融合,未來的芯片設(shè)計或許只需要數(shù)個小時就能完成!
將芯片設(shè)計變成“棋盤游戲”
英國《自然》雜志9日刊載了一項人工智能突破性成就,來自由Jeff Dean領(lǐng)銜的谷歌大腦團隊以及斯坦福大學(xué)計算機科學(xué)系的科學(xué)家們在一項聯(lián)合報告中證明,機器學(xué)習(xí)工具已可以極大地加速計算機芯片設(shè)計。團隊科學(xué)家們給出了一種基于深度強化學(xué)習(xí)的芯片布局規(guī)劃方法,該方法能給出可行的芯片設(shè)計方案,且芯片性能不亞于人類工程師的設(shè)計。最重要的是,整個設(shè)計過程只要幾個小時,而不是幾個月,這為今后的每一代計算機芯片設(shè)計節(jié)省數(shù)千小時的人力。該方法已經(jīng)被谷歌用來設(shè)計下一代張量處理單元(TPU)加速器。
Jeff Dean相信大家都不陌生,他是被譽為“谷歌傳奇”、“谷歌AI掌門人”的天才,曾榮獲2021年IEEE馮諾依曼獎,獲獎理由是“以表彰對大規(guī)模分布式計算機系統(tǒng)和人工智能系統(tǒng)科學(xué)與工程的貢獻”。1999年加入谷歌后,Jeff Dean設(shè)計并部署了Google廣告、抓取、索引和查詢服務(wù)系統(tǒng)的大部分內(nèi)容,以及位于Google大部分產(chǎn)品下方的各種分布式計算基礎(chǔ)架構(gòu),也是Google新聞、Google翻譯等產(chǎn)品的開發(fā)者。還曾參與創(chuàng)辦谷歌大腦,搭建著名的深度學(xué)習(xí)框架TensorFlow。
在大牛的帶隊下,這支研究團隊最新的研究表明,人工智能機器學(xué)習(xí)工具已經(jīng)可以用來加速芯片設(shè)計中“布局規(guī)劃”的流程。簡單來說,科學(xué)家們讓這個機器學(xué)習(xí)工具把“布局規(guī)劃”看作一種棋盤游戲,“棋子”就是電子元器件,而“棋盤”是放置電子元器件的電子畫布,下棋得到的“獲勝結(jié)果”就是通過一系列評估指標獲取最優(yōu)性能(基于一個包含1萬例芯片布局的參考數(shù)據(jù)集)。
大家都知道,芯片的布局規(guī)劃十分復(fù)雜,即使是人類工程師也要多番思考后才能對比選擇出最優(yōu)的布局方案,對于人工智能機器學(xué)習(xí)工具來說,它需要從經(jīng)驗中不斷學(xué)習(xí),以便于確定放置新芯片模塊的時候更好更快。這其中最大的困難在于,如何讓人工智能知道自己放置新芯片模塊達到了最優(yōu)條件呢?這就需要讓它學(xué)習(xí)優(yōu)化所有可能的芯片網(wǎng)表,設(shè)計出芯片畫布上的所有可能出現(xiàn)的布局。
正如上文提到的“棋盤游戲”,“棋子”元件包括了網(wǎng)表拓撲、宏計數(shù)、宏大小和縱橫比等元素;“棋盤”電子畫布可以看做不同的芯片畫布大小和縱橫比組成的各種方案;“獲勝”則是在不同的評估指標或不同的密度和路由擁塞約束的相對重要性。任何一個元件,在畫布上位置的不同,都可以看做是整個網(wǎng)表中狀態(tài)的變化,對全局造成影響。
這種方法其實很像當(dāng)年名震一時,先后打敗李世石、柯潔等圍棋冠軍的“AlphaGo”的設(shè)計原理。AlphaGo正是結(jié)合了監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)的優(yōu)勢,通過訓(xùn)練形成一個策略網(wǎng)絡(luò),將棋盤上的局勢作為輸入信息,并對所有可行的落子位置生成一個概率分布。
在獲取棋局信息后,阿爾法圍棋會根據(jù)策略網(wǎng)絡(luò)探索哪個位置同時具備高潛在價值和高可能性,進而決定最佳落子位置。在分配的搜索時間結(jié)束時,模擬過程中被系統(tǒng)最頻繁考察的位置將成為阿爾法圍棋的最終選擇。在經(jīng)過先期的全盤探索和過程中對最佳落子的不斷揣摩后,阿爾法圍棋的搜索算法就能在其計算能力之上加入近似人類的直覺判斷。這樣設(shè)計一個圍棋人工智能的程序就會依據(jù)既定好的策略執(zhí)行,直到最后獲得棋盤上最大的地盤。
圖|人類設(shè)計的微芯片平面圖(a)與機器學(xué)習(xí)系統(tǒng)設(shè)計(b)的不同(來源:Nature)
再回到原本的話題,人工智能技術(shù)在幫助芯片設(shè)計的過程中,除了對芯片布局規(guī)劃的直接影響外,這種形式還能被應(yīng)用在廣泛的科學(xué)和工程應(yīng)用中,例如硬件設(shè)計、城市規(guī)劃、疫苗測試和分發(fā)以及大腦皮層布局研究等。
結(jié)果顯示,在不到6小時時間里,這種方法自動生成的芯片平面圖不管是功耗、性能,還是芯片面積等參數(shù)都優(yōu)于或與人類專家生成的設(shè)計圖效果相當(dāng),要知道人類工程師達到同樣的效果往往需要數(shù)個月的努力。
將芯片設(shè)計問題轉(zhuǎn)變?yōu)橐粋€機器學(xué)習(xí)問題并不容易,美國加州大學(xué)圣迭戈分??茖W(xué)家對此認為,開發(fā)出比當(dāng)前方法更好、更快、更省錢的自動化芯片設(shè)計方法,有助于延續(xù)芯片技術(shù)的“摩爾定律”。
人工智能技術(shù)能幫助芯片設(shè)計解決哪些難題
此前OFweek電子工程網(wǎng)在采訪MathWorks首席戰(zhàn)略師Jim Tung時曾了解到,將人工智能算法應(yīng)用在電子設(shè)計自動化軟件中其實已經(jīng)很常見,比如知名的光刻機龍頭ASML在開發(fā)基于機器學(xué)習(xí)的半導(dǎo)體制造虛擬計量技術(shù)時,哪怕本身是一名不具有神經(jīng)網(wǎng)絡(luò)機器學(xué)習(xí)方面經(jīng)驗的ASML工藝工程師,也能通過MATLAB軟件案例及其中提供的各種案例,去學(xué)習(xí)使用這款工具進行開發(fā)。
Jim Tung還提到,MathWorks所提供的激光雷達工具箱、預(yù)測性維護工具箱、無線工具箱、機器學(xué)習(xí)/深度學(xué)習(xí)/增強學(xué)習(xí)工具箱、自動駕駛工具箱、虛擬道路仿真工具箱,以及關(guān)于視覺檢測、醫(yī)學(xué)成像、土地分類等一系列的參考案例中,都有人工智能技術(shù)的參與。
同樣,對于谷歌來說這已經(jīng)不是他們第一次利用人工智能技術(shù)加速芯片開發(fā)的實驗了。過去幾年里,谷歌表示其內(nèi)部正在將人工智能技術(shù)用于一系列芯片設(shè)計項目中,比如谷歌開發(fā)了AI硬件家族——Tensor Processing Unit(TPU芯片),專門用在服務(wù)器計算機中處理AI。使用AI來設(shè)計芯片是一個良性循環(huán),AI讓芯片變得更好,經(jīng)過改良的芯片又能增強AI算法,依此類推。
人工智能技術(shù)到底能幫助解決芯片設(shè)計中的哪些難題?第一點就是芯片層的設(shè)計規(guī)劃,芯片布局不是簡單的二維平面問題,而是復(fù)雜的三維設(shè)計問題,需要在一個受限制的區(qū)域內(nèi)跨多個層小心地配置成百上千個組件。人類工程師會手動設(shè)計配置,以最小化組件之間使用的電線數(shù)量來提高效率,然后使用電子設(shè)計自動化軟件來模擬和驗證它們的性能,而僅一個單層的平面圖就需要花費超過30個小時?,F(xiàn)在,人工智能技術(shù)也能以人類啟發(fā)式思維去考慮芯片性能、復(fù)雜性、制造成本等多個因素,以最佳方式進行設(shè)計。
第二點是時間成本,傳統(tǒng)意義上芯片的壽命在2到5年之間,光是芯片設(shè)計就占據(jù)了幾個月的時間,隨著人工智能技術(shù)的快速發(fā)展,越來越多優(yōu)化芯片層規(guī)劃的算法開始出現(xiàn),極大縮減研發(fā)人員的開發(fā)時間。
第三點是智能化程度,比如上文提到的機器學(xué)習(xí)算法使用正反饋和負反饋來學(xué)習(xí)復(fù)雜的任務(wù),研究人員設(shè)計了一種“獎勵函數(shù)”根據(jù)算法的設(shè)計表現(xiàn)對其進行獎懲。直到該算法產(chǎn)生數(shù)萬到數(shù)十萬個新設(shè)計,每個設(shè)計都在幾分之一秒內(nèi)完成,并使用獎勵函數(shù)對它們進行評估。隨著時間的推移,它最終形成了以最佳方式放置芯片組件的策略。
最后一點,研究人員發(fā)現(xiàn),算法可以計算到人們腦力無法企及的空白區(qū),訓(xùn)練計算的數(shù)量上去了,可作為優(yōu)選的方案自然也就更多了。換言之,算法的許多平面圖其實比人類工程師設(shè)計的要好,也就是說它還教會了人類一些新技巧,這也是一個相互學(xué)習(xí)的過程。
當(dāng)然,強大的算法雖然可以縮減芯片設(shè)計的時長,但并不意味著具有完全自主決策的能力,它更多的還是扮演著“AI助理”的角色,只不過這個助理豐富的案例和超快計算能力能夠更好的幫助人類工程師實現(xiàn)快速的芯片設(shè)計流程。
參考資料
1、《A graph placement methodology for fast chip design》
2、《AI system outperforms humans in designing floorplans for microchips》