ChatGPT 也能用來造芯,說說英語就可以了?!
ChatGPT 真的那么牛嗎?
來自紐約大學(xué) Tandon 工程學(xué)院的研究人員發(fā)布了一篇《Chip-Chat: Challenges and Opportunities in Conversational Hardware Design》論文,用實驗回答道:是的,ChatGPT 確實比較厲害!
只用簡單的自然語言之英語和 ChatGPT 聊聊天,便制作出了一款微處理芯片。更值得注意的是,在 ChatGPT 的助力下,這款芯片組件不僅是設(shè)計了出來的,也是經(jīng)過了基礎(chǔ)測試,可以制造出來。
紐約大學(xué)發(fā)文評價道,「這是一項史無前例的成就,可以加快芯片開發(fā)速度,并允許沒有專業(yè)技術(shù)技能的個人設(shè)計芯片。」
所以說,全民”造芯“的時代真的要來臨了嗎?在此,我們不妨先看看研究人員到底是怎么做的。
AI 大模型的應(yīng)用,硬件領(lǐng)域落后于軟件
在論文中,研究人員指出,現(xiàn)代硬件設(shè)計始于自然語言提供的規(guī)范,如英文文檔需求,然后再由硬件工程師使用硬件描述語言(HDL)如 Verilog,將需求用代碼構(gòu)建出來,完成芯片內(nèi)部的設(shè)計,最終再合成為電路元件。
那么,在 AIGC 時代來臨之際,如 OpenAI 的 ChatGPT 和 Google 的 Bard 號稱可以生成代碼,也有不少開發(fā)者使用過它們創(chuàng)建了一個又一個網(wǎng)站,但是當(dāng)前在其應(yīng)用范圍主要聚焦在軟件領(lǐng)域的情況,這些 AIGC 工具能否將硬件工程師的”翻譯“(文檔需求轉(zhuǎn)換成代碼)工作給取而代之。
基于此,研究人員使用了 8 種具有代表性的基準(zhǔn),研究了在生成硬件描述語言本身的編寫時,最先進(jìn)的 LLM 狀態(tài)的能力和局限性。
測試原理與規(guī)則
實驗環(huán)節(jié),研究人員將 ChatGPT 作為一種模式識別器(充當(dāng)人類的角色),可以在各種類型的語言(口頭語、書面語)中轉(zhuǎn)換自如,同時,ChatGPT 可以讓硬件工程師們跳過 HDL 階段。
整體驗證流程如下圖所示:
詳細(xì)來看,首先,硬件工程師對大模型提供初始提示,讓它創(chuàng)建一個 Verilog 模型,然后提供輸入、輸出的具體信息。最終硬件工程師對輸出設(shè)計進(jìn)行可視化評估,以確定其是否符合基本設(shè)計規(guī)范。
如果一個設(shè)計不符合規(guī)范,它會在相同的提示下再生成五次。倘若它仍然不符合規(guī)范,那么它就會失敗。
一旦設(shè)計和測試用例已經(jīng)寫好了,它們就會被用 Icarus Verilog (iverilog,Verilog 硬件描述語言的實現(xiàn)工具之一) 編譯。如果編譯成功,則進(jìn)行模擬。如果沒有報告錯誤,則設(shè)計通過,不需要反饋 (NFN)。
如果這些操作中的任何一個報告了錯誤,它們就會被反饋到模型中,并被要求“請?zhí)峁┬拚保@被稱為工具反饋 (TF)。如果相同的錯誤或錯誤類型出現(xiàn)三次,那么簡單的人類反饋 (SHF) 是由用戶給出的,通常通過說明 Verilog 中什么類型的問題會導(dǎo)致這個錯誤 (例如:聲明中出現(xiàn)語法錯誤)。
如果錯誤持續(xù)存在,則會給出適度的人類反饋 (Moderate Human Feedback,MHF) ,并提供稍微更直接的信息給工具,以識別特定的錯誤。
如果錯誤持續(xù)存在,則會給出高級人類反饋 (Advanced HumanFeedback,AHF),它依賴于精確地指出錯誤所在和修復(fù)它的方法。
一旦設(shè)計編譯和模擬,沒有失敗的測試用例,它就被認(rèn)為是成功的。
但是如果高級反饋不能修復(fù)錯誤,或者用戶需要編寫任何 Verilog 代碼來解決錯誤,則測試被認(rèn)為是失敗的。如果會話超過 25 條消息,符合每 3 小時 ChatGPT-4 消息的 OpenAI 速率限制,則該測試也被視為失敗。
Bard 和 HuggingChat 在首輪測試中折戟
具體實驗環(huán)節(jié),研究人員針對 8 位移位寄存器進(jìn)行了基準(zhǔn)測試。
他們要求大模型嘗試為一個「測試名稱」創(chuàng)建一個 Verilog 模型,然后提供規(guī)范,定義輸入和輸出端口以及任何需要的進(jìn)一步細(xì)節(jié),并進(jìn)一步詢問大模型“我將如何寫一個設(shè)計,以滿足這些規(guī)格?”
與此同時,研究人員還直接讓大模型生成測試臺的設(shè)計:
你能為這個設(shè)計編寫一個 Verilog 測試臺嗎?測試臺應(yīng)該具備自檢功能,并且能夠與 iverilog 一起用于仿真和驗證。如果測試用例失敗,測試臺應(yīng)該能夠提供足夠的信息,以便找到并解決錯誤。
進(jìn)而,研究人員基于 ChatGPT-4、ChatGPT-3.5、Bard、HuggingChat 四款大模型得到了輸出內(nèi)容:
最終結(jié)果顯示,兩個 ChatGPT 模型都能夠滿足規(guī)格,并開始進(jìn)行設(shè)計流程。不過,Bard 和 HuggingChat 未能滿足規(guī)格的初始標(biāo)準(zhǔn)。
雖然按照上文提到的測試流程,研究人員基于 Bard 和 HuggingChat 的初始提示,又讓大模型重新生成了五次回答,但是多輪之后,這兩個模型還是都失敗了。其中,Bard 始終無法滿足給定的設(shè)計規(guī)范,HuggingChat 的 Verilog 輸出是在模塊定義之后就開始不正確了。
鑒于 Bard 和 HuggingChat 在初始挑戰(zhàn)基準(zhǔn)提示符上的性能較差,研究人員決定后續(xù)只針對 ChatGPT-4 和 ChatGPT-3.5 進(jìn)行完整的測試。
ChatGPT-4 和 ChatGPT-3.5 的角逐
下圖顯示了 ChatGPT-4 和 ChatGPT-3.5 的基準(zhǔn)測試結(jié)果,明顯可以看出,ChatGPT-3.5 的性能要比 ChatGPT-4 差一些,大多數(shù)對話導(dǎo)致基準(zhǔn)測試失敗,而大多數(shù)通過自己測試臺的對話都是不兼容的。
反觀 ChatGPT-4 的表現(xiàn)更勝一籌,大多數(shù)的基準(zhǔn)測試都通過了,其中大部分只需要工具反饋。不過,在測試臺設(shè)計中,仍然需要人類的反饋。
ChatGPT-4 與硬件工程師配對,共同開發(fā)芯片
為了探索 LLM 的潛力,研究人員還讓硬件設(shè)計工程師和 ChatGPT-4 配對,共同設(shè)計一種基于 8 位的累加器的微處理器。
對 ChatGPT-4 的初始提示如下所示:
讓我們一起做一個全新的微處理器設(shè)計......我認(rèn)為我們需要限制自己的累加器8位架構(gòu),沒有多字節(jié)指令。既然如此,你覺得我們該怎么開始?
考慮到空間限制,研究人員的目標(biāo)是使用 32 字節(jié)內(nèi)存(數(shù)據(jù)和指令相結(jié)合)的馮·諾依曼型設(shè)計。
最終,ChatGPT-4 與硬件工程師共同設(shè)計了一種新穎的基于 8 位累加器的微處理器架構(gòu)。該處理器采用 Skywater 130nm 工藝,這意味著這些“Chip-Chat”實現(xiàn)了我們認(rèn)為是世界上第一個完全由人工智能編寫的用于流片的 HDL。
GPT-4 設(shè)計的基于累加器的數(shù)據(jù)路徑(由人類繪圖)
在論文中,研究人員總結(jié)道,ChatGPT-4 產(chǎn)生了相對高質(zhì)量的代碼,這可以從短暫的驗證周轉(zhuǎn)中看出??紤]到 ChatGPT-4 每 3 小時 25 條消息的速率限制,此設(shè)計的總時間預(yù)算為 ChatGPT-4 的 22.8 小時(包括重新啟動)。每條消息的實際生成平均約為 30 秒:如果沒有速率限制,整個設(shè)計本可以在 <100 分鐘內(nèi)完成,具體取決于人類工程師。盡管 ChatGPT-4 相對容易地生成了 Python 匯編程序,但它很難編寫為我們的設(shè)計編寫的程序,而且ChatGPT也沒有編寫任何重要的測試程序。
總體上,研究人員完成了在模擬和 FPGA 仿真中評估了一系列全面的人工編寫的匯編程序中的所有 24 條指令。
ChatGPT 能夠節(jié)省芯片開發(fā)周期
“這項研究產(chǎn)生了我們認(rèn)為是第一個完全由 AI 生成的 HDL,用于制造物理芯片,”紐約大學(xué) Tandon 的研究助理教授兼研究團隊成員 Hammond Pearce 博士說?!耙恍┤斯ぶ悄苣P?,如 OpenAI 的 ChatGPT 和谷歌的 Bard,可以生成不同編程語言的軟件代碼,但它們在硬件設(shè)計中的應(yīng)用尚未得到廣泛研究。這項研究表明 AI 也可以使硬件制造受益,尤其是當(dāng)它被用于對話時,你可以通過一種來回的方式來完善設(shè)計?!?/span>
然而,在這個過程中,研究人員也需要進(jìn)一步測試和解決將 AI 用于芯片設(shè)計所涉及的安全考慮因素。
整體而言,雖然 ChatGPT 不是一款專門面向硬件領(lǐng)域的自動化軟件工具,但是它可以成為一款 EDA 輔助工具,而且?guī)椭?EDA 設(shè)計師們大大降低了知識門檻。
研究人員也表示,如果在現(xiàn)實環(huán)境中實施,在芯片制造中使用 LLM 模型可以減少 HDL 轉(zhuǎn)換過程中的人為錯誤,有助于提高生產(chǎn)力,縮短設(shè)計時間和上市時間,并允許進(jìn)行更具創(chuàng)意的設(shè)計。其實,僅是這一點,ChatGPT 便值得被硬件工程師們拿來在硬件領(lǐng)域參與更多的嘗試與探索。
更詳細(xì)的測試流程見論文:https://arxiv.org/pdf/2305.13243.pdf
參考:
https://www.tomshardware.com/news/conversation-with-chatgpt-was-enough-to-develop-part-of-a-cpu
https://engineering.nyu.edu/news/chip-chat-conversations-ai-models-can-help-create-microprocessing-chips-nyu-tandon-researchers
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。