虽然近年来各大EDA公司都在积极的将AI引入到自己的芯片设计工具当中。但是早在2020年,谷歌就发布了题为《Chip Placement with Deep Reinforcement Learning》预印本论文,介绍了其设计芯片布局的新型强化学习方法。随后在2021年,谷歌又在 Nature上发表了论文并将其开源了。
近日,谷歌详细介绍了其用于芯片设计布局的强化学习方法,并将该模型命名为“AlphaChip” ,据称AlphaChip有望大大加快芯片布局规划的设计,并使它们在性能、功耗和面积方面更加优化。目前AlphaChip已发布在Github上与公众共享,同时谷歌还开放了一个在 20 个 TPU 模块上预训练的检查点。据介绍,AlphaChip在设计谷歌的张量处理单元 (TPU) 方面发挥了重要作用,并已被包括联发科(MediaTek)在内的其他公司采用。
谷歌首席科学家 Jeff Dean 表示,开放预训练 AlphaChip 模型检查点以后,外部用户可以更容易地使用 AlphaChip 来启动自己的芯片设计。
从数个月缩短至数小时
通常芯片设计布局或平面图是芯片开发中时间最长、劳动强度最高的阶段。近年来,新思科技(Synopsys)开发了 AI 辅助芯片设计工具,可以加速开发并优化芯片的布局规划。但是,这些工具非常昂贵。谷歌希望在一定程度上使这种 AI 辅助芯片设计方法大众化。
如今,如果由人类来为 GPU 等复杂芯片设计平面图大约需要 24 个月。不太复杂的芯片的平面规划可能也至少需要几个月的时间,而这意味着数百万美元的成本,因为维持一个设计团队通常需要一大笔费用。
谷歌表示,AlphaChip 加快了这一时间表,可以在短短几个小时内创建芯片布局。此外,据说它的设计非常出色,因为它们优化了电源效率和性能。谷歌还展示了一张图表,显示与人类开发人员相比,各种版本的 TPU 和 Trillium 的平均线长(wirelength)都有所减少。
△图中展示了 AlphaChip 在三代 Google 张量处理单元 (TPU) 中的平均线长(wirelength)减少量,并与 TPU 物理设计团队生成的位置进行了比较。
AlphaChip 是如何工作的?
芯片设计并非易事,部分原因在于计算机芯片由许多相互连接的块组成,这些块具有多层电路元件,所有元件都通过极细的导线连接。此外,芯片还有很多复杂且相互交织的设计约束,设计时必须同时满足所有约束。由于这些复杂性,芯片设计师们在 60 多年来一直在努力实现芯片布局规划过程的自动化。
与 AlphaGo 和 AlphaZero 类似,谷歌构建时 AlphaChip,也将芯片的布局规划视为一种博弈。
AlphaChip 从空白网格开始,一次放置一个电路元件,直到完成所有元件的放置。然后根据最终布局的质量给予奖励。谷歌提出了一种新颖的「基于边」的图神经网络使 AlphaChip 能够学习互连芯片元件之间的关系,并在整个芯片中进行推广,让 AlphaChip 在其设计的每一个布局中不断进步。
△左图: AlphaChip 在没有任何经验的情况下放置开源处理器 Ariane RISC-V CPU的电路元件;右图: AlphaChip 在对 20 个 TPU 相关设计进行练习后放置相同的电路元件。
AlphaChip 还使用强化学习模型,其中代理在预设环境中采取行动,观察结果,并从这些经验中学习,以便在未来做出更好的选择。在 AlphaChip 的情况下,系统将 chip floorplanning 视为一种游戏,一次将一个 circuit 元件放置在空白网格上。该系统随着解决更多布局而改进,使用图形神经网络来理解组件之间的关系。
谷歌TPU及联发科天玑芯片设计均已采用
自 2020 年以来,AlphaChip 一直被用于设计谷歌自己的 TPU AI 加速器,这些加速器驱动着谷歌的许多大规模 AI 模型和云服务。这些处理器运行基于 Transformer 的模型,为谷歌的 Gemini 和 Imagen 提供支持。
为了设计 TPU 布局,AlphaChip 首先在前几代的各种芯片块上进行练习,例如片上和芯片间网络块、内存控制器和数据传输缓冲区。这个过程称为预训练。然后谷歌在当前的 TPU 块上运行 AlphaChip 以生成高质量的布局。与之前的方法不同,AlphaChip 解决了更多芯片布局任务实例,因此变得更好、更快,就像人类专家所做的那样。
可以说AlphaChip 改进了每一代 TPU 的设计,包括最新的第 6 代 Trillium 芯片,确保了更高的性能和更快的开发。尽管如此,谷歌和联发科目前仍都只是依赖 AlphaChip 来制作芯片当中有限的一些区块,而人类开发人员仍然承担了大部分的设计工作。
△谷歌最近三代张量处理单元 (TPU)(包括 v5e、v5p 和 Trillium)中 AlphaChip 设计的芯片块的数量
到目前为止,AlphaChip 已被用于开发各种处理器,包括谷歌的 TPU 和联发科旗舰级天玑 5G SoC芯片,这些处理器广泛用于各种智能手机。此外,还包括谷歌首款基于 Arm 的通用数据中心 CPU—— Axion。因此,AlphaChip 能够在不同类型的处理器中进行泛化。
谷歌表示,它已经在各种芯片模块上进行了预训练,这使得 AlphaChip 能够在实践更多设计时生成越来越高效的布局。虽然人类专家可以学习,而且许多人学得很快,但机器的学习速度要高出几个数量级。
扩展AI在芯片开发中的应用
谷歌表示,AlphaChip 的成功激发了一波新的研究浪潮,将人工智能用于芯片设计的不同阶段。这包括将AI技术扩展到逻辑综合、宏选择和时序优化等领域,Synopsys和Cadence已经提供了这些技术,尽管需要很多钱。据谷歌称,研究人员还在探索如何将 AlphaChip 的方法应用于芯片开发的更进一步阶段。
“AlphaChip 激发了芯片设计强化学习的全新研究路线,跨越了从逻辑综合到布局规划、时序优化等的设计流程,”谷歌的一份声明中写道。
展望未来,谷歌看到了 AlphaChip 彻底改变整个芯片设计生命周期的潜力:从架构设计到布局再到制造,人工智能驱动的优化可能会带来更快的芯片、更小(即更便宜)和更节能的芯片。虽然目前谷歌的服务器和基于联发科天玑 5G 的智能手机受益于 AlphaChip,但未来应用程序可能会扩展到几乎所有领域。
目前AlphaChip 的未来版本已经在开发中,因此或许未来在AI的驱动下,芯片设计将会变得更加的简单。
编辑:芯智讯-浪客剑