当前位置: 首页 > 专利查询>苹果公司专利>正文

可扩展神经网络处理引擎制造技术

技术编号:26654203 阅读:47 留言:0更新日期:2020-12-09 00:59
本发明专利技术公开了涉及具有用于实例化一个或多个神经网络的可扩展架构的神经处理器电路的实施方案。所述神经处理器电路包括耦接到所述神经处理器电路外部的存储器的数据缓冲器,以及多个神经引擎电路。为了执行实例化神经网络的任务,每个神经引擎电路使用输入数据和内核系数来生成输出数据。神经处理器电路可包括根据任务的配置数据被选择性地激活或解激活的多个神经引擎电路。此外,电子设备可包括被选择性地激活或解激活以执行任务的多个神经处理器电路。

【技术实现步骤摘要】
【国外来华专利技术】可扩展神经网络处理引擎
技术介绍
1.
本公开涉及用于实现神经网络的电路,并且更具体地涉及对神经网络任务的可扩展处理。2.相关技术描述人工神经网络(ANN)是使用连接节点的集合来处理输入数据的计算系统或模型。ANN通常被组织成层,其中不同的层对其输入执行不同类型的转换。ANN的扩展或变体诸如卷积神经网络(CNN)、深度神经网络(DNN)、递归神经网络(RNN)和深度信念网络(DBN)已受到大量关注。这些计算系统或模型通常涉及广泛的计算操作,包括相乘和累加。例如,CNN是一类主要使用输入数据和内核数据之间的卷积的机器学习技术,卷积可分解为相乘和累加操作。根据输入数据的类型和待执行的操作,这些机器学习系统或模型可被不同地配置。此类变化的配置将包括例如预处理操作、输入数据中的通道数量、待使用的内核数据、待应用于卷积结果的非线性函数以及各种后处理操作的应用。使用中央处理单元(CPU)及其主存储器来实例化和执行各种配置的机器学习系统或模型相对容易,因为此类系统或模型仅通过更新代码即可实例化。然而,仅依赖于CPU进行这些机器学习系统或模型的各种操作将消耗中央处理单元(CPU)的大量带宽以及增加总体功率消耗。
技术实现思路
实施方案涉及具有用于实例化一个或多个神经网络的可扩展架构的神经处理器电路。神经处理器电路可包括多个引擎电路,这些引擎电路根据配置数据被选择性地激活或解激活以支持对输入数据的并行处理,该配置数据对神经处理器电路进行编程以实例化或实现神经网络。神经处理器电路包括多个神经引擎电路、数据缓冲器以及内核提取电路。神经引擎电路被选择性地激活,并且这些神经引擎电路中的每个神经引擎电路被配置为对输入数据和内核系数执行卷积操作以生成输出数据。数据缓冲器位于该多个神经引擎电路与神经处理器电路外部的存储器之间。数据缓冲器存储来自存储器的输入数据以用于发送到神经引擎电路以及从神经引擎电路接收的输出数据。内核提取电路从神经处理器电路外部的存储器接收内核数据,并且将从内核数据提取的对应内核系数发送到被选择用于激活的神经引擎电路。在一些实施方案中,神经任务管理器电路被配置为向神经引擎电路提供配置数据以激活或解激活用于任务的神经引擎电路中的一个或多个神经引擎电路。在一些实施方案中,数据缓冲器响应于从神经任务管理器电路接收到配置数据而分配存储器空间以用于存储输入数据和输出数据。在一些实施方案中,内核提取电路响应于从神经任务管理器接收到配置数据而分配存储器空间以用于存储内核数据。在一些实施方案中,神经任务管理器电路被配置为向神经处理器电路提供配置数据以激活或解激活用于任务的神经处理器电路。电子设备可包括被选择性地激活或解激活的多个神经处理器电路。在一些实施方案中,神经处理器电路的多个神经引擎电路被选择性地激活。神经引擎电路中的每个神经引擎电路被配置为对输入数据和内核系数执行卷积操作以生成输出数据。输入数据存储在神经引擎电路的数据缓冲器中以用于发送到神经引擎电路,以及从神经引擎电路接收的输出数据。从内核数据提取的对应内核系数被发送到被选择用于激活的神经引擎电路。附图说明图1是根据实施方案的电子设备的高级图。图2是示出根据一个实施方案的电子设备中的部件的框图。图3是示出根据一个实施方案的神经处理器电路的框图。图4是根据一个实施方案的神经处理器电路中的神经引擎的框图。图5是示出根据一个实施方案的用于在神经处理器电路处处理输入数据的回路的概念图。图6是示出根据一个实施方案的将输入数据分段成切片、图块和工作单元的概念图。图7是示出根据一个实施方案的神经处理器电路的部件中的光栅器的编程的图。图8是示出根据一个实施方案的在神经处理器电路中处理输入数据的方法的流程图。图9是示出根据一个实施方案的由任务的任务列表表示的神经网络的示意性框图。图10是示出根据一个实施方案的神经任务管理器的框图。图11是示出根据一个实施方案的使用任务队列取回任务描述符的图。图12是示出根据一个实施方案的任务描述符的图。图13是示出根据一个实施方案的神经任务管理器的获取队列和配置队列的框图。图14是示出根据一个实施方案的在神经处理器电路中对任务进行管理的方法的流程图。图15是示出根据一个实施方案的电子设备中的多个神经处理器电路的框图。图16是示出根据一个实施方案的神经引擎的内核提取电路的框图。图17是示出根据一个实施方案的利用可扩展神经处理器电路处理输入数据的方法的流程图。仅仅出于示例目的,附图描绘以及详细说明描述各种非限定性实施方案。具体实施方式现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。然而,可以在没有这些具体细节的情况下实施所述实施方案。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。本公开的实施方案涉及可扩展神经处理器电路,该可扩展神经处理器电路包括可被选择性地激活以实例化神经网络的多个神经引擎。对于处理周期,神经处理器电路的数据缓冲器(例如,耦接到系统存储器以及第一神经引擎电路和第二神经引擎电路)向有源神经引擎电路中的每个神经引擎电路提供输入数据。有源神经引擎电路中的每个神经引擎电路可将不同的内核系数应用于输入数据以生成不同的输出数据。还可修改数据缓冲器和存储内核数据的内核存储器的大小。示例性电子设备本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如个人数字助理(PDA)和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自AppleInc.(Cupertino,California)的设备、iPod设备、Apple设备和设备。可选地使用其他便携式电子设备,诸如可穿戴设备、膝上型电脑或平板计算机。在一些实施方案中,该设备不是便携式通信设备,而是台式计算机或不是为便携式使用而设计的其他计算设备。在一些实施方案中,所公开的电子设备可包括触敏表面(例如,触摸屏显示器和/或触摸板)。下文结合图1描述的示例电子设备(例如,设备100)可包括用于接收用户输入的触敏表面。电子设备还可包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。图1是根据一个实施方案的电子设备100的高级图。设备100可包括一个或多个物理按钮,诸如“home”按钮或菜单按钮104。菜单按钮104例如用于导航到在设备100上执行的一组应用程序中的任何应用程序。在一些实施方案中,菜单按钮104包括识别菜单按钮104上的指纹的指纹传感器。指纹传感器能够被用来确定菜单按钮104上的手指是否具有与为解锁设备100存储的指纹匹配的指纹。另选地,在一些实施方案中,菜单按钮104被实现为触摸本文档来自技高网...

【技术保护点】
1.一种神经处理器电路,包括:/n多个神经引擎电路,所述多个神经引擎电路被选择性地激活,所述神经引擎电路中的每个神经引擎电路被配置为对输入数据和内核系数执行卷积操作以生成输出数据;/n数据缓冲器,所述数据缓冲器位于所述多个神经引擎电路与所述神经处理器电路外部的存储器之间,所述数据缓冲器被配置为存储来自所述存储器的所述输入数据以用于发送到所述神经引擎电路以及从所述神经引擎电路接收的所述输出数据;以及/n内核提取电路,所述内核提取电路被配置为从所述神经处理器电路外部的所述存储器接收内核数据,所述内核提取电路被配置为将从所述内核数据提取的对应内核系数发送到被选择用于激活的神经引擎电路。/n

【技术特征摘要】
【国外来华专利技术】20180504 US 15/971,8821.一种神经处理器电路,包括:
多个神经引擎电路,所述多个神经引擎电路被选择性地激活,所述神经引擎电路中的每个神经引擎电路被配置为对输入数据和内核系数执行卷积操作以生成输出数据;
数据缓冲器,所述数据缓冲器位于所述多个神经引擎电路与所述神经处理器电路外部的存储器之间,所述数据缓冲器被配置为存储来自所述存储器的所述输入数据以用于发送到所述神经引擎电路以及从所述神经引擎电路接收的所述输出数据;以及
内核提取电路,所述内核提取电路被配置为从所述神经处理器电路外部的所述存储器接收内核数据,所述内核提取电路被配置为将从所述内核数据提取的对应内核系数发送到被选择用于激活的神经引擎电路。


2.根据权利要求1所述的神经处理器电路,还包括神经任务管理器电路,所述神经任务管理器电路被配置为向所述神经引擎电路提供配置数据以激活或解激活用于任务的所述神经引擎电路中的一个或多个神经引擎电路。


3.根据权利要求2所述的神经处理器电路,其中所述数据缓冲器被进一步配置为:响应于从所述神经任务管理器电路接收到所述配置数据,而分配存储器空间以用于存储所述输入数据和所述输出数据。


4.根据权利要求3所述的神经处理器电路,其中所述神经处理器电路包括耦接到所述存储器和所述数据缓冲器的缓冲器直接存储器存取(DMA),所述缓冲器DMA被配置为从所述存储器取回所述输入数据并根据所述配置数据将所述输入数据提供到所述数据缓冲器的所述存储器空间。


5.根据权利要求2所述的神经处理器电路,其中所述内核提取电路被进一步配置为:响应于从所述神经任务管理器接收到所述配置数据,而分配存储器空间以用于存储所述内核数据。


6.根据权利要求2所述的神经处理器电路,还包括耦接到所述系统存储器的处理器,所述处理器被配置为生成定义实例化一个或多个神经网络的任务的所述配置数据。


7.根据权利要求2所述的神经处理器电路,其中所述多个神经引擎电路中的每个神经引擎电路在被解激活时以功率节省模式操作。


8.根据权利要求1所述的神经处理器电路,还包括神经任务管理器电路,所述神经任务管理器电路被配置为向所述神经处理器电路提供配置数据以激活或解激活用于任务的所述神经处理器电路。


9.根据权利要求8所述的神经处理器电路,其中所述神经处理器电路在被解激活时以功率节省模式操作。


10.一种用于处理输入数据的方法,包括:
选择性地激活神经处理器电路的多个神经引擎电路,所述神经引擎电路中的每个神经引擎电路被配置为对...

【专利技术属性】
技术研发人员:E·诺登L·菲谢尔朴盛熙申宰杬C·米尔斯李丞镇F·穆基卡
申请(专利权)人:苹果公司
类型:发明
国别省市:美国;US

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

1