一直以來,芯片策劃的難度絲毫不亞於芯片製造工藝。直到八十年代EDA技藝誕生以後,芯片自動化策劃的出現幫助芯片策劃以及超大規模集成電路的難度大大降低,工程師只需要將芯片的性能用編程語言進行描述並輸入計算機,再由EDA工具軟件將語言編譯成邏輯電路,然後再進行調試即可。但現在的芯片越來越高端,動辄上百億個晶體管布局,即使依靠EDA工具進行芯片策劃,如此浩瀚的工程往往也需要幾個月的時間來完成。隨着人工智能技藝與芯片策劃的深度融合,未來的芯片策劃或許只需要數個小時就能完成!
將芯片策劃變成“棋盤遊戲”
英國《自然》雜誌9日刊載了一項人工智能突破性成就,來自由Jeff Dean領銜的谷歌大腦團隊以及斯坦福大學計算機科學系的科學家們在一項聯合報告中證明,機器學習工具已可以極大地加速計算機芯片策劃。團隊科學家們給出了一種基於深度強化學習的芯片布局規劃方法,該方法能給出可行的芯片策劃方案,且芯片性能不亞於人類工程師的策劃。最重要的是,整個策劃過程只要幾個小時,而不是幾個月,這為今後的每一代計算機芯片策劃節省數千小時的人力。該方法已經被谷歌用來策劃下一代張量處理單元(TPU)加速器。
Jeff Dean相信大家都不陌生,他是被誉為“谷歌傳奇”、“谷歌AI掌門人”的天才,曾榮獲2021年IEEE馮諾依曼獎,獲獎理由是“以表彰對大規模分布式計算機系統和人工智能系統科學與工程的貢獻”。1999年加入谷歌後,Jeff Dean策劃並部署了Google廣告、抓取、索引和查詢效勞系統的大部分內容,以及位於Google大部分产品下方的各種分布式計算基礎架構,也是Google新聞、Google翻譯等产品的開發者。還曾參與創辦谷歌大腦,搭建著名的深度學習框架TensorFlow。

Jeff Dean 圖片源自谷歌
這支研究團隊嶄新的研究表明,人工智能機器學習工具已經可以用來加速芯片策劃中“布局規劃”的流程。簡單來說,科學家們讓這個機器學習工具把“布局規劃”看作一種棋盤遊戲,“棋子”就是電子元器件,而“棋盤”是放置電子元器件的電子畫布,下棋得到的“獲勝結果”就是通過一系列評估指標獲取最優性能(基於一個包含1萬例芯片布局的參考數據集)。

圖片源自谷歌
大家都知道,芯片的布局規劃十分復雜,即使是人類工程師也要多番思考後才能對比選擇出最優的布局方案,對於人工智能機器學習工具來說,它需要從經驗中不斷學習,以便於確定放置新芯片模塊的時候更好更快。這其中最大的困難在於,如何讓人工智能知道自己放置新芯片模塊達到了最優條件呢?這就需要讓它學習優化所有可能的芯片網表,策劃出芯片畫布上的所有可能出現的布局。
正如上文提到的“棋盤遊戲”,“棋子”元件包括了網表拓撲、宏計數、宏大小和縱横比等元素;“棋盤”電子畫布可以看做不同的芯片畫布大小和縱横比組成的各種方案;“獲勝”則是在不同的評估指標或不同的密度和路由擁塞約束的相對重要性。任何一個元件,在畫布上位置的不同,都可以看做是整個網表中狀態的變化,對全局造成影響。
這種方法其實很像當年名震一時,先後打敗李世石、柯潔等圍棋冠軍的“AlphaGo”的策劃原理。AlphaGo正是結合了監督學習和強化學習的優勢,通過訓練形成一個策略網絡,將棋盤上的局勢作為輸入信息,並對所有可行的落子位置生成一個概率分布。
在獲取棋局信息後,阿爾法圍棋會根據策略網絡探索哪個位置同時具備高潛在價值和高可能性,進而決定最佳落子位置。在分配的搜索時間結束時,模擬過程中被系統最頻繁考察的位置將成為阿爾法圍棋的最終選擇。在經過先期的全盤探索和過程中對最佳落子的不斷揣摩後,阿爾法圍棋的搜索算法就能在其計算能力之上加入近似人類的直覺判斷。這樣策劃一個圍棋人工智能的程序就會依據既定好的策略執行,直到最後獲得棋盤上最大的地盤。

圖片|人類策劃的微芯片平面圖(a)與機器學習系統策劃(b)的不同(來源:Nature)
再回到原本的話題,人工智能技藝在幫助芯片策劃的過程中,除了對芯片布局規劃的直接影響外,這種形式還能被應用在廣泛的科學和工程應用中,例如硬件策劃、城市規劃、疫苗測試和分發以及大腦皮層布局研究等。
結果顯示,在不到6小時時間裏,這種方法自動生成的芯片平面圖不管是功耗、性能,還是芯片面積等參數都優於或與人類專家生成的策劃圖效果相當,要知道人類工程師達到同樣的效果往往需要數個月的努力。
人工智能技藝能幫助芯片策劃解決哪些難題
此前OFweek電子工程網在采訪MathWorks首席戰略師Jim Tung時曾了解到,將人工智能算法應用在電子策劃自動化軟件中其實已經很常見,比如知名的光刻機龍頭ASML在開發基於機器學習的半導體製造虛擬計量技藝時,哪怕本身是一名不具有神經網絡機器學習方面經驗的ASML工藝工程師,也能通過MATLAB軟件實例及其中供應的各種實例,去學習使用這款工具進行開發。
Jim Tung還提到,MathWorks所供應的激光雷達工具箱、預測性維持工具箱、無線工具箱、機器學習/深度學習/增強學習工具箱、自動駕駛工具箱、虛擬道路仿真工具箱,以及關於視覺檢測、醫學成像、土地類別等一系列的參考實例中,都有人工智能技藝的參與。
同樣,對於谷歌來說這已經不是他們第一次利用人工智能技藝加速芯片開發的實驗了。過去幾年裏,谷歌表示其內部正在將人工智能技藝用於一系列芯片策劃項目中,比如谷歌開發了AI硬件家族——Tensor Processing Unit(TPU芯片),專門用在效勞器計算機中處理AI。使用AI來策劃芯片是一個良性循環,AI讓芯片變得更好,經過改良的芯片又能增強AI算法,依此類推。
人工智能技藝到底能幫助解決芯片策劃中的哪些難題?第一點就是芯片層的策劃規劃,芯片布局不是簡單的二維平面問題,而是復雜的三維策劃問題,需要在一個受限製的區域內跨多個層小心地配置成百上千個組件。人類工程師會手動策劃配置,以最小化組件之間使用的電線數量來提高效率,然後使用電子策劃自動化軟件來模擬和驗證它們的性能,而僅一個單層的平面圖就需要花費超過30個小時。現在,人工智能技藝也能以人類啟發式思維去考慮芯片性能、復雜性、製造成本等多個因素,以最佳方式進行策劃。
第二點是時間成本,傳統意義上芯片的壽命在2到5年之間,光是芯片策劃就占據了幾個月的時間,隨着人工智能技藝的快速擴展,越來越多優化芯片層規劃的算法開始出現,極大縮減研制人員的開發時間。
第三點是智能化程度,比如上文提到的機器學習算法使用正反饋和負反饋來學習復雜的任務,研究人員策劃了一種“獎勵函數”根據算法的策劃表現對其進行獎懲。直到該算法产生數萬到數十萬個新策劃,每個策劃都在幾分之一秒內完成,並使用獎勵函數對它們進行評估。隨着時間的推移,它最終形成了以最佳方式放置芯片組件的策略。
最後一點是方案的最優解,研究人員發現算法可以計算到人們腦力無法企及的空白區,訓練計算的數量上去了,可作為優選的方案自然也就另外了。換言之,算法的許多平面圖其實比人類工程師策劃的要好,也就是說它還教會了人類一些新技巧,這也是一個相互學習的過程。
當然,強大的算法雖然可以縮減芯片策劃的時長,但並不意味着具有完全自主決策的能力,它另外的還是扮演着“AI助理”的角色,只不過這個助理豐富的實例和超快計算能力能夠更好的幫助人類工程師達成快速的芯片策劃流程。