【导读】机器学习和系统芯片互相促进发展,近年来机器学习算法深刻改变了计算硬件资源的发展。最近谷歌发布了强化学习用于芯片布局的论文。在加州理工的《数据驱动算法设计》课程上,GOOGLE两位研究人员Azalia Mirhoseini & Anna Goldie做了《机器学习在系统和芯片设计》的报告,讲述了机器学习芯片设计技术,值得关注。Jeff Dean在Twitter做了推荐。
在过去的十年中,系统和硬件已经改变了机器学习。现在是机器学习改变系统和硬件的时候了。在芯片设计过程中,芯片布局(chip placement)可以说是其中最复杂和耗时的步骤了。芯片设计周期的缩短有助于硬件设备适应机器学习领域的快速发展,那么,机器学习能否助力芯片设计呢?最近,谷歌提出了一种基于强化学习的芯片布局方法。本报告内容包括:
概述
计算机芯片通常分为数十个模块,每个模块都是一个单独的模组,例如内存的子系统、计算单元以及控制逻辑的系统。这些模块可以通过网表以及宏(内存组件)和标准单元(逻辑门,例如 NAND、NOR 和 XOR)等电路组件图来描述,而所有这些组件均通过网格连接。
确定芯片如何布局(通常称为芯片的布局规划过程)是芯片设计过程中最复杂、最耗时的阶段之一,它涉及到将网表放置在芯片的画布(2D 网格)上,尽可能使得功率、性能和面积(PPA)降至最低,同时还要注意密度和布线拥塞方面的限制。
尽管对此方向进行了数十年的研究,但是行业内专家仍然需要迭代数周的时间才能完成一个满足多方面设计标准的解决方案。简单来说,其复杂性来自于几个主要层面:网表图的大小(数百万至数十亿个节点)、网表图放置的网格粒度,以及计算真实目标所产生的过高成本,如果使用行业标准的电子设计自动化工具这个计算过程可能要花费数小时(有时甚至超过一天)。
谷歌研究者将芯片布局看作一个强化学习问题,然后训练智能体将芯片网表(netlist)的节点放置在芯片画布(canvas)上。为了使强化学习策略泛化至新的芯片 block,研究者将表征学习置于预测芯片布局质量的监督任务中。通过设计能够在大量网表及其布局上准确预测奖励的神经架构,该研究生成输入网表的丰富特征嵌入。然后利用该架构作为策略和价值网络的编码器,实现迁移学习。
该研究旨在最小化芯片设计的 PPA(功耗、性能和面积)。研究者称,该方法能够在 6 小时内完成芯片布局设计,布局质量超过或匹配人类设计,而现有的基线方法需要人类专家参与,且往往需要数周时间才能完成。此外,谷歌还表示,该方法可以为谷歌加速器芯片(TPU)生成更优化的芯片放置方案,还适用于任意类型的芯片(ASIC)。 Chip Placement with Deep Reinforcement Learning
博客链接:http://ai.googleblog.com/2020/04/chip-design-with-deep-reinforcement.html
作者:Azalia Mirhoseini、Anna Goldie、Jeff Dean 等 论文链接:https://arxiv.org/pdf/2004.10746.pdf
摘要:在芯片设计过程中,芯片布局(chip placement)可以说是其中最复杂和耗时的步骤了。芯片设计周期的缩短有助于硬件设备适应机器学习领域的快速发展,那么,机器学习能否助力芯片设计呢?最近,谷歌提出了一种基于强化学习的芯片布局方法。
研究者将芯片布局看作一个强化学习问题,然后训练智能体将芯片网表(netlist)的节点放置在芯片画布(canvas)上。为了使强化学习策略泛化至新的芯片 block,研究者将表征学习置于预测芯片布局质量的监督任务中。通过设计能够在大量网表及其布局上准确预测奖励的神经架构,该研究生成输入网表的丰富特征嵌入。然后利用该架构作为策略和价值网络的编码器,实现迁移学习。
该研究旨在最小化芯片设计的 PPA(功耗、性能和面积)。研究者称,该方法能够在 6 小时内完成芯片布局设计,布局质量超过或匹配人类设计,而现有的基线方法需要人类专家参与,且往往需要数周时间才能完成。