AI入侵芯片設計,會幹掉工程師嗎?
1年前


隨着人工智能最近幾年的進步,如何將人工智能應用到芯片設計也成爲了一個半導體行業熱門的話題。而隨着相關討論的展开,人工智能對於芯片行業賦能的切入點也越來越多地聚焦在了EDA領域,即如何利用人工智能強大的能力來幫助更高效地實現芯片設計、驗證和測試。人工智能從2016年开始騰飛以來,有兩個標志性的事件,即使用強化學習模型並擊敗李世石的AlphaGO,以及最近橫空出世,基於大語言模型技術的ChatGPT。有趣的是,這兩個技術也恰恰是人工智能爲爲EDA賦能的關鍵技術。

在EDA領域,人工智能得到最多關注的領域是如何實現設計的優化。這裏的設計優化,指的是如何在一個搜索空間巨大的設計空間中,高效地搜索到最優解。這裏的具體任務可以包括最優布局布线,以及驗證和測試的輸入組合等。

對於這些問題的人工智能解決方案,目前工業界大致又可以分爲兩類。第一類是規模足夠大並且自身就有強大人工智能研發能力以及芯片設計流程定制化能力的巨頭。這類巨頭公司可以有能力自主研發相關的人工智能技術並且應用在自研的芯片設計流程中,以改善設計流程的效率和芯片質量。在這類公司中,最具有代表性的就是谷歌。谷歌擁有全球最領先的人工智能團隊,同時也擁有自研的芯片TPU,最關鍵的是谷歌的團隊還非常熱衷於將人工智能應用在各種新的應用場景,因此谷歌使用人工智能來提升芯片設計也是情理之中。根據谷歌發表在頂級期刊《Nature》上的論文《A graph placement methodology for fast chip design》,我們知道它已經應用了人工智能來大幅改善自研芯片布局布线的能力,其使用強化學習模型的布局布线算法實現的性能已經超越了人工布局布线的結果,最關鍵的是該技術已經使用在了多代谷歌TPU中。換句話說,谷歌使用人工智能來設計自研的人工智能芯片(TPU),從而用來進一步訓練更強大的人工智能來設計更下一代的人工智能芯片——這樣的正向循環目前看起來至少在谷歌這邊已經是初見端倪。

除了谷歌之外,Nvidia在人工智能布局布线技術上也有了不少積累,其研究團隊上個月發表的研究結果表明,其自研的人工智能算法DREAMPlace/AutoDMP可以在短短2.5小時內完成256核RISC-V處理器的布局任務,其性能並且超越了其他的相關算法。當然,這裏的人工智能模型是運行在了Nvidia強大的多卡GPU服務器上面,雖然Nvidia並沒有明確表示這個自研人工智能布局算法的商用化情況但是我們認爲當它足夠成熟後非常有希望能改善下一代Nvidia GPU的設計效率和質量。

除了自研芯片和AI算法的巨頭之外,另一個業界相關領域有重要動作的就是傳統的EDA廠商。無論是Cadence還是Synopsys都已經宣布大力投入人工智能研發數年之久,而在最近Cadence 和Synopsys都有相關的產品發布。在不久前舉辦的SNUG 2023上,Synopsys發布了稱爲Synopsys.ai的由人工智能驅動的新一代EDA工具,其中包括了用於優化設計的DSO.ai,用於高效生成驗證向量並提高debug效率的VSO.ai,以及用於生成測試向量的TSO.ai。根據Synopsys的官方數據,DSO.ai主要用於提升設計空間的優化從而實現PPA的提升,目前已經有160個使用DSO.ai流片的芯片,DSO.ai可以實現多達15%的功率降低,並可以大大降低設計時間(多達三倍)。而使用VSO.ai和TSO.ai,用戶也可以大大降低驗證和測試所需要的時間並提升效率。Cadence則也在四月初發布了Allegro X,其中的人工智能特性可以自動高效生成PCB設計的布局和關鍵信號的布线,從而減少設計時間。

如果說設計/驗證優化是傳統EDA工具最關注的領域的話,那么另一個重要但是並沒有在傳統EDA工具中得到足夠重視的就是設計輸入,尤其是數字邏輯設計相關的RTL代碼編寫輔助。這個領域之前一直被認爲使用任何一個文本編輯器都可以做,因此一直不在EDA公司的視野之內;但是最近,隨着大語言模型的火熱以及使用大語言模型爲Python等計算機代碼編寫提供輔助的copilot得到越來越多的應用,事實上在RTL代碼編寫中使用類似的copilot技術也正在成爲一個潛在的熱門方向。Copilot技術根據用戶編寫代碼的上下文自動提示和補全可能的代碼,從而減少用戶需要輸入的代碼量並且減少用戶代碼編寫過程中出現bug的可能性,從而大大增加用戶代碼編寫的效率,未來隨着能力的提升甚至可以越來越多地自動完成RTL代碼編寫,從而用戶只需要給出一個簡短的提示(prompt),人工智能就可以給出一份代碼草稿供用戶使用。

綜上,目前EDA行業已經正式進入了AI時代,未來我們可望看到更多人工智能賦能的EDA出現。

人工智能EDA背後的核心技術

如前所述,人工智能賦能EDA背後的核心技術分別是兩大裏程碑式的技術,即強化學習和大語言模型。

首先,強化學習主要用於EDA中的優化問題,包括最有布局布线,以及測試/驗證向量生成等。這類問題的主要挑战點在於參數的優化空間巨大,如果使用暴力搜索遍歷所有可能的參數組合並不現實(例如在布局問題中,每一個設計中的邏輯門都可以放在幾乎版圖上的任何地方,對於目前邏輯門數量規模輕易就上數千萬的設計來說暴力搜索恐怕等到地球上的生物滅絕也無法完成)。

傳統EDA使用的是啓發式的算法例如退火算法,應當說這類算法是取得了巨大的成功,它將布局布线問題的計算時間變得可控,從而創造了今天芯片領域的繁榮。啓發式算法的主要優勢是計算速度較快,對於計算需求量較小,但是未必能找到全局最優的設計參數。另一方面,強化學習的主要原理是從數據中學習不同參數組合的結果,從而能以數據驅動的方式學習到較爲高效的參數空間搜索方法,如果算法設計得當而且訓練數據足夠好的話,可以實現比啓發式算法更好的效果。

2016年Deepmind的AlphaGo擊敗李世石使用的就是強化學習模型,該模型從現有的海量圍棋對弈數據中進行學習,從而能夠實現對人類的超越。事實上,圍棋的優化問題和EDA的優化問題相類似,都是在一個巨大的搜索空間(例如圍棋中每一步都有非常高的自由度導致了很大的搜索空間,而EDA中布局布线和測試/驗證向量的生成也是類似)中以高效的形式找到最優解,因此事實上在AlphaGO獲得成功的那段時間,學術界就已經有不少關於將強化學習使用在EDA領域的探索,而到了今天我們終於看到強化學習技術落地在了EDA領域中。

除了強化學習之外,另一個關鍵的人工智能技術是大語言模型,它對於EDA行業的主要幫助在於能夠幫助工程師能加快代碼編寫的速度並降低出錯幾率。以ChatGPT爲代表的大語言模型(Large Language Model,LLM)通過從海量的文本中學習規律,從而可以理解用戶以自然語言表達的需求,並且生成用戶可以理解的自然語言文本。這裏的“自然語言”不僅包括了我們平時說的語言,還包括了我們編寫的編程語言,包括在電路設計中常用的Verilog等。目前,基於LLM的代碼編寫輔助工具中最成功的是Github的copilot,它可以幫助用戶自動完成代碼(例如用戶在輸入一行代碼的前幾個字符後,copilot就能預估用戶想要編寫的是什么樣的代碼並且提示用戶自動完成)以及自動尋找代碼中的bug。我們認爲,通過將大語言模型在已有的RTL代碼上進行微調,未來非常有希望能出現一個幫助芯片設計工程師快速完成代碼編寫的工具,從而大大提升工程師的效率。

人工智能會如何影響工程師的工作?

人工智能驅動的EDA毫無疑問將會進一步推動半導體行業發展,然而芯片工程師會不會被人工智能搶了飯碗呢?我們認爲,總體來說就如同之前EDA出現並沒有搶了當年的芯片工程師飯碗一樣,下一代人工智能賦能的EDA也主要是一種提高效率的工具,並不會取代人類工程師。

首先,我們從前端設計領域說起。對於芯片來說,人工智能EDA主要能幫助的是使用大語言模型來提升數字邏輯設計的代碼編寫效率和質量,因此並不存在取代的關系,而是提供了一個更加順手的工具。對於數字設計工程師來說,其最本質的工作是把完成電路設計,例如將一個大的系統拆分爲多個較小的功能模塊,完成每個模塊的功能和接口定義,並且使用代碼實現這些模塊。目前來看,人工智能大語言模型主要還是幫助完成代碼,而並非直接寫代碼;而且即使在未來人工智能能自動寫代碼了,它並不能取代數字設計工程師的本質工作,即完成數字模塊的定義和設計。

在後端設計領域,基於強化學習的人工智能已經能大幅提升布局布线的效率和質量。目前,大多數芯片的設計流程是首先由工程師人工完成高層面的布局(floorplan),在預估性能能達到目標之後,再由EDA工具進行下一步的具體布局和布线,並且由工程師進行驗證和微調。我們認爲,隨着人工智能實現的布局布线效率和質量進一步提升,floorplan的工作有可能越來越多地交給EDA工具來做,工程師的職責越來越多的變爲給EDA工具提供合理的constraint和優化目標,並且驗證EDA工具生成的設計的質量。從這個角度來說,人工智能確實有可能會做更多目前工程師手工做的工作,但是這並不代表人工智能會取代這些工程師,而是可以讓這些工程師有了另外的職責(即給工具提供合理的輸入並驗證輸出),並且提升整體的效率。對於其他的布局布线流程來說,人工智能更多的是提供一個質量更高的工具,並不會取代工程師。

事實上,人工智能有可能會給芯片行業提供更多的崗位。我們知道,人工智能模型訓練需要大量的數據,而且人工智能模型對於不同的設計可能會需要不同的微調訓練。因此,芯片設計行業可能會需要更多能有針對性優化人工智能的工程師。

人工智能EDA帶來的行業動態

最後,我們分析一下人工智能未來會如何進一步賦能EDA。

首先,芯片設計的規模越來越大,從另一個角度來看也就是設計的搜索空間也在越來越大。此外,隨着摩爾定律越來越接近物理極限,整體行業對於芯片設計PPA的要求也越來越高。因此,使用人工智能來驅動芯片設計性能的進一步提升會得到越來越多的應用,而且我們認爲在設計復雜度和自由度越高的地方,人工智能就能起到更大的作用。這些領域包括高級封裝,尤其是3D封裝;以及移動芯片、高性能計算芯片等對於芯片設計PPA有非常高要求的領域——這也是爲什么我們看到谷歌和Nvidia這些主打高性能計算芯片的公司都在人工智能EDA領域有很大的投入,未來我們預計會有更多的這類公司使用人工智能EDA來改善PPA。

此外,另一個值得關注的要點是人工智能可能會給行業帶來新的變化,就是人工智能需要大量的數據去訓練,而目前來看芯片設計的數據都是每個公司的知識產權,如何來確保訓練出最好的模型同時又確保知識產權不會被侵犯也是一個需要行業處理的問題。我們認爲,擁有大量設計積累的大公司會是第一批使用人工智能EDA的客戶,因爲他們基於自己的設計數據已經能訓練出性能不錯的模型。至於設計積累較少的中小型公司或者成力時間較短的初創公司如何來使用人工智能EDA將會是一個值得整個行業思考的問題,例如是否會出現一些數據共享的組織,用來分享一些並不怎么敏感的設計來一起訓練模型並共同使用,還是會有一些基於加密計算訓練的方法可以在盡可能保護設計知識產權的同時讓模型能使用盡可能多的數據來完成訓練,都是有可能的方向。

*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅爲了傳達一種不同的觀點,不代表半導體行業觀察對該觀點贊同或支持,如果有任何異議,歡迎聯系半導體行業觀察。


追加內容

本文作者可以追加內容哦 !

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。



標題:AI入侵芯片設計,會幹掉工程師嗎?

地址:https://www.breakthing.com/post/56120.html