神经网络计算设备及其控制方法技术

技术编号:36654479 阅读:18 留言:0更新日期:2023-02-18 13:19
提供了一种神经网络计算设备。该神经网络计算设备包括存储器和处理器,该存储器包括多个存储器层次,该处理器被配置为:执行针对神经网络计算数据的第一移动的第一调度,其中神经网络计算数据在第一存储器层次和第二存储器层次之间发送和接收并且第二存储器层次具有比第一存储器层次的级别更高的级别,在第一调度被执行之后,执行针对神经网络计算数据的第二移动的第二调度,其中神经网络计算数据在第二存储器层次和第三存储器层次之间发送和接收并且第三存储器层次具有比第二存储器层次的级别更高的级别,以及基于第一调度的结果和第二调度的结果来识别用于执行卷积操作的神经网络计算调度。神经网络计算调度。神经网络计算调度。

【技术实现步骤摘要】
神经网络计算设备及其控制方法
[0001]相关申请的交叉引用
[0002]本申请要求2021年8月9日在韩国知识产权局提交的韩国专利申请第10

2021

0104333号以及在2022年8月5日提交的韩国专利申请第10

2022

0098128号的优先权,其公开内容通过引用全部并入本文。


[0003]本公开涉及一种用于快速确定神经网络计算调度的神经网络计算设备和方法,该神经网络计算调度用作确定何时以及何处在神经网络计算设备中存储卷积操作所需数据的准则。

技术介绍

[0004]随着人工神经网络技术已经被开发,许多具有用于快速处理卷积操作的神经网络计算设备的硬件被开发出来。
[0005]卷积操作所需的数据存储在神经网络计算设备的存储器中并用于卷积操作,当执行卷积操作时,这些数据中的一些可以在多个存储器层次中的每一个层次中被重复使用。神经网络计算数据在没有规则的情况下不能在相邻存储器层次之间发送和接收。因此,包括硬件映射和数据流的神经网络计算调度需要通过被称为调度的过程来确定。
[0006]一旦神经网络计算调度被确定,神经网络计算设备就能够计算执行卷积操作所必需的计算成本。也就是说,当存在多个调度候选时,可以为每个调度候选计算计算成本,并且可以通过比较计算成本来确定用于执行卷积操作的最优调度。
[0007]然而,取决于具有多维结构的神经网络数据和神经网络计算设备的硬件规格,可能存在无数个适用于神经网络计算设备的调度候选。如果为了确定具有最低计算成本的调度而要为所有调度候选计算计算成本,则过大的计算量应该被执行,从而增加调度所需的时间,这是一个问题。

技术实现思路

[0008]提供了一种神经网络计算设备、控制神经网络计算的方法和计算机程序,该神经网络计算设备能够通过自底向上的调度来减少执行调度所需的时间,在该自底向上的调度中,首先执行神经网络计算设备的低级区段(section)的调度,然后执行高级区段的调度。
[0009]提供了一种神经网络计算设备、控制该神经网络计算设备的方法和计算机程序,与计算适用于神经网络计算设备的所有调度候选的计算成本的调度方法相比,该神经网络计算设备能够使神经网络计算调度具有与具有最低计算成本的神经网络计算调度的计算成本类似的计算成本,同时显著地减少执行调度所需的时间。
[0010]附加方面将在之后的具体实施方式中部分地阐述,并且将部分地从具体实施方式中显而易见,或者可以通过对本公开所呈现的实施例的实践来了解。
[0011]根据本公开的一方面,一种神经网络计算设备,用于通过对输入数据和权重数据
执行卷积操作来生成输出数据,神经网络计算设备包括存储器和至少一个处理器,该存储器包括多个存储器层次并被配置为存储包括输入数据、权重数据和输出数据的神经网络计算数据,该至少一个处理器被配置为:执行针对神经网络计算数据的第一移动的第一调度,其中神经网络计算数据在第一存储器层次和第二存储器层次之间发送和接收并且第二存储器层次具有比第一存储器层次的级别更高的级别,第一调度被执行之后,执行针对神经网络计算数据的第二移动的第二调度,其中神经网络计算数据在第二存储器层次和第三存储器层次之间发送和接收并且第三存储器层次具有比第二存储器层次的级别更高的级别,以及基于第一调度的结果和第二调度的结果识别用于执行卷积操作的神经网络计算调度。
[0012]在实施例中,至少一个处理器可以基于多个策略中的至少一个来执行第一调度。如果第一调度被执行,则至少一个处理器可以基于多个策略中的至少一个来执行第二调度。至少一个处理器可以基于第一调度的结果和第二调度的结果来识别多个调度候选。至少一个处理器可以将多个调度候选中的一个识别为神经网络计算调度。在过程中,多个策略包括:用于提高多个存储器层次中的低级别存储器层次的利用率的第一策略、用于提高多个存储器层次中的高级别存储器层次的利用率的第二策略、用于保持高级别存储器层次的利用率和低级别存储器层次的利用率之间的平衡的第三策略、以及用于防止神经网络计算数据的重复发送和接收的第四策略。
[0013]在实施例中,至少一个处理器可以对基于第一移动的数据流和第二移动的数据流生成的多个数据流组合中的每一个执行第一调度和第二调度。在该过程中,数据流可以基于神经网络计算数据的多个神经网络参数中的关于哪些数据被重新使用的参数来确定。
[0014]在实施例中,至少一个处理器可以基于第一策略来执行第一调度,以最小化执行第一移动的神经网络计算数据的移动成本。至少一个处理器可以基于第一策略来执行第二调度,以最小化执行第二移动的神经网络计算数据的移动成本。移动成本可以包括发送和接收神经网络计算数据所需的能量和时间中的至少一个。
[0015]在实施例中,至少一个处理器可以基于第二策略来执行第一调度,以最大化执行第一移动的神经网络计算数据的数据块(data tile)大小。至少一个处理器可以基于第二策略来执行第二调度,以最大化执行第二移动的神经网络计算数据的数据块大小。
[0016]在实施例中,至少一个处理器可以基于第三策略来执行第一调度,以最大化用于第二移动的映射候选的数量。至少一个处理器可以基于第三策略来执行第二调度,以最大化用于神经网络计算数据的第三移动的映射候选数的数量,其中神经网络计算数据在第三存储器层次和第四存储器层次之间发送和接收并且第四存储器层次具有比第三存储器层次的级别更高的级别。
[0017]在实施例中,处理器可以基于第四策略来执行第一调度,以防止在第二移动中神经网络计算数据的重复发送和接收,并且基于第四策略来执行第二调度,以防止在神经网络计算数据的第三移动中神经网络计算数据的重复发送和接收,其中神经网络计算数据在第三存储器层次和第四存储器层次之间发送并且第四存储器层级具有比第三存储器层次的级别更高的级别。
[0018]在实施例中,在该过程中,多个神经网络参数可以包括与输入数据的因子相关的多个输入数据参数、与权重数据的因子相关的多个权重数据参数以及与输出数据的因子相关的多个输出数据参数。在该过程中,数据流是以下数据流之一:其中与输入数据参数相关
的数据被重复使用的输入静态(input stationary,IS)数据流、其中与权重数据参数相关的数据被重复使用的权重静态(weight stationary,WS)数据流、以及其中与输出数据参数相关的数据被重复使用的输出静态(output stationary,OS)数据流。
[0019]在实施例中,在该过程中,多个调度候选可以满足约束条件,该约束条件是基于多个存储器层次的存储容量和包括该多个存储器层次的组件的数量中的至少一个来确定的。
[0020]在实施例中,至少一个处理器可以针对多个调度候选中的每一个,识别执行卷积操作所需的计算成本。在一个实施例中,至少一个处理器可以将多个调度候选中的具有最小计算成本的调度候选识别为神经网络计算调度。在该过程中,计算成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络计算设备,用于通过对输入数据和权重数据执行卷积操作来生成输出数据,所述神经网络计算设备包括:存储器,其包括多个存储器层次,并且被配置为存储包括所述输入数据、所述权重数据和所述输出数据的神经网络计算数据;以及处理器,其被配置为:执行针对所述神经网络计算数据的在第一存储器层次和第二存储器层次之间的第一移动的第一调度,所述第二存储器层次具有比所述第一存储器层次的级别更高的级别;在所述第一调度被执行之后,执行针对所述神经网络计算数据的在所述第二存储器层次和第三存储器层次之间的第二移动的第二调度,所述第三存储器层次具有比所述第二存储器层次的级别更高的级别;以及基于所述第一调度的结果和所述第二调度的结果来识别用于执行所述卷积操作的神经网络计算调度。2.根据权利要求1所述的神经网络计算设备,其中,所述处理器基于多个策略中的至少一个执行所述第一调度,基于所述多个策略中的至少一个执行所述第二调度,基于所述第一调度的结果和所述第二调度的结果识别多个调度候选,并且将所述多个调度候选中的一个识别为所述神经网络计算调度,并且所述多个策略包括:用于提高所述多个存储器层次中的低级别存储器层次的利用率的第一策略、用于提高所述多个存储器层次中的高级别存储器层次的利用率的第二策略、用于保持所述高级别存储器层次的利用率和所述低级别存储器层次的利用率之间的平衡的第三策略、以及用于防止神经网络计算数据的重复发送和接收的第四策略。3.根据权利要求2所述的神经网络计算设备,其中,所述处理器对基于所述第一移动的数据流和所述第二移动的数据流生成的多个数据流组合中的每一个执行所述第一调度和所述第二调度,以及所述数据流是基于所述神经网络计算数据的多个神经网络参数中的关于哪些数据被重复使用的参数来确定的。4.根据权利要求2所述的神经网络计算设备,其中,所述处理器:基于所述第一策略来执行所述第一调度,以最小化执行所述第一移动的所述神经网络计算数据的移动成本;以及基于所述第一策略来执行所述第二调度,以最小化执行所述第二移动的所述神经网络计算数据的移动成本,其中,所述移动成本包括所述神经网络计算数据的发送和接收所需的能量和时间中的至少一个。5.根据权利要求2所述的神经网络计算设备,其中,所述处理器:基于所述第二策略来执行所述第一调度,以最大化执行所述第一移动的所述神经网络计算数据的数据块大小;以及基于所述第二策略执行所述第二调度,以最大化执行所述第二移动的所述神经网络计算数据的数据块大小。6.根据权利要求2所述的神经网络计算设备,其中,所述处理器:基于所述第三策略来执行所述第一调度,以最大化用于所述第二移动的映射候选的数
量;以及基于所述第三策略来执行所述第二调度,以最大化用于所述神经网络计算数据的在所述第三存储器层次和第四存储器层次之间的所述第三移动的映射候选的数量,所述第四存储器层次具有比所述第三存储器层次的级别更高的级别。7.根据权利要求2所述的神经网络计算设备,其中,所述处理器:基于所述第四策略来执行所述第一调度,以防止在所述第二移动中所述神经网络计算数据的重复发送和接收;和基于所述第四策略来执行所述第二调度,以防止在所述神经网络计算数据的在所述第三存储器层次和第四存储器层级之间的所述第三移动中所述神经网络计算数据的重复发送和接收,所述第四存储器层级具有比所述第三存储器层级的级别更高的级别。8.根据权利要求2所述的神经网络计算设备,其中,所述多个神经网络参数包括与所述输入数据的因子相关的多个输入数据参数、与所述权重数据的因子相关的多个权重数据参数以及与所述输出数据的因子相关的多个输出数据参数,并且所述数据流是以下数据流之一:其中与输入数据参数相关的数据被重复使用的输入静态(IS)数据流、其中与权重数据参数相关的数据被重复使用的权重静态(WS)数据流、以及其中与输出数据参数相关的数据被重复使用的输出静态(OS)数据流。9.根据权利要求2所述的神经网络计算设备,其中,所述多个调度候选满足约束条件,所述约束条件是基于所述多个存储器层次的存储容量和包括所述多个存储器层次的组件的数量中的至少一个来确定的。10.根据权利要求2所述的神经网络计算设备,其中,所述处理器:针对所述多个调度候选中的每一个,识别执行卷积操作所需的计算成本;以及将所述多个调度候选中的具有最小计算成本的调度候选识别为所述神经网络计算调度,其中,所述计算成本包括...

【专利技术属性】
技术研发人员:宋镇浩朴赞镐金甫吉柳成珉
申请(专利权)人:延世大学校产学协力团
类型:发明
国别省市:

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

1