AI竟能生成芯片了!GPT-4僅用19輪對(duì)話造出130nm芯片

】GPT-4已經(jīng)會(huì)自己設(shè)計(jì)芯片了!芯片設(shè)計(jì)行業(yè)的一個(gè)老大難問(wèn)題HDL,已經(jīng)被GPT-4順利解決。并且,它設(shè)計(jì)的130nm芯片,已經(jīng)成功流片。
GPT-4,已經(jīng)可以幫人類造芯片了!
只用簡(jiǎn)單的英語(yǔ)對(duì)話,紐約大學(xué)Tandon工程學(xué)院的研究人員就通過(guò)GPT-4造出了一個(gè)芯片。
具體來(lái)說(shuō),GPT-4通過(guò)來(lái)回對(duì)話,就生成了可行的Verilog。隨后將基準(zhǔn)測(cè)試和處理器發(fā)送到Skywater 130 nm穿梭機(jī)上成功流片(tapeout)。
這項(xiàng)成就,堪稱史無(wú)前例。
這意味著,在大語(yǔ)言模型的幫助下,芯片設(shè)計(jì)行業(yè)的大難題——HDL將被攻克。芯片開(kāi)發(fā)的速度將大大加快,并且芯片設(shè)計(jì)的門檻也被大大降低,沒(méi)有專業(yè)技能的人都可以設(shè)計(jì)芯片了。
研究者表示:「可以認(rèn)為,這項(xiàng)研究產(chǎn)生了第一個(gè)完全由AI生成的HDL(硬件描述語(yǔ)言),它可以直接用來(lái)制造物理芯片?!?/span>
HDL難題被GPT-4順利解決
如上圖所示,芯片設(shè)計(jì)和制造中非常重要的一部分代碼——Verilog,就是研究人員通過(guò)提示詞讓GPT-4生成的。
在NYU的這項(xiàng)研究中,兩名硬件工程師僅僅通過(guò)英語(yǔ)和GPT-4交談,就設(shè)計(jì)出了一種新型的8位基于累加器微處理器架構(gòu)。
而GPT-4設(shè)計(jì)的芯片,顯然已經(jīng)達(dá)到了工業(yè)標(biāo)準(zhǔn),因?yàn)樗S后就被研究者送去在Skywater 130nm shuttle上制造了。
這標(biāo)志著第一個(gè)由大語(yǔ)言模型設(shè)計(jì)的IC被實(shí)際制造出來(lái),達(dá)到了一個(gè)里程碑。
硬件描述語(yǔ)言(HDL),一直是芯片設(shè)計(jì)行業(yè)一直面臨的一個(gè)巨大挑戰(zhàn)。
因?yàn)镠DL代碼需要非常專業(yè)的知識(shí),對(duì)很多工程師來(lái)說(shuō),想要掌握它們非常困難。
如果大語(yǔ)言模型可以替代HDL的工作,工程師就可以把精力集中在攻關(guān)更有用的事情上。
Pearce博士面對(duì)自己設(shè)計(jì)出的第一塊芯片,頗為感慨地表示:「我根本就不是芯片設(shè)計(jì)專家,卻設(shè)計(jì)出了一塊芯片,這正是令人印象深刻的地方?!?/span>
通常情況下,開(kāi)發(fā)任何類型的硬件(包括芯片),第一步都是用日常語(yǔ)言描述硬件功能。
隨后,經(jīng)過(guò)專門培訓(xùn)的工程師會(huì)把這個(gè)描述翻譯成硬件描述語(yǔ)言 (HDL),由此創(chuàng)建允許硬件執(zhí)行任務(wù)的實(shí)際電路元件。
Verilog就是一個(gè)經(jīng)典的例子。在這項(xiàng)研究中,大語(yǔ)言模型能夠通過(guò)來(lái)回對(duì)話生成可行的Verilog。隨后就是將基準(zhǔn)測(cè)試和處理器發(fā)送到Skywater 130 nm穿梭機(jī)上,進(jìn)行流片(tapeout)。
紐約大學(xué)坦登電氣與計(jì)算機(jī)工程系以及網(wǎng)絡(luò)安全中心的研究助理教授Dr. Hammond Pearce介紹說(shuō),之所以啟動(dòng)這個(gè)Chip Chat項(xiàng)目,是希望探索大語(yǔ)言模型在硬件設(shè)計(jì)領(lǐng)域的能力。
在他們看來(lái),這些大語(yǔ)言模型不僅僅是「玩具」,而是有潛力做更多事情。為了驗(yàn)證這個(gè)概念,Chip Chat項(xiàng)目誕生了。
我們都知道,OpenAI的ChatGPT和谷歌的Bard都可以生成不同編程語(yǔ)言的軟件代碼,但它們?cè)谟布O(shè)計(jì)的應(yīng)用中尚未得到廣泛的研究。
而NYU的這項(xiàng)研究表明,AI不僅可以生成軟件代碼,還能使硬件制造收益。
大語(yǔ)言模型的優(yōu)點(diǎn)在于,我們可以采用對(duì)話的方式與其交互,這樣,我們就能通過(guò)有來(lái)有回的方式,來(lái)完善硬件的設(shè)計(jì)。
研究團(tuán)隊(duì)使用大語(yǔ)言模型處理了8個(gè)硬件設(shè)計(jì)示例,尤其是生成用于功能和驗(yàn)證目的的Vrilog代碼。
此前,研究人員就曾測(cè)試了大語(yǔ)言模型將英語(yǔ)轉(zhuǎn)換為Vrilog的效果,但他們發(fā)現(xiàn),加入與人類工程師的交互過(guò)程后,大語(yǔ)言模型才產(chǎn)生了最好的Vrilog。
這項(xiàng)研究不僅僅停留在實(shí)驗(yàn)層面。研究人員發(fā)現(xiàn),如果在現(xiàn)實(shí)環(huán)境中將這個(gè)方法投入實(shí)踐,大語(yǔ)言模型可以減少HDL轉(zhuǎn)換過(guò)程中的人為錯(cuò)誤,這就可以大大提高生產(chǎn)力,縮短芯片的設(shè)計(jì)時(shí)間和上市時(shí)間,還允許芯片設(shè)計(jì)者進(jìn)行更具創(chuàng)意的設(shè)計(jì)。
另外,這個(gè)過(guò)程還極大地降低了芯片設(shè)計(jì)師對(duì)HDL流利程度的需求。
因?yàn)閷慔DL是一種相對(duì)罕見(jiàn)的技能,對(duì)不少芯片設(shè)計(jì)求職者都是一大難關(guān)。
所以,如果真的將大語(yǔ)言模型用于芯片設(shè)計(jì),在現(xiàn)階段是否可行呢?
研究人員表示,相關(guān)的安全因素以及可能導(dǎo)致的問(wèn)題,還需要通過(guò)進(jìn)一步測(cè)試來(lái)識(shí)別和解決。
在疫情期間的芯片短缺,已經(jīng)阻礙了汽車以及其他依賴芯片設(shè)備的供應(yīng),如果大語(yǔ)言模型真的能夠在實(shí)踐中設(shè)計(jì)芯片,無(wú)疑會(huì)大大緩解這種短缺。
四大LLM芯片設(shè)計(jì)大PK
研究人員首先設(shè)置了設(shè)計(jì)流程圖和評(píng)估標(biāo)準(zhǔn),來(lái)給大語(yǔ)言模型在芯片設(shè)計(jì)方面的表現(xiàn)打分。對(duì)話框架形成了一個(gè)反饋循環(huán)。
通過(guò)這個(gè)「半自動(dòng)化」流程,研究人員想對(duì)比一下4個(gè)大語(yǔ)言模型(GPT-4,ChatGPT,Bard,HuggingChat),執(zhí)行芯片設(shè)計(jì)的能力。
研究人員首先給大語(yǔ)言模型喂了如下圖所示的提示詞,讓他們生成兩種不同的文檔。
然后輸出的內(nèi)容研究人員會(huì)讓有經(jīng)驗(yàn)的工程師來(lái)評(píng)估是否能夠使用。
如果輸出內(nèi)容達(dá)不到標(biāo)準(zhǔn),研究人員會(huì)讓大語(yǔ)言模型通過(guò)相同的提示詞再輸出5次。
如果還不符合要求,那么就認(rèn)為這個(gè)大語(yǔ)言模型無(wú)法完成這個(gè)工作流程。
當(dāng)完成了的設(shè)計(jì)和Benchtest內(nèi)容后,用Icarus Verilog(iverilog)對(duì)內(nèi)容進(jìn)行編譯,如果編譯成功了的話,就進(jìn)一步進(jìn)行模擬。
如果這個(gè)流程跑下來(lái)沒(méi)有報(bào)錯(cuò),那么這個(gè)設(shè)計(jì)就通過(guò)了。
但是如果這個(gè)流程中任意一個(gè)過(guò)程報(bào)錯(cuò)了,就把報(bào)錯(cuò)的地方反饋到模型中,讓它自己提供修復(fù),這個(gè)過(guò)程稱為Tool Feedback(TF)。
如果之后相同的錯(cuò)誤重復(fù)出現(xiàn)了三次,則用戶會(huì)給出簡(jiǎn)單的人工反饋(Simple Human Feedback,SHF)。
如果依然存在錯(cuò)誤,就繼續(xù)給予模型進(jìn)一步的反饋(Moderate Human Feedback,MHF)和(Advenced Human Feedback,AHF)。
如果還存在錯(cuò)誤,就認(rèn)為模型完成不了這個(gè)流程。
GPT-4、ChatGPT勝出
研究人員根據(jù)上面的流程,對(duì)4個(gè)大語(yǔ)言模型,GPT-4/ChatGPT/Bard/Hugging Chat生成用于硬件設(shè)計(jì)的Verilog的水平進(jìn)行了測(cè)試。
在用完全相同的提示詞進(jìn)行提示之后,得到了以下的結(jié)果:
GPT-4和ChatGPT都能夠滿足規(guī)范并最終通過(guò)了設(shè)計(jì)的整個(gè)流程,Bard和HuggingChat都未能滿足標(biāo)準(zhǔn)從而開(kāi)啟下邊進(jìn)一步的測(cè)試流程。
因?yàn)锽ard和HuggingChat的表現(xiàn)不好,之后的流程研究人員就只針對(duì)GPT-4和ChatGPT進(jìn)行。
在進(jìn)行完了整個(gè)測(cè)試流程后,GPT-4和ChatGPT的對(duì)比結(jié)果如下圖
GPT-4表現(xiàn)很好,基本上通過(guò)大多數(shù)的測(cè)試。
大多數(shù)情況下都只需要進(jìn)行到工具反饋(TF)階段就能結(jié)束測(cè)試,只是在Testbench中需要人工反饋。
ChatGPT的表現(xiàn)明顯要比GPT-4差,大部分的嘗試最終都沒(méi)有通過(guò)測(cè)試,而且大部分通過(guò)測(cè)試的結(jié)果也不符合整體的標(biāo)準(zhǔn)。
GPT4輔助設(shè)計(jì)芯片在實(shí)際芯片設(shè)計(jì)流程中的探索
在完成了這個(gè)標(biāo)準(zhǔn)化的測(cè)試流程,篩選出了唯一合格的大模型GPT-4之后。
研究團(tuán)隊(duì)決定將它用來(lái)實(shí)際參與芯片流程,解決現(xiàn)實(shí)世界中芯片設(shè)計(jì)和制造流程中出現(xiàn)的問(wèn)題。
具體來(lái)說(shuō),研究團(tuán)隊(duì)讓一名經(jīng)驗(yàn)豐富的硬件設(shè)計(jì)工程師使用GPT-4來(lái)設(shè)計(jì)一些更復(fù)雜的芯片設(shè)計(jì),并對(duì)設(shè)計(jì)結(jié)果進(jìn)行定性的檢查。
研究團(tuán)隊(duì)使用GPT-4編寫了設(shè)計(jì)芯片的所有Verilog(不包括頂層的Tiny Tapeout wraper)。
通過(guò)下圖所示的提示詞,研究人員讓硬件設(shè)計(jì)工程師和GPT-4共同開(kāi)始設(shè)計(jì)一個(gè)8位的基于累加器的構(gòu)架,擁有32字節(jié)內(nèi)存的馮諾依曼類型的芯片。
在設(shè)計(jì)的過(guò)程中,人類工程師負(fù)責(zé)引導(dǎo)GPT-4,驗(yàn)證它的輸出。
GPT-4單獨(dú)負(fù)責(zé)處理器的Verilog代碼的編寫,同時(shí)還制定了處理器的大部分規(guī)格。
具體來(lái)說(shuō),研究團(tuán)隊(duì)將較大的設(shè)計(jì)項(xiàng)目細(xì)分成子任務(wù),每個(gè)子任務(wù)在界面中都有自己 的「對(duì)話線程」。
由于ChatGPT-4不會(huì)在線程之間共享信息,工程師要將從上一個(gè)線程復(fù)制相關(guān)信息到新的第一個(gè)消息中, 從而形成一個(gè)慢慢定義處理器的「基礎(chǔ)規(guī)范」。
基本規(guī)范最終包 括ISA、寄存器列表、內(nèi)存庫(kù)、ALU和控制單元的定義,以及處理器在每 個(gè)周期中應(yīng)該做什么的高級(jí)概述。
這個(gè)規(guī)范中的大多數(shù)信息都是由ChatGPT-4生成的,工程師只做了一些復(fù)制/粘貼的工作,并稍加編輯。
ChatGPT-4有時(shí)會(huì)輸出不是很理想的響應(yīng)內(nèi)容。
出現(xiàn)這種情況,工程師可能會(huì)做出兩個(gè)選擇,要么繼續(xù)對(duì)話并推動(dòng)它修復(fù)響應(yīng),或使用接口強(qiáng)制ChatGPT-4「重啟」響應(yīng),即通過(guò)假裝之前的答案從未發(fā)生來(lái)重新生成結(jié)果。
在這兩者之間進(jìn)行選擇需要專業(yè)的判斷:繼續(xù)對(duì)話允許用戶指定前一個(gè)響應(yīng)的哪些部分是好的或壞的,而重新生成將保持整個(gè)對(duì)話更短和更簡(jiǎn)潔(考慮到有限 的上下文窗口大小,這是有價(jià)值的)。
盡管如此,從下圖中 的‘#Restart ‘列可以看出,隨著工程師對(duì)使用ChatGPT-4越來(lái)越 有經(jīng)驗(yàn),重啟次數(shù)趨于減少。
研究者在論文中展示了一個(gè)最為困難,重啟了10次的提示和回復(fù)實(shí)例,是一段關(guān)于控制信號(hào)規(guī)劃的內(nèi)容(Control Signal Planning)。
設(shè)計(jì)結(jié)果
設(shè)計(jì)流程的全部對(duì)話內(nèi)容可以在下面的鏈接中查閱:
https://zenodo.org/record/7953724
GPT-4參與生成的指令系統(tǒng)結(jié)構(gòu)(Instruction Set Architecture,ISA)如下圖所示。
研究人員繪制了GPT-4設(shè)計(jì)的芯片的通路數(shù)據(jù)圖如下圖所示。
最后,研究人員評(píng)價(jià)道:「大語(yǔ)言模型能夠成倍放大設(shè)計(jì)能力,讓設(shè)計(jì)人員能夠快速地設(shè)計(jì)空間探索(space exploration)和迭代」。
「總體上來(lái)說(shuō),GPT-4可以生成能使用的代碼,節(jié)省大量的設(shè)計(jì)時(shí)間?!?/span>
參考資料:
https://engineering.nyu.edu/news/chip-chat-conversations-ai-models-can-help-create-microprocessing-chips-nyu-tandon-researchers