具有用以优化经生成以用于在人工神经网络的深度学习加速器上执行的指令的人工神经网络的编译器制造技术

技术编号:38467870 阅读:15 留言:0更新日期:2023-08-11 14:44
描述了与深度学习加速器和存储器相关的系统、装置和方法。举例来说,集成电路装置可配置成执行具有矩阵操作数的指令且配置成具有随机存取存储器(RAM)。一种编译器具有配置成识别用于待由编译器编译的人工神经网络和/或用于深度学习加速器的硬件平台的经优化编译选项的人工神经网络。所述编译器的人工神经网络可经由机器学习训练以基于待编译的所述人工神经网络的特征和/或将在其上执行编译器输出的所述硬件平台的特征识别经优化编译选项。出的所述硬件平台的特征识别经优化编译选项。出的所述硬件平台的特征识别经优化编译选项。

【技术实现步骤摘要】
【国外来华专利技术】具有用以优化经生成以用于在人工神经网络的深度学习加速器上执行的指令的人工神经网络的编译器
[0001]本申请要求2020年11月06日申请且名称为“具有用以优化经生成以用于在人工神经网络的深度学习加速器上执行的指令的人工神经网络的编译器(Compiler with an Artificial Neural Network to Optimize Instructions Generated for Execution on a Deep Learning Accelerator of Artificial Neural Networks)”的第17/092,040号美国专利申请,其全部公开内容由此以引用方式并入本文中。


[0002]本文所公开的至少一些实施例大体上涉及编译器,且更明确地说,但不限于用以生成可由加速器执行以实施人工神经网络(ANN)的指令的编译器,所述ANN例如通过机器学习和/或深度学习配置的ANN。

技术介绍

[0003]人工神经网络(ANN)使用神经元网络来处理到网络的输入,且生成网络的输出。
[0004]深度学习已应用于许多应用领域,例如计算机视觉、语音/音频辨识、自然语言处理、机器翻译、生物信息学、药物设计、医疗图像处理、游戏等。
附图说明
[0005]在附图的图式中作为实例而非限制示出实施例,在附图中,相同的参考标号指示类似元件。
[0006]图1示出根据一个实施例的具有经配置的深度学习加速器和随机存取存储器的集成电路装置。
[0007]图2示出根据一个实施例的配置成执行矩阵

矩阵操作的处理单元。
[0008]图3示出根据一个实施例的配置成执行矩阵

向量操作的处理单元。
[0009]图4展示根据一个实施例的配置成执行向量

向量操作的处理单元。
[0010]图5示出根据一个实施例的配置成向经训练人工神经网络自主地应用输入的深度学习加速器和随机存取存储器。
[0011]图6示出根据一个实施例的具有人工神经网络的编译器,所述人工神经网络用于将人工神经网络的描述转换成编译器输出以用于在深度学习加速器上执行。
[0012]图7示出根据一个实施例的使用人工神经网络生成编译策略。
[0013]图8和9示出根据一些实施例的用以训练编译器的人工神经网络的机器学习技术。
[0014]图10示出根据一个实施例的编译人工神经网络的描述以用于在深度学习加速器上实施的方法。
[0015]图11示出其中可操作本公开的实施例的示例计算机系统的框图。
具体实施方式
[0016]本文公开的至少一些实施例提供一种用于集成电路的编译器,所述集成电路配置成用更少的能量消耗和计算时间实施人工神经网络(ANN)的计算。此类集成电路装置可包含深度学习加速器(DLA)和随机存取存储器。编译器可使用人工神经网络来优化来自人工神经网络的描述的待编译的指令以用于在深度学习加速器上执行。随机存取存储器配置成存储人工神经网络(ANN)的参数和具有矩阵操作数的指令。存储于随机存取存储器中的指令可由深度学习加速器(DLA)执行以根据人工神经网络(ANN)执行矩阵计算。
[0017]举例来说,人工神经网络(ANN)可配置于编译器中以学习和预测编译策略的应用,以将人工神经网络映射到不同深度学习加速器硬件上。在训练周期中,编译器可使用不同编译策略来生成不同编译输出以用于在一或多个深度学习加速器上执行。编译策略可包含不同方式来实施人工神经网络的计算任务。编译策略可包含硬件选项的不同选择以在特定深度学习加速器上实施计算任务。执行深度学习加速器上的编译输出的性能测量可用于训练编译器的人工神经网络(ANN)预测生成指令以供深度学习加速器的特定平台执行的最优方式和/或硬件选项的最优选择。
[0018]举例来说,网络中的每一神经元接收一组输入。到神经元的一些输入可以是网络中的某些神经元的输出;且到神经元的一些输入可以是提供给神经网络的输入。所述网络中的神经元当中的输入/输出关系表示所述网络中的神经元连接性。
[0019]举例来说,每一神经元可具有偏置、激活函数,以及突触权重集,分别用于其输入。激活函数可呈阶跃函数、线性函数、对数S型(log

sigmoid)函数等形式。网络中的不同神经元可具有不同激活函数。
[0020]举例来说,每一神经元可生成其输入与其偏置的加权和,并且接着生成作为加权和的函数的输出,所述输出是使用神经元的激活函数计算出的。
[0021]ANN的输入与输出之间的关系一般来说是由ANN模型定义的,所述ANN模型包含表示网络中的神经元的连接性的数据,以及每个神经元的偏置、激活函数和突触权重。基于给定ANN模型,计算装置可配置成根据到网络的给定的一组输入计算网络的输出。
[0022]举例来说,到ANN网络的输入可基于相机输入而生成;并且来自ANN网络的输出可为例如事件或对象等项目的标识。
[0023]一般来说,可使用监督方法来训练ANN,其中调整ANN中的参数以最小化或减少与相应输入相关联或由相应输入生成的已知输出与经由将输入应用于ANN而生成的所计算输出之间的误差。监督学习/训练方法的实例包含强化学习和具有误差校正的学习。
[0024]替代地或组合地,可以使用非监督方法来训练ANN,其中由给定的一组输入生成的确切输出在所述训练完成之前是未知的。可训练ANN将项目分类成多个类别,或将数据点分类成集群。
[0025]可以采用多个训练算法用于复杂机器学习/训练范例。
[0026]深度学习使用机器学习的多个层以从输入数据逐渐地提取特征。举例来说,较低层可配置成识别图像中的边缘;且较高层可配置成基于使用较低层检测到的边缘识别图像中所捕获的项目,例如人脸、物件、事件等。深度学习可经由人工神经网络(ANN)实施,例如深度神经网络、深度信念网络、递归神经网络和/或卷积神经网络。
[0027]典型深度学习加速器(DLA)包含一组可编程硬件计算逻辑,所述可编程硬件计算
逻辑经专门化和/或优化以执行并行向量和/或矩阵计算,包含但不限于向量和/或者矩阵的相乘和累加。
[0028]此外,深度学习加速器可包含一或多个算术逻辑单元(ALU),用于对整数二进制数执行算术和逐位运算。
[0029]深度学习加速器经由指令集编程,以执行人工神经网络(ANN)的计算。
[0030]对向量和矩阵操作的深度学习加速器的粒度对应于可在由深度学习加速器执行一个指令期间在其上操作的向量/矩阵的最大单元。在对向量/矩阵操作数执行预定义操作的指令期间,深度学习加速器可以并行操作向量/矩阵操作数的元素,以减少与存储器/数据存取相关联的执行时间和/或能量消耗。对深度学习加速器的粒度的向量/矩阵操作数的操作可用作构建块以对较大大小的向量/矩阵实施计算。
[0031]典型/实际人工神经网络的实施涉及具有大于深度学习加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,其包括:在计算设备中接收表示第一人工神经网络的描述的数据;由所述计算设备使用第二人工神经网络基于所述第一人工神经网络且基于装置的能力选择编译选项;由所述计算设备根据表示所述人工神经网络的所述描述的所述数据生成编译器输出,所述编译器输出配置成在所述装置上执行以响应于到所述第一人工神经网络的输入而生成所述第一人工神经网络的输出;以及将所述编译器输出写入所述装置以实施所述第一批准神经网络。2.根据权利要求1所述的方法,其中所述第二人工神经网络配置成接收表示所述第一人工神经网络的特征的数据作为输入,且识别编译输出作为输出。3.根据权利要求2所述的方法,其中所述第二人工神经网络配置成接收表示所述装置的特征的数据作为输入,以识别所述编译输出。4.根据权利要求3所述的方法,其中所述第一人工神经网络的所述特征识别所述第一人工神经网络中的神经元连接模式。5.根据权利要求4所述的方法,其中所述装置的所述特征识别所述装置在执行矩阵操作方面的能力的性能水平模式。6.根据权利要求5所述的方法,其中所述装置的所述能力包含矩阵操作的粒度和可用于并行地执行一种类型的矩阵操作的处理单元的计数。7.根据权利要求6所述的方法,其中所述装置具有随机存取存储器和配置成执行矩阵操作的至少一个处理单元;且所述编译器输出包含表示所述第一人工神经网络的参数的第一数据和表示指令的第二数据,所述指令能够由所述至少一个处理单元执行以响应于到所述第一人工神经网络的所述输入而生成所述第一人工神经网络的所述输出。8.根据权利要求3所述的方法,其进一步包括:使用多个编译选项生成训练数据集;以及使用机器学习技术和所述训练数据集训练所述第二人工神经网络,以识别经优化编译选项作为所述第二人工神经网络的输出。9.根据权利要求8所述的方法,其中所述训练数据集的所述生成包括:使用所述多个编译选项生成多个编译器输出;以及确定所述多个编译器输出的性能水平。10.根据权利要求9所述的方法,其中所述性能水平的所述确定包含确定在所述装置上执行的所述多个编译器输出的性能水平。11.根据权利要求9所述的方法,其中所述性能水平的所述确定包含确定在多个装置上执行的所述多个编译器输出的性能水平,所述多个装置在执行矩阵操作方面具有不同特征。12.一种计算设备,其包括:存储器;以及至少一个微处理器,其配置成:接收表示第一人工神经网络的描述的数据;使用第二人工神经网络基于所述第一人工神经网络且基于将在其上实施所述第一人
工神经网络的装置选择编译选项;以及根据表示所述人工神经网络的所述描述的所述数据生成编译器输出,所述编译器输出配置成在所述装置上执行以响应于到所述第一人工神经网...

【专利技术属性】
技术研发人员:A
申请(专利权)人:美光科技公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1