Timothy Prickett Morgan作者nextplatform来源

如何将AI应用于芯片设计?谷歌有话说!

如果这还不够糟糕的话,摩尔定律在晶体管密度和成本方面的改进正在放缓。与此同时,芯片设计成本和用于蚀刻芯片的工厂成本也在上升。为保持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亿美元。其中近一半的成本已经并且将继续用于软件。因此,我们知道如何确定这些成本的目标,而机器学习可以提供帮助。

问题是,芯片设计软件制造商是否会将人工智能嵌入芯片设计中,并在芯片设计中引发一场真正意义上的“寒武纪”大爆炸,然后像我们其他人在工作中必须做的那样将其数量化?看看这里会发生什么,以及谷歌所做的类似研究将如何有所帮助,将是一件有趣的事情。

半导体行业观察
半导体行业观察

最有深度的半导体新媒体,实时、专业、原创、深度,30万半导体精英关注!专注观察全球半导体最新资讯、技术前沿、发展趋势。

产业AI谷歌AI芯片
相关数据
亚马逊机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
寒武纪机构

寒武纪科技是全球智能芯片领域的先行者,宗旨是打造各类智能云服务器、智能终端以及智能机器人的核心处理器芯片。公司创始人、首席执行官陈天石教授,在处理器架构和人工智能领域深耕十余年,是国内外学术界享有盛誉的杰出青年科学家,曾获国家自然科学基金委员会“优青”、CCF-Intel青年学者奖、中国计算机学会优秀博士论文奖等荣誉。 团队骨干成员均毕业于国内顶尖高校,具有丰富的芯片设计开发经验和人工智能研究经验,从事相关领域研发的平均时间达七年以上。 寒武纪科技是全球第一个成功流片并拥有成熟产品的智能芯片公司,拥有终端和服务器两条产品线。2016年推出的寒武纪1A处理器(Cambricon-1A)是世界首款商用深度学习专用处理器,面向智能手机、安防监控、可穿戴设备、无人机和智能驾驶等各类终端设备,在运行主流智能算法时性能功耗比全面超越CPU和GPU,与特斯拉增强型自动辅助驾驶、IBM Watson等国内外新兴信息技术的杰出代表同时入选第三届世界互联网大会评选的十五项“世界互联网领先科技成果”。目前公司与智能产业的各大上下游企业建立了良好的合作关系。在人工智能大爆发的前夜,寒武纪科技的光荣使命是引领人类社会从信息时代迈向智能时代,做支撑智能时代的伟大芯片公司。

http://www.cambricon.com
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

调度技术

调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。 进行调度工作的程序叫做调度器。调度器通常的实现使得所有计算资源都处于忙碌状态,允许多位用户有效地同时共享系统资源,或达到指定的服务质量。 see planning for more details

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

张量处理器技术

张量处理器(英语:tensor processing unit,缩写:TPU)是Google为机器学习定制的专用芯片(ASIC),专为Google的深度学习框架TensorFlow而设计。 与图形处理器(GPU)相比,TPU采用低精度(8位)计算,以降低每步操作使用的晶体管数量。降低精度对于深度学习的准确度影响很小,但却可以大幅降低功耗、加快运算速度。同时,TPU使用了脉动阵列的设计,用来优化矩阵乘法与卷积运算,减少I/O操作。此外,TPU还采用了更大的片上内存,以此减少对DRAM的访问,从而更大程度地提升性能。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

摩尔定律技术

摩尔定律是由英特尔创始人之一戈登·摩尔提出来的。其内容为:积体电路上可容纳的电晶体数目,约每隔两年便会增加一倍;经常被引用的“18个月”,是由英特尔首席执行官大卫·豪斯所说:预计18个月会将芯片的性能提高一倍。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

围棋技术

围棋是一种策略性棋类,使用格状棋盘及黑白二色棋子进行对弈。起源于中国,中国古时有“弈”、“碁”、“手谈”等多种称谓,属琴棋书画四艺之一。西方称之为“Go”,是源自日语“碁”的发音。

推荐文章
暂无评论
暂无评论~