大数据 > 原创谷歌AI造芯新突破!6小时设计AI芯片,质量超最先进算法

原创谷歌AI造芯新突破!6小时设计AI芯片,质量超最先进算法

2020-05-03 07:00阅读(88)

智能产品(官方帐户:zhidxcom) ,Google和人工智能(AI)设计芯片的新进展。 谷歌团队在昨天发布的新预印本中描述了一种深度强化学习方法,该方法可以在六个小

1

智能产品(官方帐户:zhidxcom)

,Google和人工智能(AI)设计芯片的新进展。 谷歌团队在昨天发布的新预印本中描述了一种深度强化学习方法,该方法可以在六个小时内完成芯片布局设计,而人类专家通常需要数周才能完成相同的设计步骤。

人工智能的快速发展得益于计算机系统和硬件的巨大进步,但是随着摩尔定律的放慢,世界需要新的硬件体系结构来满足计算能力的指数级增长。 但是,对于

,芯片设计通常需要几年的时间。 芯片设计专家必须预测未来2-5年的机器学习(ML)模型对芯片的需求。 大大缩短芯片设计周期将使硬件更好地适应人工智能的快速发展。

Google研究人员认为,人工智能将提供一种缩短芯片设计周期,在硬件和人工智能之间建立共生关系,促进彼此进步的方法。

与原始方法不同。 Google的新算法可以借鉴过去的经验,并随着时间的推移而不断改进。 特别是当训练更多的块时,该算法可以快速生成从未见过的芯片的优化设计。

研究人员表示,这种方法使真正的AI加速器(Google TPU)可以实现比当前最高基准水平更好的功率,性能和面积(PPA)。

的这项研究适用于任何芯片布局优化。 如果该技术可以公开使用,它将使资金拮据的初创企业能够开发自己的芯片用于AI和其他特殊用途。 它还可以帮助缩短芯片的设计周期,从而使硬件更好地适应快速发展的研究。

的研究主题是“具有深度强化学习的切屑放置”。 Azalia mirhoseini和Anna Goldie是合著者。

发布全文链接:https://arxiv.org/pdf/2004.10746.pdf

1.征服芯片设计中最耗时的部分

在芯片设计中,全局布线是最复杂,最耗时的过程之一 阶段,这需要在日益复杂的电路中进行多目标优化。

在这项新研究中,研究人员提出了一种基于深度强化学习的芯片布局方法,该方法旨在将宏(例如SRAM)和标准单元(例如NAND,nor和XOR)的网格节点映射到芯片画布( 一个有界的2D空间),以优化功耗,性能和面积(PPA),同时满足对布局密度和布线拥塞约束的要求。

这些网表图的大小范围从数百万个节点到数十亿个节点不等,通常需要数小时到一天的时间来评估目标指标。 尽管已经对芯片布局问题进行了数十年的研究,但人类专家仍然需要使用现有的布局工具来生成满足各种设计标准的解决方案。 为了解决这一难题,Google研究人员提出将芯片布局视为增强学习(RL)问题。 根据研究人员的说法,这是第一种具有泛化能力的芯片布局方法。 它可以利用我们从先前的布局网表中学到的知识为我们从未见过的新网表生成优化的芯片设计方案,从而为芯片设计人员带来新的可能性。

研究人员说:“我们的方法可以直接优化目标指标,例如线长,密度和拥塞,而不必像其他方法一样为这些功能定义近似值。” 我们的公式不仅使新的成本函数在可用时易于集成,而且使我们能够根据给定芯片块的需求(例如有限的功耗)权衡它们的相对重要性。 “根据该论文,

的新领域自适应策略不仅具有良好的效果,而且与零启动训练策略相比,其训练时间减少了八倍。

2.使用10000芯片布局训练模型

Google研究人员采用了 深度强化学习的方法,包括四个关键要素:状态,动作,状态转移和奖励;他们训练代理商通过最大化累积奖励来优化筹码布局;

在初始状态下具有一个空筹码画布和一个未放置的网表,以及 最终状态对应于一个完全布局的网表,真正的回报是商业EDA工具的输出,包括线长,路由拥塞,复杂性,功率,时间和面积

代理在每个步骤中都布置一个宏。 所有宏均已布局,标准单元将采用强制定位方法放置,奖励是近似的行长和拥塞的线性组合,计算得出的结果将传递给代理以优化 ts参数用于下一次迭代。

是因为强化学习策略需要有效地学习100000个示例,因此奖励功能的评估速度必须非常快,并且最好在几毫秒内运行,并且这些类似的奖励功能还必须与真实奖励具有正相关。 因此,研究人员定义了线长和路由拥塞的近似成本函数,并通过加权和将多个目标组合到单个奖励函数中。 根据论文的描述,Google研究人员提出了一种新的神经网络架构,该架构可以训练域自适应策略的芯片布局。

训练这样的策略网络是一项具有挑战性的任务,因为所有可能的芯片的状态空间都很大。 此外,不同的网格表和网格尺寸可以具有非常不同的属性,包括不同数量的节点,宏尺寸,图形拓扑以及画布的宽度和高度。 为了应对这些挑战,研究人员首先关注于状态空间的丰富表示。 它的直觉是,可以在芯片之间传输和优化布局的战略网络体系结构也应该能够在推理时将与未发现的芯片相关的新状态编码为有意义的信号。 因此,对于

,Google研究人员建议训练一种神经架构,该架构可以预测新网表的收益,生成输入网表的丰富功能,然后将其用作其策略和价值网络的编码器,以支持迁移学习。

▲策略和价值网络体系结构

嵌入式层对要放置在当前给定网络表中的邻接,节点特征和宏信息进行编码,然后策略网络在可用的放置位置上输出概率分布,而价值网络则输出 当前放置位置的预期奖励估算。 实际上,在

中,上述代理从空芯片开始依次布置组件,直到完成网络表,直到代理波长(与功率和性能有关)和拥塞的负加权总和为负。 为了指导座席选择首先要布局的组件,将按照大小减小的顺序对组件进行排序。 首先布局较大的组件,这样可以减少将来无法进行可行布局的机会。 训练监视模型的

需要创建一个包含10000个芯片布局的数据集,其中输入是与给定布局相关的状态,而标签是布局的奖励(即线长和拥塞)。 研究人员首先选择五个不同的芯片网表来构建此数据集,然后使用AI算法为每个网表创建2000个不同的布局位置。 在实验的

中,合著者报告说,当他们在更多芯片上训练框架时,可以加快训练过程,并更快地产生高质量的结果。

在三到六个小时内生成芯片布局,支持迁移学习

。 在实验评估阶段,研究人员关注以下几个问题:新方法是否使域转移和从经验中学习成为可能? 预培训策略对结果质量有何影响? 与最先进的基准相比,生成的布局的质量如何?

1.预训练策略优于零训练策略

下图比较了使用预训练策略和从头开始策略所产生的设计质量,包括零击和调整预训练特定设计细节的结果 2到12个小时内建立策略网络。

▲域适应结果

从图中可以看出,预训练策略网络总是比从零开始训练的策略网络更好,这证明了从离线训练数据中学习的有效性。 从零训练开始的

策略网络的收敛时间更长,甚至24小时后的收敛效果也不如12小时后的微调策略网络的收敛效果好,这表明权重和专家设计经验对 在较短的时间内实现更高质量的新设计。

上图显示了从零开始训练和从Ariane risc-v CPU预训练策略进行网络训练的收敛图。 在微调过程开始时,预训练策略网络的布局成本较低,并且可以收敛到更低的成本,这比从零开始的策略网络快30多个小时。

2.较大的数据集可以产生更好的布局效果

训练数据集是由内部TPU块创建的,内部TPU块由各种块组成,包括内存子系统,计算单元和控制逻辑。 当训练集从2个块增加到5个块,最后增加到20个块时,零击策略网络和微调策略网络可以同时产生更好的结果。

▲布局成本,微调时间和数据集大小之间的关系

研究人员在三种不同的训练数据集上对策略网络进行了预训练,其中小数据集是中型数据集的一部分,中型数据集 是大型数据集的子集,然后在同一测试块上调整预训练策略网络,并报告不同训练期间的成本。

随着数据集大小的增加,布局质量和测试块的收敛时间得到了改善。 下图显示了在每个数据集上训练的策略的评估曲线。 对于小型训练数据集,策略网络可以快速使训练数据和性能适合测试数据集; 对于最大的数据集,策略网络需要更长的时间来拟合,而在这个更大的数据集上,经过预训练的策略网络可以更好,更快地生成测试数据结果。

▲不同大小数据集的收敛(每个点都显示了训练策略产生的布局成本)

这表明,如果策略网络提供更多不同的芯片块,则进行预训练可能会花费更长的时间,策略网络将变为 不容易过度匹配,并且更好地为新的未知块找到最佳的布局位置。

3.可视芯片布局比较

下图显示了Ariane risc-v CPU的布局结果。 左侧是零冲击策略网络的结果,而右侧是微调策略网络的结果。

的结果▲视觉布局

零射是在推理过程中在以前未见的芯片上生成的。 零镜头策略网络将标准单元放置在画布的中央,周围是宏,这与最佳布局非常接近。 微调后,宏位置变得更规则,中央的标准单元区域变得更不受干扰。

▲随着训练的进行,Ariane的布局(左边是从一开始的训练策略,右边是芯片的预训练策略