EDA開發流程中的多模態AI
RTL 編碼是半導體開發的關鍵步驟,但許多人認為這并不是最困難的一步。隨著您越來越接近實施,并且系統上下文變得比僅通過文本可以理解的要大,事情會變得更加復雜。在這兩種情況下,布局、時間、功率和許多其他因素都會發揮作用,但沒有一個是文本更容易表示的,而且它們不遵循相同的規則。
正如流行的格言所說,“一張圖片勝過千言萬語”,這可能是非常保守的。框圖、時序圖、波形、狀態圖、流程圖、平面圖、布局、熱圖——用作輸入和輸出的圖形形式列表非常廣泛。人工智能需要能夠理解并生成它們。
這句格言也可以從另一個角度看待。圖片以及所有其他格式都可以用不同級別的文本表示。波形只不過是一個值更改轉儲文件,而該文件又是一個按時間順序排列的信號轉換列表。同樣,圖片可以被視為一組像素,也可以被視為以有損抽象格式表示圖像的已識別對象。
人工智能模型一直在迅速發展,它的一些最初實際用途不是基于文本的。他們正在解決與手寫檢測、語音識別和生成相關的問題。當 ChatGPT 第一次進入公眾的視野時,它只是文本的。它在其他格式上的表現非常差。
人工智能模型開發已經分散。分離的系統通常被部署用于圖像識別、文本處理、音頻處理、推理和文本生成。這些的集成帶來了挑戰,并顯著增加了計算負載和功耗,這是業界越來越關注的問題。
第二個問題是當今使用的大多數人工智能系統都不了解物理學。雖然最新的模型應該具備這些知識,但很明顯,多物理場推理超出了它們今天的能力范圍。物理學與我們使用的許多替代表示交織在一起。布局表示晶體管或 IP 塊相對于其他塊的位置,但性能受到這些其他塊的影響。此外,其他塊可能會影響開發流程后期階段的其他決策。在這兩種情況下,它們都會在很長一段時間內被活動修改。
人工智能模型一直在迅速改進,那么今天的人工智能在處理這種多模態、多物理場問題方面處于什么位置?它是否準備好處理電子設計和實現面臨的一些問題?
為什么多模態很重要
在理想情況下,我們會有一個清晰明確的規范,可以輸入到基于 AI 的流程中,但事實并非如此。“我與許多用戶討論過從設計規范開始的代理工作流程,圖像幾乎總是會出現,”Cadence 軟件工程組總監 Andy Penrose 說。“很明顯,架構框圖、FSM 流程圖和時序圖都包含規范文本中可能缺少的重要信息。對于規范驅動的設計和驗證自動化來說,圖像處理不是可選的。
多模態人工智能是人工智能的新趨勢。“在過去的一年里,我們加倍努力將尖端的多模態人工智能研究轉化為生產級 EDA 工具,”ChipAgents 首席執行官 William Wang 說。“我們首先完善了一個 PDF 解析引擎,該引擎可以從時序圖、架構框圖和密集的規格圖中提取意圖,并在 DAC 上首次推出了我們的新波形代理,它能夠在幾分鐘內攝取和推理超過 GB 甚至 TB 的仿真轉儲。這種能力基于我領導的 TabFact 工作,其表格理解技術現在支持了大多數前沿法學碩士——在我以前的博士生發明的 Apple 的 MGIE 中,它為語言引導的圖像編輯設定了標準,以及我們為 Google 的 Gemini 構建的 VaTeX 評估工具。通過將這些創新與 RTL 驗證的特定領域知識相結合,我們可以縮小人性化的視覺工件和機器驅動的設計自動化之間的差距。
這是一個根本性的轉變。在某些情況下,開頭沒有文本。“人類對框圖等表示非常滿意,”ChipStack 聯合創始人兼首席技術官 Hamid Shojaei 說。“事實上,當我們開始在谷歌從事 TPU 項目時,對于第一代產品,我們根本沒有任何書面規范。它只是一個框圖,顯示了 TPU 項目中的不同 IP 以及它們如何相互通信。沒有文字,只有一個框圖,這就是我們開始的地方。
今天,人們非常關注 RTL 的編碼。“前端有很多初創公司,”西門子 EDA IC 驗證和 EDA AI 產品主管 Sathish Balasubramanian 說。“他們聲稱可以進行 RTL 生成,而且他們可以,因為這只是編碼。他們什么都不在乎。有很多開源示例可用,有了它,您可以更快地創建原型。它有價值,但很有趣。你得到的是洋蔥的外層。但是,當你接近物理領域時,要獲得正確的答案,還涉及更多參數。
通過查看流程中的各個功能,用圖形增強的文本的價值變得清晰。“對于驗證,圖像、表格、狀態轉換圖等在兩個領域非常有用,”ChipStack 聯合創始人兼首席執行官 Kartik Hegde 說。“第一個是設計意圖提取,即了解設計的作用。在這個過程中,了解框圖和狀態轉換圖非常重要,它們不容易表示為文本。我們需要識別所有這些技術才能理解規范。第二個方面是波形。這很特別,因為它同時捕獲了空間和時間。這在調試中非常重要。一旦我們生成了測試計劃和測試平臺并運行它們,如果某些東西失敗了,我們就必須弄清楚為什么某些東西失敗了。在此過程中,我們需要了解每個變量隨時間變化的狀態,為此您需要進入波形。
驗證是流程中資源最受限的方面之一,因此受到了很多關注。“多模態人工智能對驗證最有價值,因為它可以讓工具讀取與工程師讀取的相同規格,”Normal Computing 機器學習主管 Thomas Ahle 說。“這包括 PDF 文本、計時圖、州圖和登記地圖。然后,您可以將這種理解轉化為刺激、覆蓋范圍和 RTL 代碼。
優化通常涉及受多模態約束影響的迭代。“如果你考慮構建一個人工智能代理,它本質上是一組形成流程的單個提示的超級集合,”西門子的 Balasubramanian 說。“他們可以查看結果,獲得反饋,采取許多行動。例如,一個簡單的平面圖到整個布局和布線流程,要求代理能夠理解設計的所有抽象、不同的數據庫、所有不同的信息源。這包括日志文件、PDF、帶圖像的 PDF、GDSII 和擁堵圖。代理需要了解更多,并且需要能夠理解所有錯綜復雜的內容,從編寫 RTL 斷言或編寫時序約束 (SDC),到能夠理解它們及其對綜合的影響。反過來,合成意味著能夠選擇正確的單元,為此它需要能夠理解 .lib,并根據時序和功率屬性選擇單元。
在實施方面還有很多工作要做。“在更廣泛的行業中,大多數非文本人工智能都專注于物理設計,”Normal Computing 的高級人工智能工程師 Doyun Kim 說。“這是布局可以表示為圖像的地方,布局是不同層中數十億個矩形的集合。但物理設計的人工智能開發通常僅限于預測任務,例如功率或擁塞估計,其普遍性受到可用訓練數據的多樣性和數量的限制。
生成非紋理輸出
在可預見的未來,人類將繼續參與設計和驗證,在許多情況下,人類對圖形的理解比對文本的理解更好。圖形輸出至關重要,因為它有助于理解,并且可以提供高于 RTL 的抽象水平。
在 1990 年代,EDA 公司試圖從 Verilog 生成狀態圖。他們是一次糟糕的失敗。狀態圖從來都不是按照人類想要的方式布置的。設計師會花太多時間試圖擺弄已經生成的東西,以至于不值得。
“讓法學碩士原生生成有助于理解的圖像或圖形并不是一個可行的方法,因為它們無法以非常精確的方式做到這一點,”ChipStack 的 Hegde 說。“他們真正擅長的是編寫代碼。LLM 可以直接攝取圖像,但不擅長非常精確地生成圖像。因此,我們重新生成代表這些圖像的代碼,然后需要找到渲染它們的方法。
這種幫助程序需要良好的接口。“API 可以提供巨大的幫助,使我能夠讀寫,”Balasubramanian 說。“例如,FSDB 是一種非常流行的波形格式。FSDB 有一個讀取器和寫入器。代理需要同時訪問讀取器和寫入器 API。信息的解釋相當簡單。一旦我有了這些規則,它就類似于我們的學習方式。我們知道信號的 FSDB 語法。當過渡發生時,我們知道它位于時間軸上的位置。這相當簡單。
但這是關于一種獨立方式的格式。“FSDB 不能孤立無援,”Balasubramanian 補充道。“FSDB 需要設計上下文。假設我正在加載一個 RISC-V 內核并進行頂級性能模擬。加載后,您將擁有輸入,其中包括設計參數、測試臺架,并且您擁有包含日志文件的整個會話。如果我查詢任何信號,它會給你該特定會話的答案。有了人工智能代理,事情可以走得更遠。他們可以訪問整個內存進行驗證。也許有人請求在此特定模式下以 1GHz 的速度執行特定運行。我可以輕松地再次運行它。或者我可能知道它之前嘗試過,但由于架構不夠好而存在一些問題。
推理
:人類和人工智能希望研究不同的表示形式。“我不確定人工智能是否應該在圖形數據上運行,”弗勞恩霍夫 IIS 自適應系統工程部門小芯片卓越中心負責人安迪·海尼格 (Andy Heinig) 說。“人類通常需要圖形解釋才能看到模式。但人工智能可以非常有效地處理底層數據,也許我們只是通過這種圖形表示丟失了一些信息。人工智能還可以學習底層數據并找出底層數據(例如波形)上的模式。他們沒有理由繪制波形,因為人工智能可以直接使用數據點并對這些數據點進行推理。對于布局,一切都由點表示,這是人工智能真正可以在底層數據結構上學習的東西。
不過,這些模型確實必須與它們試圖解決的問題保持一致。“LLM 是廣義推理引擎,”Hegde 說。“如果你以這種方式使用它們并解決任何復雜的問題,你可以將其分解成更細粒的部分。將有一個抽象層,廣義的法學碩士非常擅長做某事。現在讓我們舉一個波形的例子。您必須了解給定波形中發生的情況。法學碩士尚未接受過高質量波形的培訓。他們沒有看到這些數據。但你可以以一種問題和子問題是法學碩士可以解決的方式構建這個問題。
這導致了幾種方法。“數據訪問對于 LLM 推理至關重要,”AllSpice 首席技術官兼創始人 Kyle Dumont 說。“但是,如果法學碩士無法理解它所呈現的數據,那么用途就會受到限制。這個問題有兩種解決方案:
構建一個轉換器以轉換為易于理解的模式(更容易),以及
微調模型以在特定編碼(硬)上訓練它。
一些法學碩士對常見格式(例如 PDF 解析)采用了上述解決方案。然而,特定于硬件的推理需要翻譯人員來獲取必要的數據。圖像解析非常昂貴,并且可能會提供有缺陷的推理。輸入層的錯誤會對輸出響應的質量產生放大的影響,因此最好在通用模式(例如 XML 或 CSV)中提供文本接口。
工作仍有待完成。“在芯片設計和驗證過程中,除了文本之外,我們還會遇到許多不同類型的數據——原理圖、門級網表、布局和圖表,”Normal 的 Kim 說。“它們通常以其原始格式具有語義意義,并且可以表示為文本。如果我們想出一種好的文本表示,可以很好地捕獲其原始語義,類似于化學中分子的 SMILES 表示,它允許使用基于文本的處理來處理下游任務,從而減少對額外、昂貴的計算層的需求。
培訓和專業化
在半導體行業之外,通過最大限度地使用數據量來改進培訓。“每個設計團隊,甚至公司內的設計團隊,都有自己的設計風格和設計指南,而這些通常與他們想要設計的產品有關,”弗勞恩霍夫的海尼格說。“我預計我們在這里需要不同的風格,而這只能根據公司內部數據進行訓練。混合和匹配來自不同公司的數據不是一個好方法,因為這不是公司真正想要的。我預計每家公司都希望有自己的風格。例如,如果您正在設計一個高能效的邊緣處理器,這與高性能 CPU 有很大不同。如果將所有訓練數據混合在一起,就會得到混合數據。但不是很具體。
對此有不同的方法。“有兩種方法可以制定這種指導,”Balasubramanian 說。“一種本質上是通過微調使其成為法學碩士的一部分。試圖讓 LLM 更多地了解特定架構,例如 RISC-V。第二種方法是創建一個復雜的 RAG 框架。當你輸入一個標識符說我正在使用 AMBA 總線協議進行 RISC-V 驗證時,它應該能夠返回并查看,“它是否有任何關于 RISC-V 的先驗信息,以及 RISC-V 的 AMBA 總線協議?我們制定所有規則并不斷添加到知識數據庫中。
在驗證中,可以創建大量數據集。“我們有潛力生成龐大的合成數據集,”Normal 的人工智能工程師 Hrolfur Eyjolfsson 說。“驗證中的大部分視覺信息,如時序圖和狀態空間,實際上都是從一些代碼開始生成的。這意味著我們可以創建自己的訓練數據,而不是依賴稀缺的現實世界示例。
“可以訓練模型以獨立于代碼來理解文本信息、圖表和波形,”Normal 的 Ahle 補充道。“這對代碼數據的需求更小。但是,代碼數據非常稀疏。這也意味著我們必須采取強化學習方法,系統可以通過與現有工具和系統的交互來學習,而不僅僅是直接對代碼進行微調。
進步
該行業發展迅速,但并非所有行業都在同步發展。這可能會產生一些問題。“最新的前沿模型可以非常擅長多種模式,但此類模型可能無法在安全的設計環境中使用,”Cadence 的 Penrose 說。“這是我們從研發原型到生產所面臨的挑戰之一。”
它還需要 EDA 行業內不同的思維方式。“我們過去看到的非常閉環系統的日子已經一去不復返了,”Balasubramanian 說。“它需要更加靈活,更能適應用戶的需求。如果你在三個月后和我談談,我會有一套不同的問題,一套不同的意見,因為我們仍在學習。我們都在學習,包括我們作為供應商或客戶。當我們嘗試部署它時,我們每天都在學習。
評論