新闻资讯
当前位置:首页 > 新闻资讯

新闻资讯

世界首颗AI全自动设计CPU

时间:2023-07-17

中科院计算所等机构推出了世界首个完全由AI设计的CPU芯片,不仅比目前GPT-4所能设计的电路规模大了4000倍,而且性能也达到了与Intel 486相当的水平。

中科院计算所的处理器芯片全国重点实验室及其合作单位,用AI技术设计出了世界上首个无人工干预、全自动生成的CPU芯片——启蒙1号。

这颗完全由AI设计的32位RISC-V CPU,相比GPT-4目前所能设计的电路规模大4000倍,并可运行Linux操作系统,且性能堪比Intel 486。

而这项研究,更是有望颠覆传统的芯片设计流程!

论文地址:https://arxiv.org/pdf/2306.12456

世界首个AI全自动生成的CPU芯片

众所周知,CPU设计是一项非常挑战且耗费人力和资源的工作。

这通常需要由工程师团队编写代码(如Verilog、Chisel或C/C++等),然后在电子设计自动化(EDA)工具(如逻辑综合或高层次综合工具)的辅助下生成电路逻辑。

除此之外,工程师团队针对人工编写的代码,还需反复使用测试用例对其进行迭代的功能验证和性能/功耗优化。

然而,该过程极其复杂琐碎,通常需要上百人团队迭代数月或数年才能完成。以典型Intel CPU为例,超过500位工程师花了两年时间才完成整个设计过程[1]。

为了减少人力和资源投入,研究人员采用AI技术直接从测试用例的输入-输出(IO)自动生成CPU设计,无需工程师提供任何代码或自然语言描述。

该方法在5小时内生成了超过4,000,000个逻辑门的32位RISC-V CPU——启蒙1号(见图1),比目前GPT-4所能设计的电路规模大4000倍。

图1 启蒙1号芯片版图及实物图,其中CPU核部分完全由算法自动生成,芯片于2021年12月采用65nm工艺流片,运行频率300MHz

该CPU于2021年12月流片,回片后成功运行了Linux操作系统和SPEC CPU 2000程序,其性能与Intel 486 CPU相当(见图2)。

启蒙1号是世界上首个无人工干预、全自动生成的CPU芯片。该方法甚至自主地发现了包含控制器和运算器等在内的冯诺依曼架构,为后续发现人类未知的体系结构优化知识提供了参考。

图2 启蒙1号芯片可以成功运行Linux操作系统及性能对比(CPU-AI为启蒙1号)

全自动CPU设计:设计流程及挑战

与传统CPU设计流程中需要大量人工参与不同,研究人员考虑使用「输入-输出(IO)」作为输入,因为IO可以从大量现成的测试用例中直接获取或自动生成。

因此,可以将CPU自动设计问题形式化为「满足输入-输出规范的电路逻辑生成问题」。

这也使得传统的CPU设计流程发生了巨大变化:只需测试用例即可以直接生成满足功能需求的电路逻辑,摒弃了传统设计流程中非常耗时的、依赖人工的逻辑设计与验证环节(见图3)。

图3 (a) 传统的CPU设计流程包括耗时的逻辑设计与验证;(b) 所提出的全自动CPU设计流程直接从IO生成保证功能正确的电路逻辑

然而,从IO生成满足规范的电路逻辑面临两大挑战:

;在如此巨大空间中找到功能正确的CPU超出了当前自动化设计方法的能力;

(2)精度挑战:生成的目标电路逻辑必须要足够精确(例如功能验证准确率>99.99999999999%),否则任何微小错误都将造成巨大损失,这远远超过了传统AI算法和应用对精度的要求。

符号主义的重生:基于BSD的电路自动设计方法

针对前面所提到的挑战,不同于传统基于连接主义的深度学习方法,研究人员所提出的方法是基于对二元决策图(Binary Decision Diagram,BDD)进行扩展的二元猜测图(Binary Speculation Diagram, BSD)。

与传统的BDD构建依赖于形式化的描述不同,BSD使用常数0/1对BDD中的子图进行功能猜测。

在设计流程中,首先使用仅有1个节点的BSD作为对未知黑盒函数的初始估计,然后利用动态规划方法逐步增加BSD中的节点个数,从而丰富电路细节(见图4)。该工作理论上证明了随着BSD节点个数的增加,其电路准确率会逐步提升。

图4 具体的电路生成流程:从1个节点的BSD出发,逐步增加BSD中的节点个数以丰富电路细节

自主发现人类知识:蕴含冯诺依曼架构的CPU

此外,从IO自动生成的RISC-V CPU并不是杂乱无章的黑盒逻辑,而是蕴含了冯诺依曼架构的人类知识:由BSD表示的CPU设计包含了控制单元和运算单元(见图5)。

其中控制单元是由BSD的顶层生成,用于整个CPU的全局控制,而运算单元则完成算术和逻辑运算。

同时上述单元可以进一步分解为更细粒度的子模块,如译码器和ALU等,直到其最底层由基本的逻辑门构成。

图5 自主发现冯诺依曼结构:启蒙1号中包含了控制单元和运算单元,同时可以进一步分解为更细粒度的子模块

对比与展望:不同人工智能路径的交叉探索

自动的电路逻辑设计长期以来都是计算机科学的核心问题之一[2]。

近年来随着人工智能技术的发展,也出现了一批基于行为主义和连接主义(如深度强化学习和GPT-4大语言模型等)的自动逻辑设计工作(见表1)。

生成的电路

团队

技术路线

规模(逻辑门)

流片时间

加法器 [3]

英伟达

深度强化学习

~200

未知

运算器 [4]

台湾大学

决策树

~1000

无流片

运算器 [5]

东京大学

集成学习

~2500

无流片

8位CPU [6]

纽约大学

GPT-4

~1000

2023年5月

32位CPU

中科院计算所

二元猜测图

~4,000,000

2021年12月

表1 自动逻辑设计的代表工作对比情况

可以看出,相关工作主要聚焦于生成单个模块或小规模CPU,其规模与实际CPU芯片还有多个数量级的差距。

中科院计算所团队及其合作单位(包括中科院软件所、中科大、寒武纪公司等)所提出的方法生成了超过4,000,000个逻辑门的完整RISC-V CPU,相比目前GPT-4所能设计的电路规模大4000倍。

同时,该工作在符号主义的框架下从理论上保证了功能正确性,颠覆了传统流程中的逻辑设计和功能验证环节。

未来,通过符号主义、行为主义及连接主义等不同人工智能路径的交叉探索,自动生成的CPU有望在5年或10年内达到甚至超越人类专家所设计的CPU,彻底颠覆现有的芯片设计流程。

参考资料:
[1] Bentley, B. Validating a modern microprocessor. In Proceedings of International Conference on Computer Aided Verification (CAV), 2–4 (2005).
[2] Church, A. Applications of recursive arithmetic to the problem of circuit synthesis. Summaries of the Summer Institute of Symbolic Logic 1, 3-50 (1957)
[3] Roy, R. et al. Prefixrl: Optimization of parallel prefix circuits using deep reinforcement learning. In Proceedings of Design Automation Conference, 853–858 (2021).
[4] Chen, P. et al. Circuit learning for logic regression on high dimensional Boolean space. In Proceedings of Design Automation Conference, 15 1–6 (2020)
[5] Rai, S. et al. Logic synthesis meets machine learning: Trading exactness for generalization. In Proceedings of Design, Automation & Test in Europe Conference & Exhibition, 1026–1031 (2021).
[6] Blocklove, J et al. Chip-Chat: Challenges and Opportunities in Conversational Hardware Design. In arxiv, https://arxiv.org/abs/2305.13243 (2023)