當前位置:
首頁 > 科技 > 人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

最近,來自清華大學等單位的研究團隊發表了使用基於強化學習人工智慧做自動化毫米波電路(論文中的例子是濾波器)的設計。根據論文結果,使用人工智慧演算法實現的濾波器設計能達到和真人工程師相近的指標,而有趣的是人工智慧演算法得到的濾波器的形狀則較為不規則(下圖中的a和d是真人工程師的設計,b和e是人工智慧演算法的設計)。

人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

打開今日頭條,查看更多圖片

相關報道得到了電路設計領域的關注,不少朋友對於演算法能自動設計出指標和真人設計接近的濾波器表示驚訝,並希望未來能有更多這樣基於人工智慧的自動化演算法來加速電路設計。

在筆者看來,這樣的強化學習人工智慧演算法用於濾波器設計確實是一種學術上的突破,而在未來我們可望看到更多這樣的突破。另一方面,事實上人工智慧已經在EDA領域得到了高度重視,甚至我們目前已經在用的一些工具中已經在演算法上加入了人工智慧的成分。但是,我們同時也認為,人工智慧離真正自動設計中等規模以上的複雜電路還有很長的路要走,未來人工智慧在EDA領域主要還是以輔助工程師設計,簡化流程以及提高設計質量為主。

人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

人工智慧的本質

要理解人工智慧對於EDA的影響,我們首先要理解這一波人工智慧演算法的本質。這一波人工智慧演算法歸根到底是基於大數據挖掘的機器學習演算法,能夠從海量數據中把握高維數據之間的統計規律,並根據該統計規律來實現更多的應用。

實際上,人工智慧最擅長的其實是和高維數據相關的分析和優化的任務。什麼是「高維數據」?用簡單一點的方式來解釋,可以大致理解為「受很多種因素影響的變數」。

舉例來說,如果我們把「用戶購買某款網紅口紅的概率」作為一個變數,那麼我們會發現該變數會與用戶的性別、年齡、學歷、收入、居住地、是否喜歡網購等大量因素有關,把所有這些相關因素組成一個向量,就是一個高維數據。人類天生很難定量處理這種高維數據,所以往往要降維處理,例如根據數據總結出「滿足女性,年齡20-25,大學以上學歷,月收入5000以上,居住在二線以上城市,喜歡網購這些條件的人最可能買這款網紅口紅」,但這遠遠做不到定量,因為變數和影響因素之間的關係人類難以找到一個擬合的數量關係。

例如用戶A年齡為26(超出前述20-25範圍),但是對網購有遠超常人熱情的女性,雖然沒有落在前述規律的範圍里,但是甚至會比落在前述規律範圍里的人有更大的可能去買該款口紅。但是如果用機器學習就能找出變數與各個影響因素之間的擬合數量關係,這樣對於用戶A的例子,雖然其年齡項的得分略低,但是其網購熱情得分極高,因此其購買口紅傾向的總分也會較高,系統就可以順利將其歸納為該口紅的潛在消費者。

如果我們看前面人工智慧設計濾波器的例子,也能看到類似的情況。濾波器的走線事實上是一個高維數據,因為每一個像素點都存在自由度讓工程師去決定走線要不要覆蓋到這裡。對於人類工程師來說,由於難以處理這麼高的數據維度,所以設計的時候會採取降維的方法,即以畫直線為主,可調整的變數簡化到了直線的粗細、直線之間的間距以及直線的數量等等。而人工智慧則不受數據維度的限制,因此會探索出更自由的設計模式,相應地其設計結果在人類看起來也會顯得更不規則——因為一旦按照規則,就意味著數據維度的降低。

當然,這一代的人工智慧雖然具有處理高維數據的強大能力,與此同時也有很強的局限性,即缺乏抽象推理、因果歸因和歸納的能力,同時其生成的能力也偏弱。另外,由於人工智慧是基於大數據的數據挖掘,因此在數據量不夠大的時候,就難以工作。因此,人工智慧目前還沒發學習到一套抽象的、普適性較強的設計方法,也就限制了其自動完成複雜設計的能力。

人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

人工智慧在電路設計中的應用

根據之前的分析,我們可以發現人工智慧對於電路設計最適合的應用是對於高維數據空間的探索,包括擁有海量影響因素導致人類設計師難以把握的問題,以及啟發式的優化問題。

機器學習和人工智慧在EDA領域最普遍的應用例子就是數字電路後端的布局布線。數字電路的布局布線屬於典型的啟發式(heuristic)探索問題,即由於變數空間過大,難以找到全局最優解,因此實際的方法都是從一個試探型的初始解開始,慢慢探索嘗試,最終收斂到一個較好的解上面。對於數字後端布局布線流程比較熟悉的朋友們一定會知道通常布線流程會包括trial route、global route、detailed route以及反覆的incremental optimization,這也就是一個典型的通過啟發式演算法找到較優解的流程。

對於較大的設計,布線演算法的每一步都要跑非常久(數小時到數天),但是最後又不一定會真正收斂到較好的解,有時候甚至會出現跑optimization結果反而變差的現象,這其實也是傳統的啟發式演算法的典型現象,因為啟發式演算法的探索只是大概率會得到更好的解,但是不能保證每次探索都能找到更好的解。

那麼機器學習和人工智慧如何幫助布局布線呢?

事實上,這裡的機器學習的幫助主要來自於從大數據中的學習能力。傳統的啟發式演算法本質上並未考慮演算法應用的具體語境,每次在探索的過程中理論上會以等概率去探索各種方向。雖然在長達數十年的工程實踐中,人們會在布線的啟發式演算法中加入各種優化,但是人類工程師對於布線這個高維度的複雜問題的把握程度畢竟有限。舉例來說,當運行布線的時候發現本地布線非常擁擠,而右邊若干距離的地方布線較為寬鬆,那麼應該把多少本地走線移動到右邊?

如果移動過少難以完全緩解布線擁擠問題,而移動過多無非就是把本地的擁擠移動到了右邊,也並非最優。這種變數維度過高的問題對於人類是很難把握的,而機器學習則可以從大量布局布線的實際案例中去學習如何最優化啟發式演算法的探索過程,從而使布線過程優化結果更好,同時也能減少探索次數,也就是減低了演算法運行時間。Cadence在去年宣布已經在布局布線引擎中加入了機器學習的元素,其結果是能夠將運行結果的total negative slack改善15%,這可以說是一個很不錯的起步。

在布局布線領域,人工智慧的另一個重要應用就是能為流程加入預測能力,從而減少迭代次數。眾所周知,數字電路布局布線是一個反覆迭代的過程,流程前後的環節會互相影響。布局的過程會影響布線的結果,而如果布線的結果太差又會導致工程師去再次優化布局以獲得改善。這樣的反覆迭代流程顯然會對設計時間帶來影響,那麼能否在布局的時候就去預測其對於布線的影響,從而不要等到真的布線結果出來之後再去優化布局呢?

之前也有不少嘗試,而使用機器學習通過學習大量的布局和布線擁擠程度之間的關係去做預測可以大大提升預測的精準度,從而減少迭代次數。在ISSCC 2017,台積電的研發副總裁Cliff Hou就在其演講中重點介紹了這種基於機器學習的後端設計方法,並認為它將會為未來的集成電路研髮帶來更多效率提升。

人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

人工智慧會幹掉晶元工程師嗎?|半導體行業觀察

人工智慧與電路設計師

在之前的分析中,我們可以看到目前人工智慧的主要優勢還是在於高維數據的處理和定量統計分析能力。這一波的人工智慧在抽象推理方面仍然較弱,因此難以全面勝任複雜的設計任務。我們人類在處理複雜設計的任務時,普遍的方法是將其降維處理,分解成多個較簡單的子任務並分而治之,當子任務全部都完成時複雜的設計任務自然就完成了。而人工智慧目前尚缺乏這種自適應將複雜任務分而治之的分解能力。

如果說這種從複雜的客觀中抽象出簡單的規律的能力稱之為「降維」,而從複雜世界中把握高維數據之間的複雜關係的能力就可以說是「升維」了。人類的降維能力較強,而人工智慧的升維能力較強,因此人類與人工智慧最好的合作方法就是人類負責降維,抽象出設計框架,並將複雜的設計分解成較簡單的子任務,而人工智慧則在每個子任務中充分探索高維設計空間,幫助完成最優化設計。

從這種意義上來說,人工智慧在短期內並不會替代真人工程師,而是會在設計流程中幫助提升效率,減少演算法和設計流程層面上不必要的迭代,而這一切對於真人設計師來說都是好事。因此,我們認為,人工智慧將會是電路工程師的好朋友。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 半導體行業觀察 的精彩文章:

國產半導體設備廠商梳理
華芯通亞馬遜齊發力,Arm伺服器晶元迎來最好時機

TAG:半導體行業觀察 |