基于神经网络系统的数据处理方法及神经网络电路技术方案

技术编号:36155299 阅读:9 留言:0更新日期:2022-12-31 20:01
一种基于神经网络系统的数据处理方法及神经网络电路,涉及人工智能(AI)技术领域。该数据处理方法可以由神经网络系统中的至少一个计算节点执行,该方法包括:对输入数据中的第一部分数据进行第一神经网络层计算,获得第一计算结果;然后对第一计算结果进行第二神经网络层计算,获得第二计算结果;在获得第二计算结果之后,对上述输入数据中的第二部分数据进行第一神经网络层计算。该方法能够极大地减小神经网络运算所需的缓存。小神经网络运算所需的缓存。小神经网络运算所需的缓存。

【技术实现步骤摘要】
基于神经网络系统的数据处理方法及神经网络电路


[0001]本申请实施例涉及人工智能(artificial intelligence,AI)
,尤其涉及一种基于神经网络系统的数据处理方法及神经网络电路。

技术介绍

[0002]在基于神经网络(neural network)系统的数据处理领域中,神经网络的运算任务越来越复杂,神经网络的节点(也可以称为神经元或神经元节点)对应的数据量也越来越大,如此,神经网络的数据存储和管理面临巨大的挑战。
[0003]神经网络的一个网络层的输出数据是下一个网络层的输入数据,目前,在一种神经网络系统(也可以称为神经网络加速器)中,按照神经网络层的连接方式逐层地对神经网络的运算数据进行存储和管理。具体的,在完成一个网络层的所有神经元节点对应的运算,得到该网络层的输出数据之后,在神经网络系统中缓存该网络层的输出数据,如此,当下一个网络层启动运算时,可以调度上一个网络层的输出数据作为该下一个网络层的输入数据。
[0004]上述神经网络系统中,以网络层为单位存储和管理神经网络的数据,神经网络系统的缓存满足多个网络层中缓存量最大的一个网络层的缓存需求即可,例如,上述神经网络系统的缓存设计为64千字节(Kilobyte,KB),然而,随着神经网络的数据量继续增大,该神经网络系统可能不能满足数据的存储需求。

技术实现思路

[0005]本申请实施例提供一种基于神经网络系统的数据处理方法及神经网络电路,能够极大地减小神经网络运算所需的缓存。
[0006]为达到上述目的,本申请实施例采用如下技术方案:
[0007]第一方面,本申请实施例提供一种基于神经网络系统的数据处理方法,该方法由神经网络系统中的至少一个计算节点执行,该方法包括:对输入数据中的第一部分数据进行第一神经网络层计算,获得第一计算结果;然后对第一计算结果进行第二神经网络层计算,获得第二计算结果;在获得第二计算结果之后,对输入数据中的第二部分数据进行第一神经网络层计算。
[0008]可选地,第一神经网络层为神经网络中除输出层之外的网络层中的任意一个网络层,该第一神经网络层的下一个网络层为第二神经网络层。
[0009]本申请实施例提供的基于神经网络系统的数据处理方法中,在至少一个计算节点上分时交替地执行不同神经网络层的计算任务,并且切换到某一个神经网络层计算时,至少一个计算节点是对该神经网络层的部分数据进行计算的,因此,该至少一个节点仅需缓存该神经网络层的部分数据的计算结果,无需缓存该神经网络层的全部数据的计算结果,可见能够极大地减小神经网络运算所需的缓存。
[0010]一种可能的实现方式中,本申请实施例提供的基于神经网络系统的数据处理方法
还包括:接收神经网络系统中的控制器发送的第一流控信息,该第一流控信息用于指示对第一部分数据进行第一神经网络层计算;并且接收控制器发送的第二流控信息,该第二流控信息用于指示对第一计算结果进行第二神经网络层计算。
[0011]可以理解的是,上述第一神经网络层的输入数据中的第一部分数据可以是第一神经网络层的N1次神经网络运算所对应的数据。在神经网络系统启动计算之后,控制器确定第一神经网络层的N1次神经网络计算可以驱动第二神经网络层的M1次神经网络计算,其中,N1为小于N的正整数,N1≥1,M1为小于M的正整数,M1≥1,则控制器向至少一个计算节点发送第一流控信息,以指示至少一个计算节点对第一神经网络层的输入数据中的第一部分数据进行第一神经网络层计算。其中,第一神经网络层的输入数据被划分为N个数据单元,第二神经网络层的输入数据被划分为M个数据单元,如此,第一神经网络层包括N次神经网络计算,第二神经网络层包括M次神经网络计算,M,N分别为大于或等于2的正整数。应理解,上述一个数据单元是对输入数据进行滑窗操作得到。
[0012]本申请实施例中,神经网络系统中的控制器可以通过发送流控信息指示至少一个计算节点分时交替地执行不同神经网络层的计算任务,使得数据处理过程更加灵活,并且能够减小神经网络运算所需的缓存。
[0013]一种可能的实现方式中,本申请实施例提供的基于神经网络系统的数据处理方法还包括:在对第二部分数据进行第一神经网络层计算之前,对第二计算结果进行第三神经网络层计算。
[0014]本申请实施例中,至少一个计算节点完成第二流控信息所指示的第二神经网络层计算之后,至少一个计算节点还可能继续对第二计算结果进行第三神经网络层计算,以及后续的神经网络层计算(例如第四神经网络层计算),当完成第三神经网络层计算(可以是部分计算)以及后续的神经网络层计算(可以是部分计算)之后,控制器再向至少一个计算节点发送第三流控信息。
[0015]一种可能的实现方式中,本申请实施例提供的基于神经网络系统的数据处理方法还包括:从控制器接收用于神经网络层计算的输入数据(例如第一神经网络层的输入数据)。本申请实施例中,控制器确定第一神经网络层的N1次神经网络计算可以驱动第二神经网络层的M1次神经网络计算的情况下,控制器读取第一神经网络层的第一部分数据,然后控制器向至少一个计算节点发送第一部分数据。
[0016]可选地,当第一神经网络层为神经网络的第一个神经网络层时,控制器可以从输入数据缓存单元中第一神经网络层的第一部分数据,然后发送至至少一个计算节点。当第一神经网络层为神经网络的其他神经网络层时,控制器可以从数据管理单元(存储有神经网络的中间层的计算结果)读取第一神经网络层的第一部分数据。
[0017]一种可能的实现方式中,本申请实施例提供的基于神经网络系统的数据处理方法还包括:接收控制器发送的第一指示信息,该第一指示信息用于指示用于神经网络层计算的输入数据的地址。
[0018]本申请实施例中,控制器确定第一神经网络层的N1次神经网络计算可以驱动第二神经网络层的M1次神经网络计算的情况下,控制器并不直接从输入数据缓存单元或数据管理单元中读取第一神经网络层的第一部分数据,控制器向至少一个节点发送第一指示信息,然后至少一个计算节点根据该第一指示信息指示的地址从输入数据缓存单元或数据管
理单元的中读取第一神经网络层的第一部分数据。
[0019]一种可能的实现方式中,控制器中存储有神经网络层的输入数据的驱动方式,输入数据的驱动方式包括数据驱动方式或命令驱动方式,当控制器中存储的输入数据的驱动方式是数据驱动方式时,控制器从输入数据缓存单元或数据管理单元中读取神经网络层的部分数据(例如第一部分数据),然后将读取的神经网络层的部分数据发送至至少一个计算节点;当控制器中存储的输入数据的驱动方式是命令驱动方式时,控制器向至少一个计算节点发送命令,例如上述第一指示信息,以指示至少一个计算节点从输入数据缓存单元或数据管理单元中读取神经网络层的部分数据。
[0020]一种可能的实现方式中,上述对输入数据中的第一部分数据进行第一神经网络层计算,获得第一计算结果的方法包括:获取第一神经网络层计算对应的算子类型;根据第一神经网络层计算对应的算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络系统的数据处理方法,其特征在于,所述方法由所述神经网络系统中的至少一个计算节点执行,所述方法包括:对输入数据中的第一部分数据进行第一神经网络层计算,获得第一计算结果;对所述第一计算结果进行第二神经网络层计算,获得第二计算结果;在获得所述第二计算结果之后,对所述输入数据中的第二部分数据进行所述第一神经网络层计算。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述神经网络系统中的控制器发送的第一流控信息,所述第一流控信息用于指示对所述第一部分数据进行第一神经网络层计算;接收所述控制器发送的第二流控信息,所述第二流控信息用于指示对所述第一计算结果进行第二神经网络层计算。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在对所述第二部分数据进行所述第一神经网络层计算之前,对所述第二计算结果进行第三神经网络层计算。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:从所述控制器接收所述输入数据。5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:接收所述控制器发送的第一指示信息,所述第一指示信息用于指示所述输入数据的地址。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对输入数据中的第一部分数据进行第一神经网络层计算,获得第一计算结果,包括:获取所述第一神经网络层计算对应的算子类型;根据所述第一神经网络层计算对应的算子类型,对输入数据中的第一部分数据进行第一神经网络层计算,获取所述第一计算结果。7.一种基于神经网络系统的数据处理方法,其特征在于,所述方法由所述神经网络系统中的控制器执行,所述方法包括:向所述神经网络系统中的至少一个计算节点发送第一流控信息,所述第一流控信息用于指示对输入数据中的第一部分数据进行第一神经网络层计算以获得第一计算结果;向所述至少一个计算节点发送第二流控信息,所述第二流控信息用于指示对所述第一计算结果进行第二神经网络层计算以获得第二计算结果;在向所述至少一个计算节点发送第二流控信息之后,向所述至少一个计算节点发送第三流控信息,所述第三流控信息用于指示对所述输入数据中的第二部分数据进行所述第一神经网络层计算。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在向所述至少一个计算节点发送所述第三流控信息之前,向所述至少一个计算节点发送第四流控信息,所述第四流控信息用于指示对所述第二计算结果进行第三神经网络运算。9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:向所述至少一个计算节点发送所述输入数据。
10.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:向所述至少一个计算节点发送第一指示信息,所述第一指示信息用于指示所述输入数据的地址。11.根据权利要求7至10中任一项所述的方法,其特征在于,所述方法还包括:向所述至少一个计算节点发送...

【专利技术属性】
技术研发人员:李鸽子范福杰陈云
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1