手机SoC芯片,堪称世界上最复杂的芯片之一,有多复杂?老冀给你个数字:iPhone 12搭载的A14处理器,竟然有118亿个晶体管!
要设计如此复杂的芯片,必须使用EDA软件,先由工程师完成逻辑设计,然后进行布局走线设计,以确定每个晶体管的位置,以及它们之间的连接。这个工程量非常浩大,尤其是布局走线设计加上测试,通常需要好几个工程师20 到30 周才能完成。
还得是有经验的工程师,他们有一种本能的理解,知道不同的设计方案会给芯片带来什么样的后果,能够通过不断地试错,优化设计方案,最终达到性能、功耗、面积三大目标的平衡。
工程师的这种优化模式,跟AI里的强化学习非常类似。由此,全球最大的EDA软件公司——新思发布了DSO.ai,在芯片布局走线的时候,通过强化学习自动搜索设计空间,寻求最佳解决方案。
结果非常理想,采用DSO.ai之后,芯片频率提升了18%,功耗降低了21%,6个月的工程时间缩短到了1个月。
也正是看到了AI给芯片设计带来的好处,三星已经准备在下一代Exynos处理器的设计中采用AI。
除了三星之外,其他公司也在尝试用AI来进行芯片设计。前不久,Google的两位研究科学家阿扎莉亚·米尔霍塞尼(Azalia Mirhoseini)和安娜·戈尔迪(Anna Goldie)在《自然》杂志上发表了一篇论文。该论文披露,他们已经用AI设计自家的TPU芯片。
Google的AI算法被称为“芯片版面规划”,从机器学习的角度来看,完全可以像下棋那样解决这个问题。芯片版面规划与下棋类似,只不过用的不是棋盘,而是硅片。棋盘上的棋子变成了CPU和GPU等芯片子系统器件,接下来的任务就是让机器学习系统找到“获胜条件”。围棋比赛是围出更大的空,而在芯片设计中则是计算效率。
Google工程师利用芯片版面规划的数据集,训练了一种强化的机器学习算法,其中有10000个不同质量的芯片版面规划图,一些规划是随机生成的。每个规划图所需电线长度和功耗有所不同。然后,训练后的算法利用这些数据来区分版面规划的好坏,并相应生成新的设计。
当AI在棋类游戏中挑战人类时,并不一定像人类那样思考,而且经常会对熟悉的问题提出意想不到的解决方案。例如,DeepMind的AlphaGo与围棋冠军李世石对弈时就是如此,AI看似不合逻辑的一步棋却最终取得了胜利。
Google的芯片设计算法虽然没有像下棋那么戏剧性,最后的结果却也与人工设计大不同:AI设计的芯片版面中,各个子系统并没有整齐排列,看起来几乎是随机分散在硅片上;而人工设计的芯片版面则显得规整得多。
左为人工设计,右为AI设计,经过模糊处理
针对Google的这篇论文,《自然》杂志的评论称,这是一项重要的成就,也许可以抵消“摩尔定律”的终结。大家也都知道,随着芯片制程工艺逼近3纳米乃至1纳米,必然会遭遇物理瓶颈。这个时候,如果通过AI设计,不需要那么先进的制程工艺,仍然能够提升芯片的性能和效率,倒也不失为延长“摩尔定律”的一种新的尝试。
此外,另一家芯片巨头NVIDIA 同样不甘落后;要知道,NVIDIA的主力产品GPU,早就已经是目前最主流的用于AI的芯片。在去年9月24日出版的《IEEE Micro》上,NVIDIA的研究人员也发表了一篇文章,详细介绍了如何用机器学习来加速芯片设计,特别是用来设计自家的GPU。
由此可见,未来,AI将在芯片设计中发挥越来越重要的作用。各位朋友,你认为呢?