利用深度强化学习进行芯片布局

摘要
本文提出了一种基于学习的芯片布局方法,这是芯片设计过程中最复杂、最耗时的阶段之一。与以往方法不同,我们的方法能够从过往经验中学习,并随着时间的推移不断改进。具体而言,随着我们对更多芯片模块进行训练,我们的方法能够更快速地为之前未见过的芯片模块生成优化的布局。
为了实现这些结果,我们将布局问题视为一个强化学习 (RL) 问题,并训练一个代理将芯片网表的节点布局到芯片画布上。为了使我们的 RL 策略能够推广到未见过的模块,我们将表示学习应用于预测布局质量的监督任务。通过设计一个能够准确预测各种网表及其布局奖励的神经架构,我们能够为输入网表生成丰富的特征嵌入。然后,我们将该架构用作策略和价值网络的编码器,以实现迁移学习。我们的目标是最小化 PPA(功耗、性能和面积),并且我们证明了,在不到 6 小时内,我们的方法就可以生成超越人类或在现代加速器网表上可比拟的布局,而现有的基准方法则需要人类专家参与,并且需要数周时间。

1. 引言
人工智能的快速发展得益于计算机系统和硬件的显著进步,但随着摩尔定律和登纳德缩放定律的终结,世界正转向专用硬件,以满足人工智能指数级增长的计算需求。然而,如今的芯片设计需要数年时间,我们面临的挑战是如何针对2-5年后的机器学习 (ML) 模型对其进行优化。大幅缩短芯片设计周期将使硬件能够更好地适应快速发展的人工智能领域。我们相信,人工智能本身将提供缩短芯片设计周期的方法,在硬件和人工智能之间建立一种共生关系,彼此促进彼此的进步。在本文中,我们提出了一种基于学习的芯片布局方法,这是芯片设计过程中最复杂、最耗时的阶段之一。目标是将宏(例如 SRAM)和标准单元(逻辑门,例如 NAND、NOR 和 XOR)的网表图布局到芯片画布上,以优化功耗、性能和面积 (PPA),同时满足布局密度和布线拥塞的限制(详见第 3.3.6 节和第 3.3.5 节)。尽管该问题已研究数十年,但人类专家仍然需要使用现有的布局工具进行数周的迭代,才能得出满足多方面设计标准的解决方案。该问题的复杂性源于网表图的大小(数百万到数十亿个节点)、必须放置这些图的网格的粒度,以及计算真实目标指标的高昂成本(行业标准的电子设计自动化 (EDA) 工具评估单个设计需要花费数小时甚至有时超过一天的时间)。即使将问题分解为更易于管理的子问题(例如,将节点分组为几千个簇,并降低网格的粒度),状态空间仍然比近期基于学习的方法已取得成功的问题大几个数量级。
为了应对这一挑战,我们将芯片布局视为一个强化学习 (RL) 问题,训练一个代理(例如,RL 策略网络)来优化布局。在每次训练迭代中,RL 代理会按顺序布局芯片块的所有宏,然后通过力导向方法布局标准单元。训练由代理每次芯片布局的快速但近似的奖励信号引导。
据我们所知,所提出的方法是第一个具有泛化能力的布局方法,这意味着它可以利用从布局先前网表中学到的知识来为新的未知网表生成布局。具体而言,我们表明,随着我们的智能体接触到的芯片数量和种类越来越多,它在为新芯片模块生成优化布局方面会变得更快、更出色,这将使我们更接近一个未来:芯片设计师将由拥有丰富芯片布局经验的人工智能体辅助。我们相信,我们的方法能够从经验中学习并随着时间的推移不断改进,这将为芯片设计师开启新的可能性。我们证明,与最先进的基准方法相比,我们可以在真实的AI加速器芯片(Google TPU)上实现更优异的PPA。此外,我们的方法可以在6小时内生成优于或媲美人类专家芯片设计师的布局,而性能最高的替代方案则需要人类专家的参与,并且现代芯片中数十个模块中的每一个都需要数周时间。虽然我们主要在AI加速器芯片上进行评估,但我们提出的方法广泛应用于任何芯片布局优化。

2. 相关工作
全局布局是芯片设计中一个长期存在的挑战,需要对日益复杂的电路进行多目标优化。
自20世纪60年代以来,
已提出了许多方法,迄今为止可分为三大类:1)基于分区的方法,2)
随机/爬山方法,以及3)解析求解器。
从20世纪60年代开始,工业界和学术实验室开始采用基于分区的方法解决全局布局问题,并提出了基于分区的方法(Breuer,1977;Kernighan,1985;Fiduccia 和 Mattheyses,1982),以及基于电阻网络的方法(Chung-Kuan Cheng 和 Kuh,1984;Ren-Song Tsay 等人,1988)。这些方法的特点是
采用分而治之的方法;网表和芯片画布会被递归划分,直到出现足够小的子问题,此时,使用最优求解器将子网表放置到子区域上。此类方法执行速度非常快,其层次结构特性使其能够扩展到任意大的网表。然而,通过单独优化每个子问题,基于划分的方法会牺牲整体解决方案的质量,尤其是布线拥塞。此外,早期划分不当可能会导致最终布局无法挽救。

20 世纪 80 年代,解析方法应运而生,但很快被随机/爬山算法所取代,尤其是模拟退火 (Kirkpatrick 等人,1983;Sechen & Sangiovanni-Vincentelli,1986;Sarrafzadeh 等人,2003)。模拟退火 (SA) 因其类似于冶金学而得名,在冶金学中,首先将金属加热,然后逐渐冷却,以诱导或退火能量最优的晶体表面。SA 对给定的位置施加随机扰动(例如,宏的移动、交换或旋转),然后测量它们对目标函数(例如,第 3.3.1 节中描述的半周线长)的影响。如果扰动有所改进,则应用该扰动;如果不是,它仍然会以一定的概率应用,
称为温度。温度被初始化为一个特定值,然后逐渐退火至一个较低的值。虽然SA可以生成高质量的解,但它
非常慢且难以并行化,因此无法
扩展到20世纪90年代及以后日益庞大和复杂的电路。
20 世纪 90 年代至 21 世纪初,多层次划分方法(Agnihotri 等,2005;Roy 等,2007)以及分析技术的复兴成为其特征,例如力导向方法(Tao Luo & Pan,2008;Bo Hu & Marek-Sadowska,2005;Obermeier 等,2005;Spindler 等,2008;Viswanathan 等,2007b;a)和非线性优化器(Kahng 等,2005;Chen 等,2006)。二次方法的再次成功部分归功于算法的进步,但也归因于现代电路的庞大规模(1000万到1亿个节点),这使得布局问题可以近似为零面积节点的布局问题。然而,尽管二次方法计算效率高,但它们通常可靠性较低,并且产生的解质量低于非线性方法。
非线性优化使用平滑的数学函数来近似成本,例如用于线长的对数和指数模型(William et al., 2001)和加权平均模型(Hsu et al., 2011),以及用于密度的高斯模型(Chen et al., 2008)和亥姆霍兹模型。然后,使用拉格朗日惩罚或松弛法将这些函数组合成一个目标函数。由于这些模型的复杂性较高,因此有必要采用分层方法,即放置簇而不是单个节点,这种近似方法会降低放置质量。
过去十年见证了现代分析技术的兴起,包括更先进的二次方法(Kim et al., 2010; 2012b; Kim & Markov, 2012; Brenner et al.,
2008; Lin et al., 2013),以及最近出现的基于静电学的方法,例如 ePlace(Lu et al., 2015)和 RePlAce(Cheng et al., 2019)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值