技术新讯 > 计算推算,计数设备的制造及其应用技术 > 可扩展神经网络处理引擎的制作方法  >  正文

可扩展神经网络处理引擎的制作方法

  • 国知局
  • 2024-07-31 23:06:52

本公开涉及用于实现神经网络的电路,并且更具体地涉及对神经网络任务的可扩展处理。

背景技术:

1、人工神经网络(ann)是使用连接节点的集合来处理输入数据的计算系统或模型。ann通常被组织成层,其中不同的层对其输入执行不同类型的转换。ann的扩展或变体诸如卷积神经网络(cnn)、深度神经网络(dnn)、递归神经网络(rnn)和深度信念网络(dbn)已受到大量关注。这些计算系统或模型通常涉及广泛的计算操作,包括相乘和累加。例如,cnn是一类主要使用输入数据和内核数据之间的卷积的机器学习技术,卷积可分解为相乘和累加操作。

2、根据输入数据的类型和待执行的操作,这些机器学习系统或模型可被不同地配置。此类变化的配置将包括例如预处理操作、输入数据中的通道数量、待使用的内核数据、待应用于卷积结果的非线性函数以及各种后处理操作的应用。使用中央处理单元(cpu)及其主存储器来实例化和执行各种配置的机器学习系统或模型相对容易,因为此类系统或模型仅通过更新代码即可实例化。然而,仅依赖于cpu进行这些机器学习系统或模型的各种操作将消耗中央处理单元(cpu)的大量带宽以及增加总体功率消耗。

技术实现思路

1、实施方案涉及具有用于实例化一个或多个神经网络的可扩展架构的神经处理器电路。神经处理器电路可包括多个引擎电路,这些引擎电路根据配置数据被选择性地激活或解激活以支持对输入数据的并行处理,该配置数据对神经处理器电路进行编程以实例化或实现神经网络。神经处理器电路包括多个神经引擎电路、数据缓冲器以及内核提取电路。神经引擎电路被选择性地激活,并且这些神经引擎电路中的每个神经引擎电路被配置为对输入数据和内核系数执行卷积操作以生成输出数据。数据缓冲器位于该多个神经引擎电路与神经处理器电路外部的存储器之间。数据缓冲器存储来自存储器的输入数据以用于发送到神经引擎电路以及从神经引擎电路接收的输出数据。内核提取电路从神经处理器电路外部的存储器接收内核数据,并且将从内核数据提取的对应内核系数发送到被选择用于激活的神经引擎电路。

2、在一些实施方案中,神经任务管理器电路被配置为向神经引擎电路提供配置数据以激活或解激活用于任务的神经引擎电路中的一个或多个神经引擎电路。

3、在一些实施方案中,数据缓冲器响应于从神经任务管理器电路接收到配置数据而分配存储器空间以用于存储输入数据和输出数据。

4、在一些实施方案中,内核提取电路响应于从神经任务管理器接收到配置数据而分配存储器空间以用于存储内核数据。

5、在一些实施方案中,神经任务管理器电路被配置为向神经处理器电路提供配置数据以激活或解激活用于任务的神经处理器电路。电子设备可包括被选择性地激活或解激活的多个神经处理器电路。

6、在一些实施方案中,神经处理器电路的多个神经引擎电路被选择性地激活。神经引擎电路中的每个神经引擎电路被配置为对输入数据和内核系数执行卷积操作以生成输出数据。输入数据存储在神经引擎电路的数据缓冲器中以用于发送到神经引擎电路,以及从神经引擎电路接收的输出数据。从内核数据提取的对应内核系数被发送到被选择用于激活的神经引擎电路。

7、图1是根据实施方案的电子设备的高级图。

8、图2是示出根据一个实施方案的电子设备中的部件的框图。

9、图3是示出根据一个实施方案的神经处理器电路的框图。

10、图4是根据一个实施方案的神经处理器电路中的神经引擎的框图。

11、图5是示出根据一个实施方案的用于在神经处理器电路处处理输入数据的回路的概念图。

12、图6是示出根据一个实施方案的将输入数据分段成切片、图块和工作单元的概念图。

13、图7是示出根据一个实施方案的神经处理器电路的部件中的光栅器的编程的图。

14、图8是示出根据一个实施方案的在神经处理器电路中处理输入数据的方法的流程图。

15、图9是示出根据一个实施方案的由任务的任务列表表示的神经网络的示意性框图。

16、图10是示出根据一个实施方案的神经任务管理器的框图。

17、图11是示出根据一个实施方案的使用任务队列取回任务描述符的图。

18、图12是示出根据一个实施方案的任务描述符的图。

19、图13是示出根据一个实施方案的神经任务管理器的获取队列和配置队列的框图。

20、图14是示出根据一个实施方案的在神经处理器电路中对任务进行管理的方法的流程图。

21、图15是示出根据一个实施方案的电子设备中的多个神经处理器电路的框图。

22、图16是示出根据一个实施方案的神经引擎的内核提取电路的框图。

23、图17是示出根据一个实施方案的利用可扩展神经处理器电路处理输入数据的方法的流程图。

24、仅仅出于示例目的,附图描绘以及详细说明描述各种非限定性实施方案。

技术特征:

1.一种神经处理器电路,包括:

2.根据权利要求1所述的神经处理器电路,其中所述数据缓冲器在所述多个神经引擎电路间被共享,所述数据缓冲器与所述神经处理器电路外部的存储器通信,所述数据缓冲器被配置为存储来自所述存储器的所述输入数据以用于发送到所述神经引擎电路以及从所述神经引擎电路的不同后处理器接收的所述输出数据。

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

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

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

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

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

8.根据权利要求1所述的神经处理器电路,其中所述神经任务管理器电路还被配置为基于任务列表将任务存储在任务队列中。

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

10.一种用于处理输入数据的方法,包括:

11.根据权利要求10所述的方法,还包括从所述神经引擎的不同后处理器接收所述输出数据。

12.根据权利要求10所述的方法,还包括响应于所述配置数据来分配所述数据缓冲器的存储器空间以用于存储所述输入数据和所述输出数据。

13.根据权利要求12所述的方法,还包括从存储器取回所述输入数据并根据所述配置数据将所述输入数据提供到所述数据缓冲器的所述存储器空间。

14.根据权利要求10所述的方法,还包括:

15.根据权利要求10所述的方法,还包括生成定义实例化一个或多个神经网络的任务的所述配置数据。

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

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

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

19.一种包括神经处理器电路的集成电路ic系统,所述神经处理器电路包括:

20.根据权利要求19所述的ic系统,其中所述数据缓冲器在所述多个神经引擎电路间被共享,所述数据缓冲器与所述神经处理器电路外部的存储器通信,所述数据缓冲器被配置为存储来自所述存储器的所述输入数据以用于发送到所述神经引擎电路以及从所述神经引擎电路的不同后处理器接收的所述输出数据。

技术总结本公开涉及可扩展神经网络处理引擎。本发明公开了涉及具有用于实例化一个或多个神经网络的可扩展架构的神经处理器电路的实施方案。所述神经处理器电路包括耦接到所述神经处理器电路外部的存储器的数据缓冲器,以及多个神经引擎电路。为了执行实例化神经网络的任务,每个神经引擎电路使用输入数据和内核系数来生成输出数据。神经处理器电路可包括根据任务的配置数据被选择性地激活或解激活的多个神经引擎电路。此外,电子设备可包括被选择性地激活或解激活以执行任务的多个神经处理器电路。技术研发人员:E·诺登,L·菲谢尔,朴盛熙,申宰杬,C·米尔斯,李丞镇,F·穆基卡受保护的技术使用者:苹果公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/196023.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。