中科院计算所等机构推出了世界首个完全由AI设计的CPU芯片,不仅比目前GPT-4所能设计的电路规模大了4000倍,而且性能也达到了与Intel 486相当的水平。
编者按:本文来自微信公众号 新智元(ID:AI_era),编辑:好困 桃子,创业邦经授权转载,头图来源摄图网
中科院计算所的处理器芯片全国重点实验室及其合作单位,用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生成满足规范的电路逻辑面临两大挑战:
(1)规模挑战:在没有任何专家给出的形式化或非形式化电路描述时,设计空间大小等同于全部可能存在的电路设计。对于以IO描述的电路来说,一个典型RISC-V CPU的设计空间约为;在如此巨大空间中找到功能正确的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)。
表1 自动逻辑设计的代表工作对比情况
可以看出,相关工作主要聚焦于生成单个模块或小规模CPU,其规模与实际CPU芯片还有多个数量级的差距。
中科院计算所团队及其合作单位(包括中科院软件所、中科大、寒武纪公司等)所提出的方法生成了超过4,000,000个逻辑门的完整RISC-V CPU,相比目前GPT-4所能设计的电路规模大4000倍。
同时,该工作在符号主义的框架下从理论上保证了功能正确性,颠覆了传统流程中的逻辑设计和功能验证环节。
未来,通过符号主义、行为主义及连接主义等不同人工智能路径的交叉探索,自动生成的CPU有望在5年或10年内达到甚至超越人类专家所设计的CPU,彻底颠覆现有的芯片设计流程。
团队介绍
自2008年起,中科院计算所便开始长期从事芯片设计和人工智能的交叉研究。其中一项为人熟知的产出就是人工智能芯片寒武纪。
而在面向芯片设计的人工智能方法上,中科院计算所也已有十多年的积累,并且从未停止探索如何用人工智能方法使得芯片设计完全自动化。
依托中国科学院计算技术研究所建立的处理器芯片全国重点实验室,是中国科学院批准正式启动建设的首批重点实验室之一,并被科技部遴选为首批 20个标杆全国重点实验室,2022年5月开始建设。
其中,实验室学术委员会主任为孙凝晖院士,实验室主任为陈云霁研究员。
实验室近年来获得了处理器芯片领域首个国家自然科学奖等6项国家级科技奖励;在处理器芯片领域国际顶级会议发表论文的数量长期列居中国第一;在国际上成功开创了深度学习处理器等热门研究方向;孵化了总市值数千亿元的国产处理器产业头部企业。
参考资料:
[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)