使用多个深度学习加速器实施人工神经网络的计算制造技术

技术编号:38482160 阅读:15 留言:0更新日期:2023-08-15 16:59
描述了与深度学习加速器和存储器相关的系统、装置和方法。举例来说,集成电路装置可配置成执行具有矩阵操作数的指令且配置成具有随机存取存储器(RAM)。编译器可识别人工神经网络的多个部分以分别在多个此类集成电路装置上实施。所述编译器将所述人工神经网络的描述转换成可在多个装置上执行的多个编译器输出,以生成响应到所述人工神经网络的输入的人工神经网络的输出。在生成所述人工神经网络的输出时,在所述装置之间传送中间结果。在所述装置之间传送中间结果。在所述装置之间传送中间结果。

【技术实现步骤摘要】
【国外来华专利技术】使用多个深度学习加速器实施人工神经网络的计算
[0001]相关申请
[0002]本申请要求于2020年11月6日申请且名称为“使用多个深度学习加速器实施人工神经网络的计算(Implement the Computation of An Artificial Neural Network Using Multiple Deep Learning Accelerators)”的第17/092,038号美国专利申请的优先权,其全部公开内容由此以引用的方式并入本文中。


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

技术介绍

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

矩阵操作的处理单元。
[0009]图3示出根据一个实施例的配置成执行矩阵
/>向量操作的处理单元。
[0010]图4示出根据一个实施例的配置成执行向量

向量操作的处理单元。
[0011]图5示出根据一个实施例的配置成向经训练人工神经网络自主地应用输入的深度学习加速器和随机存取存储器。
[0012]图6示出根据一个实施例的将人工神经网络的描述转换成编译器输出以供在多个深度学习加速器上执行的编译器。
[0013]图7示出根据一个实施例的配置成使用多个深度学习加速器实施的人工神经网络的多个部分。
[0014]图8和9示出根据一些实施例的多个深度学习加速器之间的协作以实施人工神经网络。
[0015]图10示出根据一个实施例的编译人工神经网络的描述以用于使用深度学习加速器实施的方法。
[0016]图11示出其中可操作本公开的实施例的示例计算机系统的框图。
具体实施方式
[0017]本文公开的至少一些实施例提供一种用于集成电路的编译器,所述集成电路配置成用更少的能量消耗和计算时间实施人工神经网络(ANN)的计算。此类集成电路装置可包含深度学习加速器(DLA)和随机存取存储器。随机存取存储器配置成存储人工神经网络(ANN)的参数和具有矩阵操作数的指令。存储于随机存取存储器中的指令可由深度学习加速器(DLA)执行以根据人工神经网络(ANN)执行矩阵计算。编译器可生成使用多个深度学习加速器实施人工神经网络的指令。
[0018]举例来说,编译器可识别人工神经网络(ANN)的多个部分以用于分别在多个深度学习加速器上实施。多个深度学习加速器可具有不同硬件,且因此可不为均质的。“深度学习加速器”可由编译器引导彼此协作以实施人工神经网络(ANN)。
[0019]举例来说,可互连架构和计算能力不同的深度学习加速器以形成系统。任选地,可在不同系统中使用深度学习加速器中不同类型的连接。任选地,编译器可自动检测或发现深度学习加速器的多组硬件的特征和能力和/或其间通信带宽的特性。编译器以优化系统的总体性能的方式将人工神经网络(ANN)的计算划分为分布到多组硬件的任务。
[0020]举例来说,网络中的每一神经元接收一组输入。到神经元的一些输入可以是网络中的某些神经元的输出;且到神经元的一些输入可以是提供给神经网络的输入。所述网络中的神经元当中的输入/输出关系表示所述网络中的神经元连接性。
[0021]举例来说,每一神经元可具有偏置、激活函数,以及突触权重集,分别用于其输入。激活函数可呈阶跃函数、线性函数、对数S型(log

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

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,其包括:在计算设备中接收表示人工神经网络的描述的数据;通过所述计算设备识别所述人工神经网络的多个部分;以及通过所述计算设备根据表示所述人工神经网络的所述描述的所述数据生成配置成将分别在多个装置上执行的多个编译器输出,其中所述多个编译器输出能够在所述多个装置上执行以响应于到所述人工神经网络的输入而生成所述人工神经网络的输出。2.根据权利要求1所述的方法,其进一步包括:对于所述编译器输出中的每一个,生成表示所述人工神经网络的所述多个部分当中的相应部分的参数的第一数据和表示能够在所述多个装置当中的相应装置上执行的指令的第二数据。3.根据权利要求2所述的方法,其进一步包括:在多个所述装置上依序执行所述编译器输出的至少一部分。4.根据权利要求3所述的方法,其进一步包括:执行所述多个编译器输出中的第一编译器输出以生成所述人工神经网络中的中间结果,且指示执行所述第一编译器输出的第一装置将所述中间结果写入执行所述多个编译器输出中的第二编译器输出的第二装置的随机存取存储器中。5.根据权利要求3所述的方法,其进一步包括:执行所述多个编译器输出中的第一编译器输出以生成所述人工神经网络中的中间结果,且指示执行所述第一编译器输出的第一装置将所述中间结果的可用性告知所述多个装置中的一或多个第二装置。6.根据权利要求5所述的方法,其进一步包括:在所述一或多个第二装置上分别执行所述多个编译器输出中的一或多个编译器输出,以指示所述一或多个第二装置从所述第一装置的随机存取存储器读取所述中间结果。7.根据权利要求2所述的方法,其进一步包括:在生成所述人工神经网络的所述输出的同时在多个所述装置上执行所述编译器输出的至少一部分。8.根据权利要求7所述的方法,其进一步包括:选择所述人工神经网络的所述多个部分,以减少到所述人工神经网络的所述输入与所述人工神经网络的所述输出之间的等待时间。9.根据权利要求7所述的方法,其进一步包括:选择所述人工神经网络的所述多个部分当中的第一部分和所述多个部分当中的第二部分,以使所述人工神经网络中一组重叠的人工神经元减少到所述人工神经网络的所述输入与所述人工神经网络的所述输出之间的等待时间。10.根据权利要求2所述的方法,其进一步包括:将所述多个编译器输出分别写入所述多个装置中,以将所述多个装置配置成执行所述人工神经网络的矩阵计算。11.一种计算设备,其包括:存储器;以及至少一个微处理器,其配置成:
接收表示人工神经网络的描述的数据;识别所述人工神经网络的多个部分;以及根据表示所述人工神经网络的所述描述的所述数据生成配置成将分别在多个装置上执行的多个编译器输出,其中所述多个编译器输出能够在所述多个装置上执行以响应于到所述人工神经网络的输入而生成所...

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

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

1