Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

杜伟、陈萍编辑

6小时完成,Jeff Dean领衔AI设计芯片方案登Nature,谷歌第四代TPU已用

机器之心报道
编辑:
将芯片的布局规划看作一个深度强化学习问题,谷歌大脑团队希望用 AI 来提升芯片设计效率。基于 AI 的最新设计方案可以在数小时内完成人类设计师耗费数月才能完成的芯片布局,这将有可能引领一场新的芯片效率革命。
2020 年 4 月,包括 Google AI 负责人 Jeff Dean 在内的谷歌大脑研究者描述了一种基于 AI 的芯片设计方法,该方法可以从过往经验中学习并随时间推移不断改进,从而能够更好地生成不可见(unseen)组件的架构。据他们表示,这种基于 AI 的方法平均可以在 6 小时内完成设计,这要比人类专家所需要的数周时间快得多。

左为人类设计的微芯片布局,右为机器学习系统设计的微芯片布局。图源:Nature

近日,谷歌大脑团队联合斯坦福大学的研究者对这一基于 AI 的芯片设计方法进行了改进,并将其应用于不久前 Google I/O 2021 大会上正式发布的、下一代张量处理单元(TPU v4)加速器的产品中。谷歌此前表示,TPUv4 可以在目标检测图像分类自然语言处理机器翻译和推荐基准等工作负载上优于上一代 TPU 产品。

相关论文研究已经在 Nature 上发表,Jeff Dean 为核心作者之一。据介绍,在不到六小时的时间内,谷歌 AI 芯片设计方法自动生成的芯片布局在功耗、性能和芯片面积等所有关键指标上都优于或媲美人类,而工程师需要耗费数月的艰苦努力才能达到类似效果。

论文地址:https://www.nature.com/articles/s41586-021-03544-w

这项基于强化学习的快速芯片设计方法对于资金紧张的初创企业大有裨益,如果谷歌公开相关技术的话,这些初创企业可以开发自己的 AI 和其他专用芯片。并且,这种方法有助于缩短芯片设计周期,从而使得硬件可以更好地适应快速发展的技术研究。

技术详解

芯片布局是设计计算机芯片物理布局的一项重要工程任务。在电子设计自动化(EDA)出现之前,设计人员必须手工完成集成电路的设计、布线等工作,到了 1970 年代中期,开发人员尝试将整个设计过程自动化。此后,第一个电路布局布线工具研发成功,设计自动化研讨会(Design Automation Conference)在这一时期被创立。电子设计自动化发展的下一个重要阶段以卡弗尔 · 米德(Carver Mead)和琳 · 康维于 1980 年发表的论文《超大规模集成电路系统导论》,提出了通过编程语言来进行芯片设计的新思想。从 1981 年开始,电子设计自动化逐渐开始商业化。

尽管历经了 50 年的相关研究,芯片布局仍与自动化背道而驰,需要物理设计工程师数月的艰苦努力才能生产出可制造的布局。基于此,谷歌研究者提出了一种用于芯片布局设计的深度强化学习(RL)方法。就其效果而言,在不到六小时的时间内,谷歌设计方法自动生成的芯片布局在功耗、性能和芯片面积等所有关键指标上都优于或媲美人类

具体而言,为了实现这一目标,研究者将芯片布局作为一个强化学习问题,开发了一种基于边缘、能够学习芯片丰富且可迁移表示的图卷积神经网络架构。这种方法能够更好地利用过往的经验,从而更好更快地解决问题的新实例,使得芯片设计由比任何人类设计师具备更多经验的人工智能体执行。

此外,这种方法可被用于设计谷歌下一代人工智能加速器,并且有可能为它们节省数千小时的人力。研究者相信,更强大的 AI 设计的硬件将推动人工智能领域的进步,并在这两个领域之间建立一种共生关系。

设计域 - 自适应策略

为芯片布局规划开发域 - 自适应策略是非常具有挑战性的,因为该问题类似于具有不同棋子、棋盘和获胜条件的游戏,元件是「棋子」(例如,网表拓扑、宏计数、宏大小和纵横比)、放置元件的画布是「棋盘」(画布大小和长宽比)、赢的条件(不同的评估指标或不同的密度和路由拥塞约束的相对重要性)。即使是游戏的一个实例(将一个特定的网表放到一个特定的画布上)也有一个巨大的状态 - 动作空间,对全局形成影响。为了应对这个挑战,研究者首先集中学习状态空间的丰富表示。

研究者训练了一个神经网络架构,能够预测新网表放置的奖励,最终目标是将此架构用作整个策略的编码层。

为了训练这种监督模型,需要大量的芯片放置数据集及其相应的奖励标签。因此,研究者创建了一个包含 10000 个芯片放置的数据集,其中输入是与给定放置相关的状态,标签是该放置的奖励。为了准确预测奖励标签,将其泛化到未看到的数据中,研究者提出了一种基于边缘的图神经网络架构,即 Edge-GNN(基于边缘图神经网络)。该网络的作用是将网表嵌入,将节点类型和连通性的信息提取到低维向量表示中,以用于下游任务。

监督模型通过回归进行训练,以最小化均方损失的加权和。监督任务使研究者能够找到在网表中推广奖励预测所需的特征和架构。为了将 Edge-GNN 合并到 RL 策略网络中,该研究移除了预测层,然后将其用作策略网络的编码器,如图所示。

策略网络和价值网络体系架构。

训练方法和训练方案。

谷歌团队的系统从一个空芯片开始,按顺序放置组件,直到完成网表。为了指导系统选择先放置哪些组件,组件按大小递减进行排序,研究人员先放置大的组件,这样可以减少之后无法放置的可能性。

开源 RISC-V 处理器 Ariane 的宏布局随着训练进程的变化情况。左边:从头开始训练;右边:正在为这个芯片调整预训练策略。每个矩形代表一个单独的宏位置。

自适应结果

下图 3 中,研究人员比较了使用预训练策略生成的放置质量,以及通过从头开始训练策略生成的放置质量,训练数据集由 TPU 块和开源 Ariane RISC-V CPU 块组成,在每一个实验中,都对除目标块外的所有块预训练策略。

研究人员展示了零样本模式的结果,以及在特定设计上对预训练策略进行 2 小时和 12 小时微调后的结果。

从头开始训练的策略收敛时间要长得多,即使在 24 小时后(根据奖励函数评估),结果也比微调策略在 12h 内达到的效果还要差。这表明,在预训练期间接触许多不同的设计可以更快地为新的看不见的块生成更高质量的放置方案。

图 4 显示了从头开始训练与来自 Ariane RISC-V CPU30 的预训练策略网络的训练的收敛图。结果显示预训练策略不仅具有较低的放置成本,而且能比从头开始训练的策略收敛速度快 30 小时以上。

下图 5 展示了规模更大的训练集对性能的影响。研究者依次将训练集从 2 个 TPU 块增至 5 个,最后增至 20 个,策略网络在零样本和经过相同小时数的微调后均能生成更好的芯片布局。这表明,在将策略网络应用于更多不同类型的芯片设计过程中,它不易于出现过拟合,并且能够更好地泛化至新的未知芯片设计。

与基线方法对比

研究者将该方法与当前 SOTA 方法以及人类设计师团队完成的上一代 TPU 的产品设计进行了对比。为了公平起见,研究者确保所有方法使用相同的实验设置,包括相同的输入和 EDA 工具设置,并使用在最大数据集(20 个 TPU 块)上预先训练的 AI 策略,接着在 5 个目标不可见块上微调(时间少于 6 小时)。

结果如下表 1 所示,表明基于 AI 的方法在生成满足设计要求的高质量芯片布局方面是有效的,在面积、功率和线长方面均优于或媲美人类专家手动设计的效果。

为芯片设计过程的完全自动化奠定基础

谷歌称其系统泛化和生成高质量解决方案的能力具有重大影响,为芯片设计过程的早期优化提供了机会。以前,大规模的架构探索是不可能的,因为评估一个给定的架构候选需要花费数月的努力。然而,谷歌团队指出,修改芯片设计可能会对性能产生巨大影响,并可能为芯片设计过程的完全自动化奠定基础。

此外,由于谷歌团队的系统只是学习将一个图的节点映射到一组资源上,因此它可能适用于包括城市规划、疫苗测试和分发以及大脑皮层映射在内的一系列应用。

研究人员在论文中写道:「(虽然)我们的方法已经在生产中被用于设计下一代谷歌 TPU…… 我们相信,(它)可以应用于芯片设计以外的有影响力的布局问题。」

理论芯片设计TPU强化学习Nature谷歌Jeff Dean
1
相关数据
深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

机器学习技术

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

人工智能技术

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

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

张量技术

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

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

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

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

策略网络技术

在强化学习中,策略网络指一组相对稳定的关系,这些关系具有非等级和相互依赖的性质,将各个行为者(actor)联系起来。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

强化学习技术

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

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

图卷积神经网络技术

图卷积神经网络(Graph Convolutional Network)是一种能对图数据进行深度学习的方法。GCN的三个主要特征:它是卷积神经网络在 graph domain 上的自然推广;它能同时对节点特征信息与结构信息进行端对端学习;适用于任意拓扑结构的节点与图;

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