久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    智能EDA浪潮即將來襲,ChatGPT如何助力設(shè)計(jì)芯片

     天承辦公室 2023-02-26 發(fā)布于江蘇

    機(jī)器之心專欄

    作者:常開顏(中科院計(jì)算所處理器全國重點(diǎn)實(shí)驗(yàn)室博士生)

    除了人機(jī)對(duì)話,ChatGPT 的代碼生成能力或許能讓它在 EDA 領(lǐng)域大顯身手。


    提到 ChatGPT,你會(huì)想到什么?提到芯片,你又會(huì)想到什么?可以把你腦海中浮現(xiàn)的第一個(gè)詞記下來,看完這篇文章,肯定會(huì)改變你的看法。如果你是一個(gè)科技愛好者,那么你的第一印象是 ChatGPT 是一個(gè)高智能的對(duì)話模型,可以和人對(duì)話,而芯片產(chǎn)業(yè)是個(gè)復(fù)雜的整體,不止有上層的體系結(jié)構(gòu)設(shè)計(jì)者,還有底層流片的工程師。你或許不會(huì)把兩者結(jié)合起來,因?yàn)閮烧呖雌饋盹L(fēng)馬牛不相及。

    但實(shí)際上,ChatGPT 模型獨(dú)有的代碼生成能力極大地加速了設(shè)計(jì)芯片的速度。由傳統(tǒng) EDA(電子設(shè)計(jì)自動(dòng)化)向智能 EDA 的轉(zhuǎn)型浪潮即將開啟,今天這篇文章,我們就來一窺 ChatGPT 驅(qū)動(dòng)下傳統(tǒng) EDA 是如何演變成智能 EDA 的,ChatGPT 是如何驅(qū)動(dòng)芯片設(shè)計(jì)產(chǎn)業(yè)鏈的創(chuàng)新。

    首先我們來看 ChatGPT 在芯片產(chǎn)業(yè)前沿上的一個(gè)應(yīng)用:量子控制處理器是量子計(jì)算機(jī)的核心控制部分。用 ChatGPT 合成的一個(gè)量子控制處理器的代碼如下所示。

    module QuantumControlProcessor (    input clk,    input reset,    input [7:0] instruction,    input [7:0] control,    output reg [7:0] qubit_pulse,    output reg [7:0] timing_pulse);// 此處因?yàn)槠蚴÷詫?shí)現(xiàn)
    endmodule
    實(shí)際上這段代碼也許會(huì)有些小問題,比如 ChatGPT 并不能很好地實(shí)現(xiàn)時(shí)序的控制,會(huì)出現(xiàn)浪費(fèi)時(shí)鐘周期的現(xiàn)象,但是這段代碼可以正確編譯,并且是一個(gè)有效的設(shè)計(jì)方案。也許你會(huì)很驚奇,這是怎么做的呢?這樣做有什么前景呢?本文接下來的部分會(huì)給你答案。

    ChatGPT 可能對(duì)芯片設(shè)計(jì)流程帶來的改變

    ChatGPT 將為芯片行業(yè)提供足夠的可復(fù)用代碼

    芯片行業(yè)需要的巨大設(shè)計(jì)代碼量亟需一個(gè)高效的開發(fā)工具。芯片設(shè)計(jì)是一個(gè)需要大量代碼堆砌的行業(yè),比如阿里的玄鐵 OpenC910 的核心開源代碼就有 351KLOC 左右。如圖 1 所示,工業(yè)界一般從最頂端的 verilog 開始設(shè)計(jì),使用 EDA 的前端和后端工具生成版圖。verilog 的編寫需要設(shè)計(jì)時(shí)序,通常較為復(fù)雜,因此 ChatGPT 生成這一塊的代碼可以降低很大的人力成本。芯片的時(shí)序要求較為嚴(yán)格,因此也有大量的功能相對(duì)固定的時(shí)序相關(guān)模塊,比如 AXI 接口、FIFO 等。這些模塊都可以使用 ChatGPT 來降低人力成本。雖然目前已經(jīng)有 Chisel、Spatial、MyHDL 等新的硬件設(shè)計(jì)語言,但是這些語言很大程度上受制于宿主語言的限制,也無法用接近自然語言的方式描述電路。

    Image圖 1:智能 EDA 和傳統(tǒng) EDA 流程圖

    ChatGPT 在代碼生成方面顯示出了優(yōu)秀的表達(dá)能力。只需要給它一個(gè)任務(wù)提示,就可以自動(dòng)生成對(duì)應(yīng)的代碼。相比軟件和算法的合成而言,由于硬件設(shè)計(jì)代碼并不像軟件業(yè)務(wù)代碼具有場(chǎng)景多樣性,并且其參數(shù)化和時(shí)序控制相對(duì)人類的認(rèn)知能力雖然復(fù)雜,但是有固定的模式可以遵循,因此 ChatGPT 做硬件設(shè)計(jì)代碼自動(dòng)生成的優(yōu)勢(shì)更為明顯。它對(duì)于已經(jīng)有的硬件具有很好的歸納能力,能夠準(zhǔn)確地提煉出設(shè)計(jì)模板中可參數(shù)化的配置點(diǎn)。

    筆者的指導(dǎo)教師中科院計(jì)算所副研究員王穎博士認(rèn)為,短期內(nèi)即便是一個(gè)完全行業(yè)化的 ChatGPT 版本也無法帶來理想中的全自動(dòng)化設(shè)計(jì)能力,但是配合云化 EDA 的趨勢(shì),有望快作為一個(gè)設(shè)計(jì)助手大幅提升設(shè)計(jì)驗(yàn)證效率并降低開發(fā)門檻,尤其對(duì)于教學(xué)工作將帶來重要改變,此外,ChatGPT 在各項(xiàng)流程中表現(xiàn)出來的自動(dòng)化水平,eda 領(lǐng)域并非沒有比他更好的 SOTA 點(diǎn)技術(shù),只是在完整性和交互自然上 ChatGPT 有天然的優(yōu)勢(shì)。最后,ChatGPT 驗(yàn)證了大模型在自動(dòng)化芯片設(shè)計(jì)領(lǐng)域的潛力,能夠驅(qū)動(dòng)開發(fā)者進(jìn)一步地在此之上設(shè)計(jì) Prompt 范式,從而存在進(jìn)一步提升設(shè)計(jì)的功能準(zhǔn)確度和生成芯片的性能的空間。

    ChatGPT 在芯片設(shè)計(jì)領(lǐng)域的智力水平遠(yuǎn)超之前的相似工作

    ChatGPT 真的有替代人工的準(zhǔn)確性嗎?

    Image

    ChatGPT 和之前最好的代碼自動(dòng)生成的方法比起來好了多少呢?

    可以把之前的代碼生成方法分為三類,一類是以編程語言社區(qū)為代表的基于規(guī)則 [11,12,13] 的方法,第二類是基于測(cè)試用例的生成方法 [5, 6, 7, 8, 9, 10],第三類是以自然語言處理社區(qū)為代表的基于文本和模型的生成方法 [1, 2, 3, 4]。

    Image

    Image表:比較 OpenAI 兩種最新模型用于代碼生成

    Image

    ChatGPT 和 CodeX 都是 OpenAI 公司基于 GPT-3 研發(fā)的模型,從上面的分析中可以看出,ChatGPT 的范圍更廣,并且 Copilot 的用途單一,僅僅為代碼補(bǔ)全。這就為基于 ChatGPT 開發(fā)智能代碼相關(guān)工具提供了更廣闊的空間。

    ChatGPT 極大地驅(qū)動(dòng)了智能 EDA 技術(shù)的發(fā)展

    ChatGPT 出現(xiàn)之前,就有許多自動(dòng)化代碼生成方式,他們?yōu)槭裁床荒軌蝌?qū)動(dòng)智能 EDA 技術(shù)呢?

    Image

    ChatGPT 在芯片設(shè)計(jì)代碼上有一系列潛在的應(yīng)用

    ChatGPT 能夠遠(yuǎn)遠(yuǎn)地超越傳統(tǒng)方法,并且它可以做到零樣本學(xué)習(xí)(Zero-shot learning),相比傳統(tǒng)的程序合成并不需要專門的訓(xùn)練(因?yàn)?OpenAI 已經(jīng)完成了),并且配合細(xì)致的功能描述,他龐大的知識(shí)儲(chǔ)備也可以使能高正確率的代碼生成。如表 1 所示,ChatGPT 將會(huì)逐漸演變?yōu)樾酒岸说淖詣?dòng)化流程中極為關(guān)鍵的一步,在未來很有可能演變成為繼 HLS 開創(chuàng) C 語言設(shè)計(jì)芯片后的又一種新的范式。在后文,我們將會(huì)介紹如何使用 ChatGPT 做 Verilog 的代碼生成。

    Image表 1:ChatGPT 在芯片自動(dòng)生成各個(gè)領(lǐng)域的開創(chuàng)性創(chuàng)新(以 Hardware Design Language 為例,軟件語言可以參照分析)

    如何使用 ChatGPT 生成芯片代碼

    與芯片設(shè)計(jì)相關(guān)的程序合成方法包含兩類,高層次程序生成和時(shí)序相關(guān)硬件描述代碼生成。高層次程序生成可以生成 HLS 等不具有顯式時(shí)序控制的 C/C++ 代碼等,而低層次程序生成可以生成具有顯式時(shí)序控制的 Verilog 代碼。由于 HLS 在實(shí)際工業(yè)界設(shè)計(jì)芯片時(shí)較少采用,因此我們采用 Verilog 作為主要的目標(biāo)語言。對(duì)于 ChatGPT 而言,我們以自然語言描述作為輸入,就可以獲得符合要求的芯片描述代碼。具體來說,應(yīng)該如何做呢?我們以 Verilog 為例介紹如何用 ChatGPT 生成代碼。

    基于 ChatGPT 的通用生成步驟

    act as a professional verilog programmer

    因?yàn)?ChatGPT 是個(gè)通用的代碼生成工具,而 Verilog 是個(gè)專用領(lǐng)域,我們需要先 “催眠” ChatGPT,使得它能夠生成 Verilog 程序。向 ChatGPT 中輸入下面的 prompt,之后的生成都會(huì)是以 Verilog 代碼為基礎(chǔ)的。

    我們接下來的部分都是以片上網(wǎng)絡(luò) NoC 模塊為例闡述代碼生成方法的通用步驟。

    Image

    由于版面有限,這里就不列舉 ChatGPT 生成的完整代碼了。但是我們可以看出,On-Chip Network 這個(gè)關(guān)鍵字有很多種不同的理解方式,ChatGPT 選取了基于總線的理解方式。如果我們想要其他的語義理解方式,我們就應(yīng)該探索出不同的輸入即提問方式。

    組合生成模塊步驟

    前面只是生成了有限的模塊,但是能否把模塊組合起來呢?我們的目標(biāo)是用兩個(gè)原本不存在的 strange module 組合成一個(gè) no strange module。下面生成一個(gè)頂層模塊 strange,底層有兩個(gè)加法器,他們的輸出連接著一個(gè)減法器,我們把這個(gè)東西叫做 strange module。

    Image

    Image

    ChatGPT 為什么能在芯片生成領(lǐng)域取得成功

    ChatGPT 能夠在芯片合成上取得成功應(yīng)該歸功于它對(duì)代碼的理解和對(duì)自然語言語義的準(zhǔn)確辨識(shí)。

    Image

    ChatGPT 生成芯片設(shè)計(jì)就萬事具備了嗎

    雖然 ChatGPT 模型可以完成芯片設(shè)計(jì)前端的部分工作,但是還存在如下挑戰(zhàn),需要人工和 EDA 工具鏈的聯(lián)合調(diào)優(yōu)才能生成一個(gè)符合規(guī)范的芯片。

    Image

    硅工行業(yè)如何應(yīng)對(duì)智能 EDA 危機(jī)

    ChatGPT 作為一種智能 EDA 流程,既是一個(gè)危機(jī),也是一種機(jī)遇。它能夠替代一部分 EDA 前端的工作,但是由于 EDA 后端很大程度上依賴于確定性和對(duì)細(xì)節(jié)的分析,才能得到更好的優(yōu)化結(jié)構(gòu),因此對(duì)于支持 EDA 后端優(yōu)化的工作存在困難。但是它也創(chuàng)造了新的崗位,比如可能出現(xiàn)的模型提示工程師,錯(cuò)誤修正工程師。

    Image圖 5:按照工程師崗位區(qū)分的可替代

    為了更清晰地分類不同崗位上硅工行業(yè)的可替代性趨勢(shì),我們按照 EDA 的流程自頂向下劃分了四個(gè)階段,即體系結(jié)構(gòu)設(shè)計(jì)階段 - 芯片代碼實(shí)現(xiàn)階段 - 芯片 PPA 調(diào)優(yōu)階段 - 芯片驗(yàn)證階段如圖 5 所示。注意這里的芯片調(diào)優(yōu)指的是在前端通過改動(dòng)部分硬件結(jié)構(gòu)和算法實(shí)現(xiàn)的調(diào)優(yōu),因此列舉在芯片驗(yàn)證前面。藍(lán)色方框代表很難替代的崗位,黃色方框代表容易被替代崗位,灰色方框代表新增加的崗位。下面分析按照具體流程區(qū)分的替代性,揭示為什么有的崗位的工程師容易被 ChatGPT 替代,而有的崗位的工程師很難被 ChatGPT 替代。

    中科院計(jì)算所智能計(jì)算中心主任韓銀和研究員認(rèn)為 ChatGPT 不光能輔助加速芯片設(shè)計(jì)流程,也對(duì)芯片本身帶來一系列挑戰(zhàn),也許是當(dāng)下熱點(diǎn)如存算一體、芯粒集成以及大芯片架構(gòu)等技術(shù)帶來迫切等待的殺手級(jí)應(yīng)用。

    Image

    較難替代的流程

    Image

    新增加的流程

      <><><>ChatGPT 生成代碼的質(zhì)量和輸入的 prompt 緊密相關(guān),因此需要有一部分熟悉 ChatGPT “脾氣” 的人專門設(shè)計(jì) prompt 以便生成符合規(guī)范的代碼。模型提示工程師ction>< font=""><>i><>。由于 ChatGPT 生成的程序可能存在細(xì)節(jié)上的問題,有的地方不符合時(shí)序或是模塊間的連接標(biāo)準(zhǔn),因此就需要錯(cuò)誤修正工程師對(duì)其修正。錯(cuò)誤修正工程師ction>< font=""><>i>

    未來的發(fā)展趨勢(shì)

    在智能 EDA 的浪潮下,有些崗位不可避免地會(huì)被替代,那么未來會(huì)以什么樣的次序被替代呢?從前后端分布上看,后端由于有版圖設(shè)計(jì)等精細(xì)化的任務(wù),因此不可替代性較強(qiáng)。對(duì)于前端來說,最先替代的是芯片實(shí)現(xiàn)中的模塊工程師,因?yàn)閺纳厦嫔尚酒膶?shí)踐中可以發(fā)現(xiàn),基本模塊代碼生成這一部分最為直觀。在它之后會(huì)出現(xiàn)的替代崗位有組件設(shè)計(jì)工程師,這一部分會(huì)在工程師們熟悉用 ChatGPT 組裝模塊后替代。對(duì)于其他的工程師而言,ChatGPT 更多地只是具有輔助價(jià)值,而不能完全地替代。

    因而我們可以看到,越是上層的,涉及到架構(gòu)抽象的部分越不容易替代;越是底層的,涉及正確性的部分也不容易被替代。中間部分的替代順序?qū)?huì)是自底向上,從基本模塊向上層組件逐次地替代。

    政策上要搶占智能 EDA 先機(jī)

    自力更生與充分吸取世界前沿并非不矛盾。傳統(tǒng) EDA 和大模型在 OpenAI 首發(fā)而其他公司尚未跟上固然有著復(fù)雜的原因。但是政策上仍然需要分出一只手,讓部分過熱資本從解決傳統(tǒng) EDA 和大模型問題的項(xiàng)目中抽出,鼓勵(lì)企業(yè)抓住智能 EDA 發(fā)展初期行業(yè)壁壘小的時(shí)期,勇敢步入業(yè)內(nèi),構(gòu)造出新的技術(shù)壁壘。只有這樣,才能解決不斷被新技術(shù)取代的問題。否則,過熱資本涌入已經(jīng)成熟的產(chǎn)業(yè)會(huì)造成資本回報(bào)率下降,同時(shí)創(chuàng)新技術(shù)無法獲得更高的資金支持,導(dǎo)致創(chuàng)新型企業(yè)不敢試錯(cuò),無形中增加了創(chuàng)新型企業(yè)的試錯(cuò)成本,使得創(chuàng)新型企業(yè)更傾向于市場(chǎng)證明成熟的技術(shù)。因此,政策上應(yīng)該適當(dāng)鼓勵(lì)企業(yè)基于 ChatGPT 這類大模型做衍生技術(shù),尤其是在大模型已經(jīng)展示出強(qiáng)大的代碼生成能力之上,基于智能 EDA 技術(shù)的企業(yè)更應(yīng)該搶占先機(jī)。

    資本市場(chǎng)的投資目光應(yīng)該由大模型本身向其衍生技術(shù)轉(zhuǎn)向

    在信息技術(shù)領(lǐng)域,先進(jìn)技術(shù)不斷從通用走向?qū)S?,逐漸走向基于之前技術(shù)的衍生技術(shù),以處理器設(shè)計(jì)領(lǐng)域最為明顯。在上個(gè)世紀(jì)時(shí),CPU 火爆一時(shí),造出了高性能的計(jì)算機(jī),本世紀(jì)初,GPU 逐步流行,驅(qū)動(dòng)了游戲的開發(fā),最近十年,NPU 開始走上舞臺(tái),使能高能效的神經(jīng)網(wǎng)絡(luò)訓(xùn)練和推理。由此推知,當(dāng)大模型成熟以后,其衍生技術(shù)也會(huì)在之后幾年走上舞臺(tái)。

    智能 EDA 技術(shù)是大模型技術(shù)的衍生技術(shù)。雖然衍生技術(shù)投資在剛開始看并不占優(yōu)勢(shì),但是從經(jīng)濟(jì)上看,直到那種技術(shù)首發(fā)并形成技術(shù)壁壘時(shí)其投資回報(bào)率會(huì)較高。隨著 ChatGPT 這一類大模型技術(shù)的日漸成熟,對(duì)企業(yè)的投資會(huì)出現(xiàn)邊際效應(yīng)遞減的現(xiàn)象。個(gè)人投資者和機(jī)構(gòu)投資者應(yīng)該認(rèn)識(shí)到信息技術(shù)的投資規(guī)律,漸漸把目光轉(zhuǎn)向大模型的衍生領(lǐng)域,尤其是關(guān)注基于大模型的算法在芯片領(lǐng)域的應(yīng)用問題。產(chǎn)業(yè)從業(yè)人員應(yīng)該充分利用我國為人工智能、集成電路領(lǐng)域設(shè)立的大基金優(yōu)勢(shì),積極申報(bào)人工智能和 EDA 交叉的基金。因此,無論是從產(chǎn)業(yè)政策上看,還是從投資規(guī)律上看,智能 EDA 領(lǐng)域十分有必要應(yīng)該成為我國投資者的投資對(duì)象。

    相關(guān)文獻(xiàn)

    基于文本模型的代碼生成

    [1] Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, and Ming Zhou. 2020. [CodeBERT: A Pre-Trained Model for Programming and Natural Languages]. In Findings of the Association for Computational Linguistics: EMNLP 2020, pages 1536–1547, Online. Association for Computational Linguistics.
    [2] [GRAPHCODEBERT: PRE-TRAINING CODE REPRESENTATIONS WITH DATA FLOW]
    [3] [CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation]
    [4] [UniXcoder: Unified Cross-Modal Pre-training for Code Representation]

    基于測(cè)試用例的代碼生成

    [5] Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, Abhishek Udupa, [Syntax-guided synthesis], 2013
    [6] Peter-Michael Osera, Steve Zdancewic, [Type-and-example-directed Program Synthesis], 2015
    [7] John K. Feser, Swarat Chaudhuri, Isil Dillig, [Synthesizing Data Structure Transformations from Input-output Examples], 2015
    [8] Armando Solar-Lezama, [Program Synthesis by Sketching], 2008
    [9] [Kensen Shi], [Jacob Steinhardt], [Percy Liang], FrAngel: Component-Based Synthesis with Control Structures, POPL, 2019
    [10] Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, Thomas W. Reps, Component-based synthesis for complex APIs, [ACM SIGPLAN Notices], 2017

    基于邏輯規(guī)則的代碼生成

    [11] Z. Manna and R. Waldinger, 'Synthesis: Dreams → Programs,' in IEEE Transactions on Software Engineering, vol. SE-5, no. 4, pp. 294-328, July 1979, doi: 10.1109/TSE.1979.234198.
    [12] Bernd Finkbeiner and Sven Schewe, Bounded synthesis, in Int J Softw Tools Technol Transfer, (2013), 15:519–539, DOI: 10.1007/s10009-012-0228-z
    [13] Peter Faymonville, Bernd Finkbeiner, and Leander Tentrup, BoSy: An Experimentation Framework for Bounded Synthesis,CAV 2017

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 狠狠色狠狠色综合久久蜜芽| 在线中文字幕国产一区| 欧美性群另类交| 亚洲欧美日韩成人综合一区| 99久久免费只有精品国产| 国产精品国产精品国产专区不卡 | 欧美性色欧美A在线图片| 国99久9在线 | 免费| 国产精品亚洲А∨天堂免| 精品无码三级在线观看视频| 久久精品国产福利一区二区| 久久99精品九九九久久婷婷| 国产午夜福利免费入口| 国产精品亚洲А∨天堂免| 在线a级毛片无码免费真人| 狠狠婷婷色五月中文字幕| 国产成人av电影在线观看第一页| 亚洲午夜成人精品电影在线观看 | 狠狠色噜噜狠狠狠7777奇米| 久女女热精品视频在线观看| 日日噜噜夜夜爽爽| 国产日产精品系列| √天堂中文www官网在线| 国产在线观看免费人成视频| 深夜精品免费在线观看| 又大又粗欧美成人网站| 亚洲精品成人福利网站| 人妻少妇精品视中文字幕国语| 成人片黄网站色大片免费观看| 深夜释放自己在线观看| 亚洲AV永久无码天堂网一线| 国产熟睡乱子伦视频在线播放| 亚洲AV无码一区二区三区性色| 秋霞人妻无码中文字幕| 国产精品自在线拍国产手机版| 一本一本久久AA综合精品| 中文字字幕在线乱码视频| 福利视频在线一区二区| JIZZJIZZ亚洲日本少妇| 亚洲综合小说另类图片五月天| 亚洲人妻系列中文字幕|