如果这还不足糟糕的话,摩尔定律在晶体管密度和本钱方面的改进正在放缓。与此同时,芯片设计本钱和用于蚀刻芯片的工厂本钱也在上升。为保持IT创新的飞跃,在这些方面的任何节省都将是最受欢迎的。
目前,在芯片设计领域,一个很有出息的研究前沿是利用机器学习技能来实际帮助完成设计过程中的一些任务。我们将在即将于3月10日在圣何塞举行的下一届人工智能平台活动上与Cadence Design Systems的工程总监Elias Fallon谈论这个问题。在芯片设计中利用机器学习也是谷歌研究小组的高等研究员Jeff Dean的主题之一,他帮助超大规模业者(hyperscaler)发明了许多关键技能,在本周于旧金山举行的2020年国际固态电路会议上的主题演讲中他谈到了这一点。

事实证明,谷歌对打算引擎不仅仅有一时的兴趣,它是天下上CPU和GPU的紧张消费者之一,并且还是从边缘到数据中央的TPU的设计者,他们既可以进行机器学习推理又可以进行数据学习和演习。这不仅是搜索引擎巨子和公共云竞争者的学术活动,尤其是如果它打算连续推进其TPU路线图,并且决定像竞争对手亚马逊网络做事一样,开始设计自己的定制Arm做事器芯片,或者决定为其手机和其他消费设备定制Arm芯片。

出于某种有时性,谷歌在大量不同类型的打算引擎上运行机器学习模型时所做的一些事情正在反馈到它在ASIC上自动放置和布线IP块的事情中。(当一个想法是这样的成形时,那是很美妙的……)
虽然Google在2018年5月展示的TPUv3系统的Pod可以将1,024个张量处理器(其内核数量是我们所知的两倍,时钟速率提高了约15%)组合在一起,利用谷歌自己的非常聪明的bfloat16数据格式来供应106千万亿次浮点运算,16位半精度乘法性能(32位累积)的总和。这些TPUv3芯片都利用32×32环形网格交叉耦合,因此它们可以共享数据,并且每个TPUv3内核都有自己的HBM2存储库。这个TPUv3 Pod是巨大的打算聚合,可以进行机器学习演习或推理,但是不一定像Google所须要的那么大。 (我们将在单独的故事中谈论Dean对AI硬件和模型未来的评论。)
可以说,谷歌正在利用稠浊架构,它们稠浊利用CPU和GPU(大概还有其他一些加速器)来增强学习事情负载,因此Dean和他的同行们参与的研究也将用于ASIC设计。
Dean阐明说:“个中一个趋势是模型变得越来越大。”因此,全体模型并不一定适用于单个芯片。如果你有很大的模型,那么模型并行性(将模型划分为多个芯片)是很主要的,并且通过为它供应大量打算设备来得到良好性能并非易事,而且如何有效地做到这一点也并不明显。”
这并不像采取通报接口( MPI)那么大略,MPI用于在大规模并行超级打算机上分派事情,并将其破解到一个类似TensorFlow的机器学习框架中,由于AI iron的实质是异构的。但这可能是一种将机器学习培训事情负载分散到大量打算元素上的有趣办法,有些已经这样做了。当然,与其他超大规模业者一样,谷歌方向于根据其他技能构建自己的框架、协议和数据存储。
设备放置—意味着在全体运用程序中,在精确的韶光将精确的神经网络(或包含它的部分代码)放置在精确的设备上,以得到最大的吞吐量—当神经网络模型变得比单个CPU、GPU或TPU的内存空间和打算能力更大时,这一点尤为主要。而且问题比框架和硬件能够跟上的速率还要快。看一看:
参数的数量一贯在增加,同时利用的设备的数量也在增加。实际上,使128个GPU或128个TPUv3处理器(这便是您在上表中得到512个内核的办法)协同事情是一项相称大的造诣,并且与超级打算机在20多年前所能做到的最好水平相称,在那之前,利用MPI的疏松耦合、大规模并行的超级打算机接管了利用实际共享内存的联邦NUMA做事器是HPC的规范。随着越来越多的设备将以某种办法捆绑在一起来处理这些模型,谷歌一贯在试验利用强化学习(RL),这是机器学习的一个分外子集,以找出在任何给定时间在哪里最好地运行神经网络模型,由于模型集成是在CPU和GPU的凑集上运行的。在这种情形下,我们设定了一个初始策略来调度神经网络模型进行处理,然后将结果反馈到模型中进行进一步的调度,使其更高效地运行这些模型。
在2017年,谷歌演习了一个RL模型来完成这项事情,这是编码器和解码器的终极放置结果,而在测试系统中,将事情放在两个CPU和四个GPU上的RL模型,与人工放置的人工神经网络比较,演习运行韶光减少了19.3%。Dean补充说,这种基于RL的神经网络在打算引擎上的事情“做了一些非直觉的事情”来达到这个结果,这彷佛是很多机器学习运用程序的情形,只管如此,它们在做同样的任务时事情得和人类一样好或更好。问题是,不须要大量的RL打算力就可以在设备上运行正在演习中的神经网络。在2018年,谷歌做了一项研究,展示了如何将打算图扩展到超过80000个操作(节点),去年,谷歌为超过50000个操作(节点)的数据流图创建了一种通用的设备放置方案。
Dean说:“然后我们开始考虑用它来代替把软件打算放在不同的打算设备上,开始考虑我们是否可以用它来做ASIC芯片设计中的放置和布线,由于如果你瞥一眼它们,会创造问题看起来有点相似。”“强化学习对付那些有明确规则的难题,比如国际象棋或围棋,真的很有效。实质上,我们开始问自己:我们能否得到强化学习模型来成功发挥ASIC芯片布局的浸染?”
根据Dean的说法,要做到这一点有几个寻衅。首先,国际象棋和围棋都有一个目标,那便是赢得比赛而不是输掉比赛。(它们是同一枚硬币的两面。)通过在ASIC上放置IP块并在它们之间进行布线,并不存在大略的输赢,而是有许多您关心的目标,比如面积、韶光、拥塞、设计规则等等。更令人气馁的是,IP块放置的神经网络模型必须管理的潜在状态的数量是巨大的,如下图所示:
末了,驱动IP块放置的真正褒奖函数(在EDA工具中运行)须要花费很多韶光才能运行。
Dean阐明说:“以是我们有了一个架构,我不会得到很多细节,但实质上它试图把一堆东西组成一个芯片设计,然后试着把它们放在晶圆上。”他展示了在一个低功率的机器学习加速器芯片上放置IP块的一些结果(我们认为这是谷歌为其智好手机创建的边缘TPU),一些区域故意模糊,以阻挡我们学习该芯片的细节。“我们有一个人类专家团队放置了这个IP块,他们有两个代理褒奖函数,对我们来说非常便宜;我们用两秒钟而不是几个小时来评估它们,这非常主要,由于强化学习是一种须要多次迭代的过程。我们有一个基于机器学习的布局系统,你可以看到它在某种程度上扩展了逻辑,而不是在这样一个矩形的区域,这使得它在拥塞和电线长度上都得到了改进。到目前为止,我们已经在所有不同的IP区块上取得了类似或超人的结果。”
注:我不愿定我们是否要把人工智能算法称为超人。至少你不想让它被禁止。
无论如何,下面是RL网络的低功耗机器学习加速器与IP块放置职员的比拟:
这张表显示了手工放置与布线和机器学习自动化之间的差异:
末了,下面是与人类比较,RL网络是如何处理TPU芯片上的IP块的:
与人工智能设计的Cartesian IP块比较,人工智能创建的IP块看起来是多么的有机。令人着迷。
完成了这一步后,谷歌接着问了这样一个问题:我们能否培训一名总代理,能够迅速有效地放置一种从未见过的新设计?这正是你制造新芯片的关键。Google测试了这个通用模型,它利用了四个不同的IP块,分别来自于TPU架构和“Ariane”RISC-V处理器架构。该数据使人们能够利用商业工具并在模型上进行各种级别的调度:
这是关于Ariane RISC-V芯片的放置和布线的更多数据:
Dean说:“你可以看到,其他设计的履历实际上会显著改进结果,以是基本上在12个小时内,你就可以得到最深蓝色的条。”他指的是上面的第一个图表,然后连续上面的第二个图表。”,这张图显示了有线本钱,如果你从零开始演习,实际上须要一段韶光,系统才会有一些打破性的见地,并能够大幅降落布线本钱,而预先演习的政策有一些关于芯片设计的直觉,从看到其他设计和职员很快达到那个水平。”
就像我们做仿照集成来做更好的景象预报一样,Dean说这种人工智能驱动的IP块集成芯片设计的放置和布线可以用来快速天生许多不同的布局,并进行不同的权衡。如果须要添加一些功能,AI芯片设计游戏可以快速重新设计布局,而不须要几个月的韶光。
最主要的是,这种自动化设计赞助可以从根本上降落制造新芯片的本钱。这些本钱呈指数级上升,我们看到的数据(多亏IT行业的精彩人士和Arista Networks董事长兼首席技能官Andy Bechtolsheim),利用16纳米工艺的前辈芯片设计均匀本钱为1.063亿美元,到10纳米为1.744亿美元,再到7纳米本钱为2.978亿美元,估量5纳米芯片的订单为5.422亿美元。个中近一半的本钱已经并且将连续用于软件。因此,我们知道如何确定这些本钱的目标,而机器学习可以供应帮助。
问题是,芯片设计软件制造商是否会将人工智能嵌入芯片设计中,并在芯片设计中引发一场真正意义上的“寒武纪”大爆炸,然后像我们其他人在事情中必须做的那样将其数量化?看看这里会发生什么,以及谷歌所做的类似研究将如何有所帮助,将是一件有趣的事情。
点击文末阅读原文,可阅读英文原文。
免责声明:本文由作者原创。文章内容系作者个人不雅观点,半导体行业不雅观察转载仅为了传达一种不同的不雅观点,不代表半导体行业不雅观察对该不雅观点赞许或支持,如果有任何异议,欢迎联系半导体行业不雅观察。
本日是《半导体行业不雅观察》为您分享的第2227期内容,欢迎关注。
★功率半导体将开启新时期
★汽车半导体的瓶颈是什么?
★中国台湾会蚕食大陆8吋晶圆代工市场?
“芯”系疫情|AI|TWS|ARM|存储|CMOS|德州仪器|MEMS






