西風(fēng) 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
和ChatGPT聊聊天,就可解決CPU開發(fā)過程中的難題?
紐約大學(xué)(NYU)研究人員完成了一件看似不可能的事情:
無需專業(yè)的硬件描述語言(HDL),僅靠說人話就能設(shè)計(jì)芯片!
在ChatGPT的幫助下,他們不僅設(shè)計(jì)出CPU上的一個(gè)組件,甚至還通過了有效性驗(yàn)證環(huán)節(jié)。
這個(gè)組件主要負(fù)責(zé)創(chuàng)造出一種基于八位累加器的微處理器架構(gòu)的邏輯。而累加器本質(zhì)上是寄存器(存儲器),是專門存放算術(shù)或邏輯運(yùn)算的一個(gè)操作數(shù)和存儲運(yùn)算結(jié)果的。這是CPU運(yùn)作中不可或缺的一部分。
所以,還有什么是大語言模型不能做的?
有網(wǎng)友表示:
芯片設(shè)計(jì)的部分流程實(shí)現(xiàn)自動化無疑是個(gè)好消息。
也有網(wǎng)友表現(xiàn)出對在芯片設(shè)計(jì)中使用AI編寫HDL的擔(dān)憂:
ChatGPT對芯片設(shè)計(jì)干了啥?
通常,設(shè)計(jì)和制造芯片的過程中會經(jīng)歷幾個(gè)階段。
其中一個(gè)階段是用硬件描述語言(HDL)(例如Verilog)描述芯片內(nèi)不同部件的實(shí)際幾何形狀、密度和整體布局。
在此前,作為一個(gè)極其專業(yè)化和復(fù)雜的領(lǐng)域,HDL編寫一直是一項(xiàng)相對罕見且非常難以掌握的工作。
研究團(tuán)隊(duì)成員之一、也是研究助理教授的Hammond Pearce博士更是認(rèn)為:
硬件描述語言的最大挑戰(zhàn)就是沒有多少人知道如何編寫它們,很難成為這方面的專家。
這也就意味著,即使是最好的工程師也還是經(jīng)常需要用這種語言做一些瑣碎的事情。
而ChatGPT作為一種模式識別器,可以在各種類型的語言中轉(zhuǎn)換自如,這就可以幫助工程師們跳過HDL階段。
△使用 LLM 創(chuàng)建 IC(集成電路)的設(shè)計(jì)流程。
在這項(xiàng)研究中,研究人員分別使用LLM對八個(gè)具有代表性的硬件設(shè)計(jì)示例進(jìn)行了研究。工程師與LLM之間實(shí)時(shí)來回交互,將純英文文本逐步轉(zhuǎn)化為Verilog(HDL)的等效代碼。
其中一位硬件工程師與LLMs共同設(shè)計(jì)了一種新穎的基于八位累加器的微處理器體系結(jié)構(gòu)。他們將這些基準(zhǔn)測試和處理器發(fā)送到Skywater 130納米Shuttle進(jìn)行流片(tapeout)。
這個(gè)過程中,研究人員評估了ChatGPT-4、ChatGPT-3.5、Bard、HuggingChat四個(gè)不同LLM創(chuàng)建硬件設(shè)計(jì)的Verilog能力:
此外,研究人員還針對8位移位寄存器進(jìn)行了基準(zhǔn)測試。告訴大模型正在嘗試為一個(gè)「測試名稱」創(chuàng)建一個(gè)Verilog模型。然后提供規(guī)范說明,定義輸入和輸出端口以及其他所需的具體信息。最后詢問他該如何編寫一個(gè)滿足這些規(guī)范的設(shè)計(jì)。
△8位移位寄存器的設(shè)計(jì)提示
下面是不同大模型給出的設(shè)計(jì)方案:
△左圖是ChatGPT-4的八位移位寄存器設(shè)計(jì),右圖是ChatGPT-3.5
△左圖是Bard(第4行的「紅色」輸入過寬),右圖是HuggingChat(截?cái)?,格式化?/p>
如上圖所示,雖然ChatGPT都能夠滿足規(guī)格要求并開始進(jìn)行設(shè)計(jì)流程,但Bard和HuggingChat都未能滿足規(guī)格要求的初始標(biāo)準(zhǔn)。
研究人員又基于Bard和HuggingChat的初始提示,讓它們重新生成了五次回答,但兩者還是都失敗了。Bard一直無法滿足給定的設(shè)計(jì)規(guī)格要求,而HuggingChat的Verilog輸出在模塊定義之后就不符合語法規(guī)范。
鑒于Bard和HuggingChat在初始的挑戰(zhàn)基準(zhǔn)測試中表現(xiàn)不佳,研究人員決定后續(xù)完整測試僅對ChatGPT-4和ChatGPT-3.5進(jìn)行。
與此同時(shí),順便讓大模型進(jìn)行了Testbench(測試臺)的設(shè)計(jì):
你能為這個(gè)設(shè)計(jì)編寫一個(gè)Verilog測試臺嗎?測試臺應(yīng)該具備自檢功能,并且能夠與iverilog一起用于仿真和驗(yàn)證。如果測試用例失敗,測試臺應(yīng)該能夠提供足夠的信息,以便找到并解決錯(cuò)誤。
最終結(jié)果表明ChatGPT-4的表現(xiàn)較為出色。大多數(shù)基準(zhǔn)測試都通過了,并且大部分只需要工具反饋即可。
與創(chuàng)建可運(yùn)行設(shè)計(jì)相比,ChatGPT-4在創(chuàng)建可運(yùn)行的測試臺上遇到了更多困難,往往還是需要人類的反饋意見。
而與ChatGPT-4相比,ChatGPT-3.5的表現(xiàn)明顯較差,大多數(shù)基準(zhǔn)測試都失敗了,而那些通過測試臺的對話大多數(shù)也不符合規(guī)范。與ChatGPT-4相比,ChatGPT-3.5每次對話和基準(zhǔn)測試之間會出現(xiàn)各種各樣的問題,在設(shè)計(jì)和測試臺方面需要更頻繁地進(jìn)行修正。
ChatGPT是芯片設(shè)計(jì)中的“力量倍增器”
隨著大語言模型(LLM)的繼續(xù)發(fā)展,未來從構(gòu)想到功能設(shè)計(jì),LLM或許都可以輕松實(shí)現(xiàn)。
△研究人員用ChatGPT-4設(shè)計(jì)的基于累加器的數(shù)據(jù)通路(圖是人繪制的),控制信號用虛線表示
研究人員認(rèn)為:
盡管我們強(qiáng)調(diào)了模型的單步性能(即一步完成設(shè)計(jì)),但對于硬件應(yīng)用來說,讓它們以“共同設(shè)計(jì)師”的身份加入,可能會表現(xiàn)得更好。
當(dāng)與經(jīng)驗(yàn)豐富的工程師協(xié)同工作時(shí),它們可以成為一種“力量倍增器”。工程師可以根據(jù)模型提供的“初版設(shè)計(jì)方案”,進(jìn)行微調(diào)和快速迭代。
Hammond Pearce博士說道:
這項(xiàng)研究成果是我們認(rèn)為首次完全由人工智能生成的硬件描述語言(HDL)轉(zhuǎn)化為物理芯片的案例。一些人工智能模型,比如OpenAI的ChatGPT和谷歌的Bard,可以生成不同編程語言的軟件代碼,但它們在硬件設(shè)計(jì)領(lǐng)域的應(yīng)用尚未被廣泛研究。
而這項(xiàng)研究表明,人工智能在硬件制造方面也具有潛力,尤其是在對話式應(yīng)用中,通過反復(fù)交流可以完善設(shè)計(jì)。
并且,這樣一來HDL編寫過程中人為引起的錯(cuò)誤就會減少,從而可縮短設(shè)計(jì)時(shí)間和上市時(shí)間,也可允許更多創(chuàng)造性的設(shè)計(jì)。
不知一些HDL工程專家聽到這里是否會略感緊張。
研究人員認(rèn)為如果這個(gè)過程能夠?qū)崿F(xiàn)自動化,不僅可以加快現(xiàn)在的工作速度,還可以減輕人為瓶頸。但是,完全依靠類似于ChatGPT這種大模型,或者依賴電力運(yùn)行的軟件機(jī)器也存在一定的風(fēng)險(xiǎn)。用于芯片設(shè)計(jì)的LLM在訓(xùn)練階段也存在難解的黑盒子等一系列問題。
對此,你有什么看法?
參考鏈接:
[1]https://arxiv.org/abs/2305.13243(論文鏈接)
[2]https://.tomshardware.com/news/conversation-with-chatgpt-was-enough-to-develop-part-of-a-cpu