谷歌使用机器学习进行自主布局布线,证实可提高开发效率并降低成本


谷歌Google人工智能AI)的负责人Jeff Dean在2020年国际固态电路会议(ISSCC)等场合介绍了谷歌基于机器学习开发的用于芯片设计布局布线模型,并通过在其自研处理器上的应用,证实了效率和布线结果优于人类。

美国新思科技Synopsys)公司也于3月11日推出了DSO.ai设计空间优化AI),称其为业界首个用于芯片设计的自主人工智能应用程序
 
摩尔定律在提升晶体管密度和降低成本方面的进展正在放缓,而芯片的设计和制造成本都在快速上升。目前,芯片设计领域最富前景的前沿研究之一是使用机器学习技术来实际帮助完成设计过程中的某些任务谷歌是世界上中央处理器CPU)和图像处理器(GPU)的大型消费者之一,也是张量处理器TPU)的设计者,为从边缘计算到数据中心的多种应用提供机器学习的推理和训练。谷歌对计算引擎的兴趣超越了以往。谷歌采用混合了CPUGPU的混合架构(未来也许还有其他加速器)来加强学习的负载。因此Dean和同仁在谷歌进行的研究也被带到了ASIC设计领域。出于偶然,谷歌在运行跨大量不同类型计算引擎的机器学习时开展一部分工作,在研究可在芯片上自动布局布线模型方面给予了支持。
 

发展机缘


谷歌在2018年5月展示了TPUv3系统的Pod,它可将1024个张量处理器集合在一起,使用谷歌自由和非常机灵的bfloat 16数据格式,能够提供106 petaflops的16位半精度乘法性能(带有32位累加)。这些TPUv3芯片都是使用32×32环形网格的交叉耦合,因此它们可以共享数据,并且每个TPUv3核都有自己的HBM2存储器组。这个TPUv3 Pod是一个巨大的计算聚合,可以进行机器学习训练或推理,但是不一定像谷歌需要构建的那么大。
 
Dean解释道:“发展趋势之一是模型正在变得越来越大。因此,整个模型不一定必须适配单个芯片。如果拥有大型模型,则模型的并行性(将模型划分在多个芯片计算)就变得非常重要,而通过为它提供大量计算器件来获得良好性能并非易事,而且如何有效做到这一点也并不明显。”与其他超级巨头一样,谷歌倾向于根据其他技术来构建自己的框架、协议和数据存储。下图表示发展趋势是多器件训练和更大的缓存空间,模型已经大到不能放在单个加速器器件上。


器件放置表示在合适的时间在合适的器件上放置合适的神经网络(或其所包含代码的一部分),以便在整个应用中获得最大吞吐量。由于神经网络模型变得比单个CPUGPUTPU的存储空间和计算能力更大,器件放置变得尤为重要。而且这个问题日益严重,超过了框架和硬件发展的步伐。
 
参数的数量不断增长,并行使用的器件数量也在不断增长。实际上,使128个GPU或128个TPUv3处理器协同工作就是一个很大的成就。随着越来越多的器件以某种方式协同来处理这些模型,因为模型的集合是运行在一组CPUGPU上,谷歌一直在尝试使用化学(RL)(机器学习的一个特殊子集)来找出在给定的时间运行神经网络模型的最佳地方。在这种情况下,设置初始策略来调度神经网络模型以进行处理,然后将结果反馈到模型中以进行进一步调整,从而使这些模型的运行越来越高效。
 
在2017年,Google训练了一个化学模型来完成这项工作。强化学习模型将工作放在两个CPU和四个GPU上,经过测试,强化模型所用时间与人类专家手工放置神经网络的时间相比减少19.3%。在计算引擎上基于强化学习的神经网络方式工作“做了某种非直觉的事情”来获得该结果,但这似乎是使用机器学习达到跟人类做同样工作一样好或更好的例子。问题在于,不需要花费太多的强化学习计算能力就能将工作放在器件上来运行经过训练的神经网络。在2018年,谷歌研究了如何将计算图扩展到超过8万个操作(节点)。2019年,谷歌创建了通用器件放置方案,用于具有超过5万个操作(节点)的数据流图。
 
Dean说:“然后,我们开始考虑使用它在ASIC专用集成电路)芯片设计中进行自主布局和布线而不是使用它来将软件计算放置在不同的计算器件上,因为如果换个角度看问题,它们看起来很相似。化学对于具有清晰规则(如国际象棋和围棋)的棘手问题确实非常有效,并且从本质上讲,我们开始自问:能否获得强化学习模型来成功实现ASIC芯片布局布线?”
 

面临挑战


据Dean表示上述工作面临着两个挑战。一是对象多。国际象棋和围棋都有单一的目标,即赢得比赛而不是输掉比赛(是同一枚硬币的两面)。而将IP核电路放置在ASIC芯片上并在它们之间进行布线,不会是简单的赢或输,需要关注面积、时序、阻塞、设计规则等更多对象。二是数量大。IP核电路可能的放置状态数量巨大。国际象棋的状态数是10的123次方,围棋的状态数是10的360次方,电路布局的状态数是10的9000次方。如下图所示。这些都需要在EDA工具中需要花费大量时间才能完成。
 

主要成果


Dean解释说,“因此,我们有了一个体系结构,从本质上讲,它汇聚构成芯片设计的所有东西,然后尝试放到晶圆上。”
 
(1)低功率机器学习加速器芯片上的验证

Dean展示了在一个低功率机器学习加速器芯片上放置IP核电路的一些结果(其中某些区域有意进行了模糊以避免泄露细节)。“我们有一个由专家组成的团队来同步放置这个IP核电路。我们对这些功能进行评估的成本非常低,在两秒钟而不是几小时内,这非常重要,因为强化学习是需要进行反复多次的学习。因此,我们有一个基于机器学习的放置系统,可以看到,它稍微扩展了逻辑,而不是将其分布在一个非常矩形的区域中,这使它可以同时改善拥塞和线长。到目前为止,我们在所有不同的IP核电路上都获得了可比拟或超越人类的结果。”下图为强化学习网络和人类分别在低功耗机器学习加速器上放置IP核电路的结果。表格展示了手动布局布线和通过机器学习自主布局布线的区别。


(2)在TPU芯片上的验证

对于在TPU芯片上的放置IP核电路,人工和强化学习网络的对比如下图。白色模糊区域是存储器,绿色模糊区域是逻辑单元族。机器学习找到了更平滑圆润的存储器放置模式来减少连线的长度。而且机器学习只用了24个小时,就找到更优于设计人员花费6-8周才完成的布局布线
 

(3)在TPU和Ariane RISC-V处理器上的验证

更进一步,谷歌希望知道是否可训练出通用模型,能够在以前从未见过的新设计布局中保持快速有效,这正是设计新芯片的关键。为此,Google选取TPU架构中的四个不同IP核电路和Ariane RISC-V处理器架构,对模型进行了测试。下两图对比了使用商业工具的人类,和模型在各种调整后的结果对比。


Dean说,“在第一个图中可以看到,设计经验实际上可以显着改善结果,因此从本质上讲,可以在十二个小时内获得最深的蓝色条。在第二图中显示了连线成本,可以从中看到如果从头开始训练,实际上它花了一点时间才能使系统产生一些突破性的洞察力,但随之能够显著降低布线成本,而经过预先训练的算法可以通过查看其他非常迅速达到这一水平的设计和人员的做法获得通用直觉。”
 

显著优势


进入良性循环。Dean说,我们内部已经在几个芯片设计上使用了人工智能技术。使用人工智能来设计芯片代表了一个良性循环,能设计出更好的人工智能芯片,这些改进的芯片又能够更好地发挥人工智能算法的能力,以此往复。
 
快速实现针对多重情况的设计Dean说,就像我们进行模拟仿真以更好地进行天气预报一样,这种人工智能实现的IP核电路在芯片上的布局和布线可以用来快速生成许多带有不同权衡考虑的布局,甚至设计出人类没有想到过的解决方案。而且,如果需要添加某些特性,则由人工智能主导的芯片设计可以快速重新布局,而无需花费数月的时间,多样化的设计更能满足未来多样化的需求。
 
极大地节约成本。最重要的是,这种自动化设计可以从根本上降低设计新芯片的成本。芯片设计成本正呈指数级增长,如采用16纳米工艺的先进芯片设计平均成本为1.063亿美元,到10纳米高达1.744亿美元,到7纳米高达2.978亿美元,预计5纳米的成本将达到5.422亿美元。其中近一半的成本已经并将继续用于软件。因此,我们知道如何减少这些成本,机器学习可以提供帮助。
 

下步发展


寻求模型工具的通用化。目前,谷歌正在考虑和验证机器学习模型的泛化能力和通用化,验证能否从一类芯片设计迁移到另一类芯片设计中。
 
在芯片设计的更多环节采用人工智能包括在芯片设计验证环节中,使用机器学习来产生能够测试全部状态空间的测试用例,或用机器学习改进高阶综合。进而可从高级描述中获得更优化设计
 

拭目以待


谷歌不确定芯片设计软件制造商是否会嵌入人工智能,并促进芯片设计真正实现爆炸式增长,并将其中的过程量化。谷歌将拭目以待,并愿意贡献Google类似研究成果来提供帮助。
 
资料来源
https://www.nextplatform.com/2020/02/20/google-teaches-ai-to-play-the-game-of-chip-design/
https://www.zdnet.com/article/google-experiments-with-ai-to-design-its-in-house-computer-chips/
https://www.eetimes.com/all-processing-bends-toward-ai/#

福利


摩尔精英粉丝福利:半导体行业资料,免费下载



点击阅读原文,了解
摩尔精英