Redian新闻
>
中科院团队用AI设计了一颗CPU

中科院团队用AI设计了一颗CPU

科技


六月底,来自中科院的团队在预印本平台arxiv上发表了重磅论文《Pushing the Limits of Machine Design:Automated CPU Design with AI》(机器设计新突破:使用人工智能自动设计CPU),其中使用了人工智能的方法,成功地在5个小时内完成了一个基于RISC-V指令集的CPU的设计,而且该设计经过后端布局布线后已经成功流片点亮并且能运行Linux和Dhrystone。



该论文一经发表,就得到了半导体业界的广泛关注,我们认为,该论文中提出的方法有其历史渊源,但是团队提出了对于已有方法的一种从数学角度来看很优美的改进,从而能够让基于机器学习的自动芯片设计成为现实。


首先,我们回顾一下现有的数字芯片设计流程。主流的芯片设计流程是,芯片设计师首先描述数字逻辑设计,而EDA工具软件则把这样的电路描述映射到完全等价的数字逻辑电路。在这个过程中,整个数字逻辑或者是用Verilog等硬件描述语言来描述(常常是芯片设计师使用的描述方法),或者是使用等价的布尔逻辑图的形式来描述(常见于一些EDA软件的内部优化过程中)。布尔逻辑图和硬件设计语言两者是等价的,其特点就是能够完全描述数字逻辑。例如,如果是一个简单的有n比特输入的组合逻辑,那么在描述中就需要能够生成一张布尔逻辑表格(真值表),该表格需要能覆盖所有2^n种输入比特组合的对应输出。而对于时序逻辑,则还需要考虑内部状态比特,需要的表格就更大了。


与之相对应的是,基于机器学习的自动设计关注的问题是:如果我们只给出真值表的一部分,能否同样可以生成正确的数字逻辑?举例来说,该论文中针对的CPU自动生成的问题,其中有1798个输入和1826个输出,在这种情况下如果直接使用真值表需要(2^1798)*1826大小的真值表,这样大的真值表基本上是不可能在合理的时间内生成的,而且也没有可行的算法来处理如此大的真值表。对此,论文提出的观点是,可以使用一种新的算法,该算法可以只使用真值表的一小部分来训练,就能够生成自动推理出真值表的其他部分,并且保证有很高的准确度。因此,设计流程就变成了:用户提供一个芯片逻辑真值表的一部分(需要是高质量数据,能够抓住电路逻辑的主要特点),机器学习算法根据这个逻辑真值表自动推理并补全真值表的其他部分,并且把该完整真值表送到传统的EDA工具里去做逻辑综合和物理设计。因此,电路设计流程也就由大量人工参与逻辑设计迭代(下图a)变成了用户提供一个输入输出数据集,AI直接综合出逻辑和电路(下图b)。



为了实现这样的功能,论文提出了BSD算法。BSD算法的本质是一种动态图算法:对于任意的逻辑,它首先生成一个初始的图(例如,无论输入如何输出都是0);然后随着用户提供更多的输入输出数据(即提供真值表的一部分),BSD的图会随之更新(添加更多边和节点),从而让BSD对应的逻辑能够满足用户提供的真值表。例如,在一比特加法器的例子中,一开始的BSD逻辑图对应的是一个输出永远是0的简单逻辑,但是随着用户给出更多的输入输出的数据,BSD图也在不断地修正,最后当用户给出足够多的数据时(不一定需要给出真值表的全部),BSD就收敛到了正确的一比特加法器逻辑。



如前所述,这样得到的BSD可以通过推理的方法来补完整个真值表,但是这样的真值表对于现有的EDA软件来说会太大而无法处理,因此论文又提出了一种BSD图的处理方法可以把一个大的BSD分解成多个子BSD,并且在每个子BSD中进行图节点合并以进一步减小BSD图的大小,最后能把BSD图中的节点缩减到一百万个左右,从而EDA工具可以轻松处理。


为了验证该算法的有效性,团队选择了RISC-V处理器作为目标设计。具体来说,在数据集方面,论文团队使用RISC-V模拟器随机生成了2^40组输入输出数据作为训练数据,另一方面团队把之前RISC-V设计中使用的测试样例(通常是最具有代表性的输入输出数据)也加入了训练集中。值得注意的是,RISC-V CPU的输入和输出分别有1789和1826个,因此理论上完整真值表需要有1826*(2^1789)个输入输出数据,而团队使用的训练数据集只是完整真值表所需数据微不足道的一小部分,同时也可以在合理的时间内产生出来。


之后,团队使用了该训练集在5小时内完成了算法的训练,并且把生成的BSD送入EDA软件中进行综合,在经过FPGA验证后进行了流片,最后CPU芯片能跑在300MHz时钟频率并且能成功运行Linux和Dhrystone。



BSD模型对于芯片设计方法学的影响


我们认为,该论文中提出的设计方法对于未来的芯片设计可能有深远的影响。


首先,该论文中的算法训练时间仅仅为5小时,这样的时间远远小于常规的处理器完成设计的时间——即使是所有的架构定义和输入输出样例都已经完备,人工完成这样的设计需要的时间至少是在几周到一个月的级别,这远远高于5小时的训练时间。更重要的是,未来随着计算平台算力的升级,该算法训练需要的时间可望进一步减小:以目前每两年人工智能算力翻倍的势头来看,大约五年内该训练时间就可以做到一小时以下。


其次,该算法是典型的数据驱动,需要大量的高质量数据。这意味着未来对于芯片设计来说,如何产生这些数据会非常重要。在论文中,我们可以看到这些数据来源于RISC-V处理器的功能模拟器(simulator),换句话说未来芯片设计师的任务可能会更加集中到上层的功能定义以及描述(例如使用Python或者C语言对于芯片的功能进行建模)。类似的使用高级语言来描述电路并实现综合的尝试已经有十余年(例如高级语言综合High level synthesis,HLS等),但是获得的成功一直有限,仅仅在一些特定的电路中获得应用;而如今使用机器学习的方法配合高级语言进行电路功能描述可能是实现类似高级语言综合的一个可行路径。


最后,虽然论文中使用机器学习直接产生了一个CPU这样的大型设计,但是从产业界的角度,更有可能的做法是从中小型IP开始,搭建一个基于AI的设计平台,并且在经过几轮迭代后再渐渐推广到更大的设计,并且最终简化设计的流程。


BSD与其他人工智能如何进一步推动芯片设计


我们认为,BSD的提出是一个自动设计的一个突破,因为它打破了之前设计综合需要完整真值表的限制。同时,我们也认为接下来BSD算法会进一步迭代并取得更好的结果,并且和其他人工智能算法一起进一步简化芯片设计。


首先,论文中提到的BSD的搭建是从零开始,并且通过训练数据来完成创建。一个有可能的未来发展方向是,如何从一个基础参考设计开始做一定的改动,来实现一个新的设计?类似的参考设计方法是芯片设计行业的常规操作,而在人工智能业界,相对应的做法就是预训练和微调——即在较大的训练数据集上进行训练实现一个基础模型,然后使用一个较小的数据集来微调来满足定制化。如果未来BSD能实现这样的参考设计和微调,那么将进一步减小对于用户产生数据量的需求和训练时间,从而进一步提升BSD的使用体验。


其次,BSD可以和其他人工智能算法结合来进一步提升设计的效率。例如,目前的ChatGPT类大语言模型对于Python已经有了很好的支持,但是对于Verilog等语言的支持以及设计流程的支持还不够完备;在未来,对于一个芯片IP的设计,我们可望看到ChatGPT类大语言模型去帮助生成上层使用Python描述的功能模型,使用该功能模型去生成输入输出数据,然后使用BSD来完成最终的数字逻辑设计。


综合上述的分析,我们认为BSD有希望成为未来EDA流程中的重要一环,它可以帮助推动高级语言逻辑综合,同时也可望和其他人工智能大语言模型一起进一步简化芯片设计流程,并且大大降低芯片设计需要的时间和成本。未来的芯片设计中,对于芯片设计师的要求越来越多会集中到更上层的功能定义,而不是具体的逻辑编写。


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第3451期内容,欢迎关注。

推荐阅读


富士康们,抢攻芯片

IDM时代,终将过去?

他们,为芯片操碎了心


半导体行业观察

半导体第一垂直媒体

实时 专业 原创 深度


识别二维码,回复下方关键词,阅读更多

晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装

回复 投稿,看《如何成为“半导体行业观察”的一员 》

回复 搜索,还能轻松找到其他你感兴趣的文章!

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
OpenAI劲敌融资13亿美元;中国团队推首颗AI全自动设计CPU;全球首个医疗多模态基础模型群发布丨AIGC大事日报中外4个科研团队用人体干细胞培育出“人造胚胎”,下一步会怎么走?JAMA子刊:上海瑞金医院团队发现,长时间戴N95口罩可能威胁健康!Chiplet设计、性能240%提升,英特尔下一代数据中心CPU设计来了老干部文体为什么喜欢写诗?韩国团队称发现室温超导!中科院物理所“前排吃瓜”,南大教授:极可能是假象,正重复试验三句话生成CPU!中科院ChipGPT攻克AI芯片设计?代码量减少近10倍Arm新一代架构发布:CPU能效提升40%,GPU性能提升15%GPU垄断AI让人担忧,是时候让CPU发扬光大Why do you want to be rich?What is true love in a relationship?是谁设计了 Ye、Demna 都爱的棒球帽?中国科学院团队首篇LLM模型压缩综述:细聊剪枝、知识蒸馏、量化技术佐藤可士和为优衣库设计了一个巨型LOGO!中科院高彩霞团队最新突破:借助人工智能开发出新型碱基编辑器国内最新量子计算机真机亮相!求解加速超100倍,创始团队来自清华中科院等i5-9400f CPU with asus b365m bundle(cpu good mb faulty)一文搞懂GPU的概念、工作原理,以及与CPU的区别小别胜新婚吗?中国团队推出世界首颗 AI 全自动设计 CPU“启蒙 1 号”信创之CPU、GPU、存储、整机基础硬件看完巴黎时装周,终于知道为什么要出国学服装设计了这对夫妇太会设计了!86㎡老宅翻新后艺术氛围拉满,每一平米都令人心动!【居住榜样】他用AI设计了一套衣服,令万千网友心动!世界首颗AI全自动设计CPU!中国团队重磅推出,性能堪比486,规模提升4000倍乱七八糟他们用 ChatGPT 设计了一款处理器Cell Rep | 中科院微生物所研究团队合作揭示高尔基体定位蛋白GPR108抑制抗病毒固有免疫反应新机制加拿大华裔小哥设计了一个AI翻译聊天器和父母“吵架”,最后还是被亲妈碾压!LV设计了一款蟑螂包…设计师你没事吧?学会设计了(是错觉)这些设定都好可爱隈研吾在日本直岛,设计了一个“小笼包”?北京内推 | 中科院自动化所视频内容安全团队招聘算法研究实习生Nature | 耶鲁医学院团队揭示PLSCR1是对抗新冠病毒感染的重要细胞防御因子北大团队用Diffusion升级DragGAN,泛化更强生成质量更高,点一点「大山拔地而起」
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。