谷歌TPU秘密武器,6小时完成芯片布局!新AI算法登Nature


谷歌TPU秘密武器,6小时完成芯片布局!新AI算法登Nature
文章插图
芯东西(公众号:aichip001)
作者 | 心缘
编辑 | 漠影
芯东西6月10日报道,谷歌用人工智能提高芯片设计速度的研究,已发表于国际顶级期刊Nature。
原本人类专家需要花费数周时间的芯片布局设计,通过一种深度强化学习方法,平均6小时内就能完成这个过程。
这项工作并不完全新颖,包括谷歌人工智能负责人Jeff Dean在内的谷歌工程师团队,在一年前发表的一篇预印版论文中已经提到了这一技术。
谷歌博客:https://ai.googleblog.com/2020/04/chip-design-with-deep-reinforcement.html
而在Nature最新发表的论文中,谷歌原始研究团队称其已微调该技术,来设计即将推出的、以前未宣布的谷歌张量处理单元(TPU)的生成,专门用于加速人工智能(AI)。
谷歌TPU秘密武器,6小时完成芯片布局!新AI算法登Nature
文章插图
该论文题目为《一个快速芯片设计的布图布局方法》(A graph placement methodology for fast chip design)。如果这一技术公开,或有助于让资金受限的初创企业开发满足特定需求的自家芯片,并缩短芯片设计周期,使硬件更好地适应快速发展的研究。
论文链接:https://www.nature.com/articles/s41586-021-03544-w
一、芯片设计自动化挑战大,性能难达人类水准微芯片面积约为几十到数百毫米平方,容纳数千个组件,如内存、逻辑和处理单元,外加许多公里的超薄电线将这些组件连接在一起。
设计过程中,全局布线是最复杂和耗时的阶段之一,这涉及研究这些组件的最佳放置位置,就像建筑师设计建筑的内部空间一样,如何以最好的规划容纳所有所需的固定装置和配件。
在这项研究中,谷歌研究人员提出了一种基于深度强化学习的芯片布局方法,目标是将电路组件和标准单元的网表节点映射到一个芯片画布上,从而优化功率、性能和面积(PPA),同时遵守对布局密度和布线拥塞的限制。
自20世纪60年代以来,提出了许多自动化的芯片平面图方法,但没有一种方法达到人类专家上手所能实现的性能。此外,芯片复杂性的指数增长,使这些技术难以在现代芯片上使用。
人类芯片设计师往往必须使用电子设计自动化(EDA)工具迭代数月,对芯片网表进行RTL描述,并手动将该网表放置在芯片画布上。
基于这种长达72小时的反馈,设计师要么得出结论,认为设计标准已经达到,要么向上游RTL设计师提供反馈,后者然后修改低级代码,使放置任务更容易。
而谷歌提出的深度强化学习方法,是一种具有泛化能力的芯片布局方法。通过领域自适应策略,它能够跨芯片进行推广,可以自行从经验中学习,使其芯片布局设计能力变得更好、更快。
二、用游戏系统、10000个芯片布局训练训练跨芯片推广的AI驱动设计系统具有挑战性,因为它需要学会优化将所有可能的芯片净列表放置在所有可能的画布上。
芯片平面图类似于具有各种部件、板块和获胜条件的游戏,因此可以用包含状态、动作、状态转移、奖励四个关键要素的强化学习方法,通过训练一个智能体,用累计奖励最大化,让AI优化芯片布局的能力持续增强。
从空芯片开始,谷歌团队的系统按顺序放置组件,直到实现一个完全布局的网表。
为了指导系统选择首先放置的组件,组件按降序由大到小排序;首先放置较大的组件会减少以后没有可行放置的可能性。
谷歌TPU秘密武器,6小时完成芯片布局!新AI算法登Nature
文章插图
随着训练进行,开源RISC-V处理器Ariane的宏位置。左边是从零开始训练的策略,右边是针对这个芯片进行预训练的策略。每个矩形代表一个单独的宏位置。(图源:谷歌)
训练该系统需要创建一个包含10000个芯片布局的数据集,其中输入是与给定布局相关的状态,标签是布局的奖励(即线长和拥塞)。
谷歌TPU秘密武器,6小时完成芯片布局!新AI算法登Nature】研究人员首先选择了5个不同的芯片净网表,并用AI算法为每个网表创建2000个不同的布局位置。
该系统花了48个小时在英伟达Volta显卡和10个CPU上“预训练”,每个CPU都有2GB的RAM。
在一项测试中,谷歌研究人员将他们的系统建议与手动基线——谷歌TPU物理设计团队创建的上一代TPU芯片设计——进行比较。
结果显示,系统和人类专家均生成符合时间和拥塞要求的可行位置,而AI系统在面积、功率和电线长度方面优于或媲美手动布局,同时满足设计标准所需的时间要少得多。