一直以来,芯片都是不少科技公司研发的重点,尤其在芯片市场竞争异常火热的今天。谷歌虽然依靠软件立身,但近些年却也一直在钻研芯片技术,TPU 就是一个不错的成果。今日,Google AI 负责人 Jeff Dean 在一篇预发表论文中,公布了一种基于机器学习的芯片设计方法,声称可以将设计流程缩减到 6 个小时,而常规的芯片设计往往需要数周甚至更久。
在由 Google AI 负责人 Jeff Dean 参与撰写的预发表论文中,Google Research 的科学家以及谷歌芯片实施与基础架构团队共同公布了一种基于机器学习技术的芯片设计方法,能够借鉴过往经验并随时间推移而不断改进设计能力,最终打造出更强大、质量更高的芯片方案。他们宣称,整个设计流程平均可在 6 个小时之内完成,时间周期远远短于常规人工研究的数周之久。
虽然这并不算是什么全新思路,但其真正实现源自今年 3 月谷歌工程师们在最新论文中提出的技术。更重要的是,这也表明处理器芯片上的晶体管排布设计将在很大程度上实现自动化。如果谷歌研究人员提出的这一技术能够公开使用,那么各类资金不足的初创企业也能够开发出属于自己的 AI 及其他专用类芯片。此外,整个行业的平均芯片设计周期也将显著缩减,使得硬件能够更好地适应快速发展的研究需求。
在去年底接受采访时,Dean 解释道:“基本上,以往的设计流程就是由研究人员利用一系列设计工具完成布局决策。听起来简单,但实际上布局与布线专家们需要使用这些工具进行一次又一次设计迭代。从初步设计,到将布局物理铺设在实体芯片上,到满足芯片项目的尺寸、功率与导线长度限制,再到符合所有协同设计师思路乃至现有制造工艺……这将是一个延续数周的艰辛过程。而现在,我们可以构建起一套机器学习模型,由其学习特定芯片中的布局与布线规则,最终快速生成可行的设计方案。”
随着训练的推进,Ariane 开源处理器的布局方式也在发生改变。左图为从零开始进行的训练策略,右图则为针对该芯片功能的预训练策略。
论文作者们提出的方法,是将逻辑门、存储器等“排线表列”放置在芯片底板上,从而在优化功率、性能与面积(PPA)指标的同时,遵循当前芯片项目对于布局及布线密度的硬性要求。设计流程的规模范围非常灵活,从数百万节点到数十亿节点(这些节点将被归类至成千上万个簇内)皆可涵盖。一般来说,评估既定指标往往需要数小时到一天的时间。
研究人员还设计出一套框架,负责指导经过强化学习训练的代理优化芯片布局。(强化学习代理通过奖励摸索出最佳目标实现方式;在芯片设计案例中,代理将不断学习各类放置策略,探索如何实现奖励最大化。)在排线表列固定的前提下,AI 策略模型会根据当前节点 ID/ 排线表列以及半导体制造工艺等因素输出可行的芯片单元排布概率结果,并由估值模型估算当前放置方案的预期收益。
在实践当中,代理会在空芯片上依次放置组件,直到完成排线表列中的所有条目为止。更重要的是,只有代理的波长(与功率及性能相关)负加权总和与拥塞度(受排线密度限制)为负值时才会得到奖励。为了引导代理找出需要首先放置的组件,研究人员对组件按大小递减次序进行排序;首先放置较大组件,能够降低后续缺少充足放置空间的问题。
要完成代理训练,研究人员需要创建一套包含 10000 种芯片布局的数据集,其中的输入内容为匹配特定放置要求的具体状态,标签则为放置奖励(即导线长度与拥塞度)。为了创建这套数据集,研究人员们首先选择了一种不同的芯片排线表列,而后利用 AI 算法为每种表列生成 2000 种不同的布局。
根据作者们的说明,他们在实验中发现,随着整体框架训练度的不断提升,训练速度开始持续加快并产出质量更高的结果。具体来看,与当前领先的基准水平相比,这项新技术在谷歌张量处理单元(TPU,由谷歌定制设计的 AI 加速器芯片)设计中带来了非常出色的 PPA 指标。
研究人员们总结道,“与当前从零开始为每一款新芯片优化布局设计的方法不同,我们的工作能够利用以往芯片设计经验加快设计速度,并随时间推移不断强化设计质量。此外,我们的这种新方法也能够直接优化特定指标,例如导线长度、密度与拥塞度等等,这就摆脱了传统方法中硬性定义相关指标近似值的局限。这套新方案不仅极大降低了芯片设计中的成本控制难度,同时也帮助我们根据特定芯片的实际需求权衡不同指标的相对重要程度(例如时限优先或者功率上限)。”
关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书!