全球新动态:ChatGPT 也能用来造芯,说说英语就可以了?!
ChatGPT 真的那么牛吗?
来自纽约大学 Tandon 工程学院的研究人员发布了一篇《Chip-Chat: Challenges and Opportunities in Conversational Hardware Design》论文,用实验回答道:是的,ChatGPT 确实比较厉害!
只用简单的自然语言之英语和 ChatGPT 聊聊天,便制作出了一款微处理芯片。更值得注意的是,在 ChatGPT 的助力下,这款芯片组件不仅是设计了出来的,也是经过了基础测试,可以制造出来。
(相关资料图)
纽约大学发文评价道,「 这是一项史无前例的成就,可以加快芯片开发速度,并允许没有专业技术技能的个人设计芯片。」
所以说,全民”造芯“的时代真的要来临了吗? 在此 ,我们不妨先看看研究人员到底是怎么做的。
AI 大模型的应用,硬件领域落后于软件
在论文中,研究人员指出,现代硬件设计始于自然语言提供的规范,如英文文档需求,然后再由硬件工程师使用硬件描述语言(HDL)如 Verilog,将需求用代码构建出来,完成芯片内部的设计,最终再合成为电路元件。
那么,在 AIGC 时代来临之际,如 OpenAI 的 ChatGPT 和 Google 的 Bard 号称可以生成代码,也有不少开发者使用过它们创建了一个又一个网站,但是当前在其应用范围主要聚焦在软件领域的情况,这些 AIGC 工具能否将硬件工程师的”翻译“(文档需求转换成代码)工作给取而代之。
基于此,研究人员使用了 8 种具有代表性的基准,研究了在生成硬件描述语言本身的编写时,最先进的 LLM 状态的能力和局限性。
测试原理与规则
实验环节,研究人员将 ChatGPT 作为一种模式识别器(充当人类的角色),可以在各种类型的语言(口头语、书面语)中转换自如,同时,ChatGPT 可以让硬件工程师们跳过 HDL 阶段。
整体验证流程如下图所示:
详细来看,首先,硬件工程师对大模型提供初始提示,让它创建一个 Verilog 模型,然后提供输入、输出的具体信息。最终硬件工程师对输出设计进行可视化评估,以确定其是否符合基本设计规范。
如果一个设计不符合规范,它会在相同的提示下再生成五次。倘若它仍然不符合规范,那么它就会失败。
一旦设计和测试用例已经写好了,它们就会被用 Icarus Verilog (iverilog,Verilog 硬件描述语言的实现工具之一) 编译。如果编译成功,则进行模拟。如果没有报告错误,则设计通过,不需要反馈 (NFN)。
如果这些操作中的任何一个报告了错误,它们就会被反馈到模型中,并被要求“请提供修正”,这被称为工具反馈 (TF)。如果相同的错误或错误类型出现三次,那么简单的人类反馈 (SHF) 是由用户给出的,通常通过说明 Verilog 中什么类型的问题会导致这个错误 (例如:声明中出现语法错误)。
如果错误持续存在,则会给出适度的人类反馈 (Moderate Human Feedback,MHF) ,并提供稍微更直接的信息给工具,以识别特定的错误。
如果错误持续存在,则会给出高级人类反馈 (Advanced HumanFeedback,AHF),它依赖于精确地指出错误所在和修复它的方法。
一旦设计编译和模拟,没有失败的测试用例,它就被认为是成功的。
但是如果高级反馈不能修复错误,或者用户需要编写任何 Verilog 代码来解决错误,则测试被认为是失败的。如果会话超过 25 条消息,符合每 3 小时 ChatGPT-4 消息的 OpenAI 速率限制,则该测试也被视为失败。
Bard 和 HuggingChat 在 首轮测试中 折戟
具体实验环节,研究人员针对 8 位移位寄存器进行了基准测试。
他们要求大模型尝试为一个「测试名称」创建一个 Verilog 模型,然后提供规范,定义输入和输出端口以及任何需要的进一步细节,并进一步询问大模型“我将如何写一个设计,以满足这些规格?”
与此同时,研究人员还直接让大模型生成测试台的设计:
你能为这个设计编写一个 Verilog 测试台吗?测试台应该具备自检功能,并且能够与 iverilog 一起用于仿真和验证。如果测试用例失败,测试台应该能够提供足够的信息,以便找到并解决错误。
进而,研究人员基于 ChatGPT-4、、Bard、HuggingChat 四款大模型得到了输出内容:
最终结果显示, 两个 ChatGPT 模型都能够满足规格,并开始进行设计流程。不过,Bard 和 HuggingChat 未能满足规格的初始标准。
虽然按照上文提到的测试流程,研究人员基于 Bard 和 HuggingChat 的初始提示,又让大模型重新生成了五次回答,但是多轮之后,这两个模型还是都失败了。其中,Bard 始终无法满足给定的设计规范,HuggingChat 的 Verilog 输出是在模块定义之后就开始不正确了。
鉴于 Bard 和 HuggingChat 在初始挑战基准提示符上的性能较差,研究人员决定后续只针对 ChatGPT-4 和 进行完整的测试。
ChatGPT-4 和 的角逐
下图显示了 ChatGPT-4 和 的基准测试结果,明显可以看出, 的性能要比 ChatGPT-4 差一些,大多数对话导致基准测试失败,而大多数通过自己测试台的对话都是不兼容的。
反观 ChatGPT-4 的表现更胜一筹,大多数的基准测试都通过了,其中大部分只需要工具反馈。不过,在测试台设计中,仍然需要人类的反馈。
ChatGPT-4 与硬件工程师配对,共同开发芯片
为了探索 LLM 的潜力,研究人员还让硬件设计工程师和 ChatGPT-4 配对,共同设计一种基于 8 位的累加器的微处理器。
对 ChatGPT-4 的初始提示如下所示:
让我们一起做一个全新的微处理器设计......我认为我们需要限制自己的累加器8位架构,没有多字节指令。既然如此,你觉得我们该怎么开始?
考虑到空间限制,研究人员的目标是使用 32 字节内存(数据和指令相结合)的冯·诺依曼型设计。
最终,ChatGPT-4 与硬件工程师共同设计了一种新颖的基于 8 位累加器的微处理器架构。该处理器采用 Skywater 130nm 工艺,这意味着这些“Chip-Chat”实现了我们认为是世界上第一个完全由人工智能编写的用于流片的 HDL。
GPT-4 设计的基于累加器的数据路径(由人类绘图)
在论文中,研究人员总结道,ChatGPT-4 产生了相对高质量的代码,这可以从短暂的验证周转中看出。考虑到 ChatGPT-4 每 3 小时 25 条消息的速率限制,此设计的总时间预算为 ChatGPT-4 的 小时(包括重新启动)。每条消息的实际生成平均约为 30 秒:如果没有速率限制,整个设计本可以在 <100 分钟内完成,具体取决于人类工程师。尽管 ChatGPT-4 相对容易地生成了 Python 汇编程序,但它很难编写为我们的设计编写的程序,而且ChatGPT也没有编写任何重要的测试程序。
总体上,研究人员完成了在模拟和 FPGA 仿真中评估了一系列全面的人工编写的汇编程序中的所有 24 条指令。
ChatGPT 能够节省芯片开发周期
“这项研究产生了我们认为是第一个完全由 AI 生成的 HDL,用于制造物理芯片,”纽约大学 Tandon 的研究助理教授兼研究团队成员 Hammond Pearce 博士说。“一些人工智能模型,如 OpenAI 的 ChatGPT 和谷歌的 Bard,可以生成不同编程语言的软件代码,但它们在硬件设计中的应用尚未得到广泛研究。这项研究表明 AI 也可以使硬件制造受益,尤其是当它被用于对话时,你可以通过一种来回的方式来完善设计。”
然而, 在这个过程中,研究人员也需要进一步 测试和解决将 AI 用于芯片设计所涉及的安全考虑因素。
整体而言,虽然 ChatGPT 不是一款专门面向硬件领域的自动化软件工具,但是它可以成为一款 EDA 辅助工具,而且帮助 EDA 设计师们大大降低了知识门槛。
研究人员也表示,如果在现实环境中实施,在芯片制造中使用 LLM 模型可以减少 HDL 转换过程中的人为错误,有助于提高生产力,缩短设计时间和上市时间,并允许进行更具创意的设计。其实,仅是这一点,ChatGPT 便值得被硬件工程师们拿来在硬件领域参与更多的尝试与探索。
更详细的测试流程见论文:/pdf/
参考:
/news/conversation-with-chatgpt-was-enough-to-develop-part-of-a-cpu
/news/chip-chat-conversations-ai-models-can-help-create-microprocessing-chips-nyu-tandon-researchers
关键词:
免责声明:本网站内容主要来自原创、合作媒体供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。
综合排行榜
-
2023-06-21 17:54
-
2019-12-13 14:01
-
2019-12-13 13:09
-
2020-02-05 23:40
-
2020-02-05 23:51
综合热门推荐
-
2023-06-21 17:54
-
2019-12-13 14:01
-
2019-12-13 13:09
-
2020-02-05 23:40
-
2020-02-05 23:51