人工智能已在芯片的布局规划方面超越了人类

原文作者:Andrew B. Kahng

一个机器学习系统已被训练来用于在芯片设计中布局存储器模块。该系统在这项任务上击败了人类专家,并有望提供比目前更好、更快生产的芯片设计。

芯片设计的成功与否在很大程度上取决于平面规划和布局这些重要步骤。这些步骤决定了存储器和逻辑元件在芯片上的位置。这些位置又很大程度上影响着完成的芯片设计是否能满足运行要求,如处理速度和电源效率。对布局规划任务的自动化尝试,至今未能成功。因此,布局规划现在是由专业的工程师用数周或数月的时间反复而艰苦地完成着。但在《自然》发表的一篇论文中,来自谷歌的研究人员(Mirhoseini等人 [1])提出了一种机器学习方法,在几个小时内就实现了卓越的芯片布局规划方案。

现代芯片是技术和经济的奇迹,数十亿的晶体管被铺设在一块指甲盖大小的硅片上并相互连接。每个芯片可以包含数以千万计的逻辑门,又称为标准单元,以及数以千计的存储块,又称为宏块或宏。这些单元和宏块通过几十公里长的线路相互连接,以实现设计的功能。鉴于这种惊人的复杂性,芯片设计过程本身就是另一个奇迹——在工程师的努力和专业设计软件的帮助下,芯片设计的复杂性得以受到控制。

标准单元和宏块在芯片中的位置对设计结果至关重要。它们的位置决定了导线的长度,从而影响到是否能在元器件之间成功布线,以及信号在逻辑门之间传输的速度。芯片布局的优化已经被广泛地研究了至少六十年 [2,3]。应用优化数学领域的创新,如被称为模拟退火的方法 [4],都是由芯片布局的挑战所激发的。

由于宏块可以比标准单元大几千甚至几百万倍,同时放置标准单元和宏块是非常具有挑战性的。因此,现代芯片设计方法是首先放置宏块,这个步骤被称为布局规划。然后在剩余的布局空间放置标准单元。仅仅放置宏块就非常复杂。Mirhoseini等人估计,在他们的研究中解决的布局规划问题,可能的宏块布局配置(状态空间)的数量约为10的2,500次方。相比之下,围棋中使用的黑白棋子的状态空间只有10的360次方。

可行的布局规划方案必须在芯片上留下空白区域,以实现所有的后续步骤——放置标准单元、布线和最大化芯片的处理速度。然而,这些步骤中固有的逻辑电路的优化可以使总面积增加15%或更多。因此,随着逻辑电路设计的发展,工程师必须反复调整宏块的位置。每一次迭代都是手动进行的,需要几天或几周时间。

计算机行业的发展一直被著名的摩尔定律所推动:每块芯片上的元器件数量大约每两年翻一番。这一进展速度相当于芯片上的元器件数量每周增加约1%。因此,未能自动化进行布局规划带来了很多问题,不仅是因为相关的时间成本,还因为它限制了在芯片设计中可以探索的布局方案的数量。

但一切在2020年4月22日发生了变化。在那一天,Mirhoseini等人将当前论文的预印本[5]发布到在线arXiv资料库中。作者声称,“在不到6小时的时间里,我们的方法可以产生超越或类似人类的布局”——也就是说,该方法可以在惊人的短时间内超越人类。在论文上线的几天之内,许多半导体设计公司、设计工具供应商和学术研究团体已经开始努力了解和重现这些结果。

Mirhoseini及其同事训练了一个机器学习 “智能体” ,能成功地将宏块一个个地放入芯片布局中。这个智能体有一个受大脑启发的架构,被称为深度神经网络,并被一种称为强化学习的范式进行训练。在布局规划的任何给定步骤中,训练有素的智能体评估正在被开发的芯片的 “状态” ,包括它迄今为止构建的部分布局规划,然后应用其学习到的策略来确定最佳 “行动” ——即在哪里放置下一个宏块。

这种方法的技术细节,例如如何表示芯片设计和部分布局规划,都是以寻找一个普遍的、通用的宏块布局方案为首要目标而开发的。换句话说,即使智能体面对它以前没有遇到过的、来自广泛的应用和市场的芯片设计,经过训练后它也应该成功。作者介绍说,当他们的智能体在10,000个芯片布局规划数据上进行预训练时,在“一次尝试”模式下进行的全新芯片设计已经相当成功:不超过6小时的额外微调,智能体就可以产生优于人类专家的布局规划。此外,智能体的布局方案与训练有素的人类专家的布局方案非常不同(图1)。

图1 | 人类设计的芯片布局规划与机器学习系统产生的不同。芯片设计的一个前期步骤是布局规划——在空的布局图上放置称为宏块的存储器组件。由于宏块布局的潜在方案数量巨大,布局规划是非常复杂的,而且随着逻辑电路设计的发展,它需要多次迭代。a,这一芯片(Ariane RISC-V处理器 [8])的布局规划被人类设计师认为是一个好的版图。b,Mirhoseini等人[1]介绍了一个机器学习智能体,它在短短几个小时内设计出的布局规划图就超过了人类的设计。这个智能体产生的布局是Ariane处理器的另一种实现,与a中显示的非常不同。(b中的图片改编自论文的扩展数据图4 [1]。

阿瑟-克拉克(Arthur C. Clarke)说过一句名言 [6],“任何足够先进的技术都与魔法无异”。对于芯片设计和设计自动化领域的长期从业者来说,Mirhoseini和他的同事们的成果堪称神奇。在过去的一年里,全世界的专家都在思考这样的问题:“智能体在最初为何能如此有效地依次布局每个宏块,以至于所选择的布局方式被用于最终的芯片设计中?”

作者介绍说,智能体按由大至小顺序布局宏块,这意味着即使一个宏块与先前的宏块没有任何联系(物理或功能)也可以放在旁边。当宏块具有相同的尺寸时,智能体对下一个宏块的选择与 “集群增长 ”方法 [7] 类似,该方法以前是为了实现布局规划的自动化而开发的,但在几十年前就被放弃了。看看作者对大规模计算和深度学习的使用是否揭示了芯片设计者当年错误地放弃了顺序布局和集群增长的方法,将是非常有趣的。

另一个备受争议的问题是:“智能体对宏块位置的选择如何在芯片设计的后续步骤中存活下来?”如前所述,人类工程师必须随着逻辑电路设计的发展反复调整其布局规划图。训练有素的智能体的不知为何能避开了这些宏块布局过程中的雷区,在时序(确保芯片中产生的信号及时到达目的地)和元器件之间布线的可行性和效率方面取得了超越人类的成果。此外,Mirhoseini及其同事使用简单的指标作为芯片设计的关键参数的代理,效果出奇地好——了解这些代理参数为何如此成功将会十分有趣。鉴于此,作者打算将他们的代码开源更是难能可贵。

开发出比目前更好、更快、更便宜的自动化芯片设计方法,将有助于保持芯片发展的'摩尔定律 '轨迹。事实上,对于芯片行业的技术领导者和决策者来说,Mirhoseini及其同事的论文中最重要的启示可能是,作者的布局规划解决方案已经被纳入谷歌下一代人工智能处理器芯片的设计中。这意味着这些布局方案足够好,可以在昂贵的尖端硅片上被印刷数百万份。因此,我们可以期待半导体行业对重现作者的工作会更加感兴趣,并在整个芯片设计过程中追求大量的类似应用。

参考文献:

1. Mirhoseini, A. et al. Nature 594, 207–212 (2021).

2. Markov, I. L., Hu, J. & Kim, M.-C. Proc. IEEE 103, 1985–2003 (2015).

3. Kahng, A. B. Proc. ACM/IEEE Int. Symp. Physical Design 15–22 (2021).

4. Kirkpatrick, S., Gelatt, C. D. Jr & Vecchi, M. P. Science 220, 671–680 (1983).

5. Mirhoseini, A. et al. Preprint at https://arxiv.org/abs/2004.10746 (2020).

6. Clarke, A. C. Profiles of the Future: An Inquiry into the Limits of the Possible 41 (Macmillan, 1973).

7. Sait, S. M. & Youssef, H. VLSI Physical Design Automation: Theory and Practice Ch. 3, 90–95 (McGraw-Hill, 1995).

8. Zaruba, F. & Benini, L. IEEE Trans. Very Large Scale Integration 27, 2629–2640 (2019).

原文以AI system outperforms humans in designing floorplans for microchips标题发表在2021年6月9日的《自然》的新闻与观点版块上

(0)

相关推荐