【技术实现步骤摘要】
【国外来华专利技术】神经网络层分组方法、装置、设备、存储介质及程序产品
本申请涉及神经网络领域,例如涉及一种神经网络层分组方法、装置、设备、存储介质及程序产品。
技术介绍
近年来,深度学习在图像识别、语音识别等所取得的成就使得人工智能成为了当下最热的领域,深度学习中的主要核心则是神经网络,而为了达到很高的图像识别、语音识别精度,神经网络的层(layer)数越来越深,这也对算力的要求也越来也大。为了适应神经网络高计算量的需求,各种神经网络处理器(或者称为AI芯片)被提出,而其中一类神经网络处理器采用了可软件管理的本地存储,通过软件调配神经网络的计算层在本地存储中计算,以达到高性能。而为了尽可能使得神经网络的layer都放置在本地存储计算,避免高开销的全局存储访问,研究开发者们往往会对神经网络的layer进行分组融合。现有的分组融合方案往往需要人为的指定可进行融合的layer组合类型,通过在网络中搜索是否存在这些组合,然后才能对可进行融合的layer进行合并。这样的技术方案虽然可以获得一定的效果,但人为的指定可融合的layer,效率较低;且神经网络的融合率较低,仍然存在大量地layer数据需要放置到全局存储中,神经网络处理器的性能开发率不高。上述
技术介绍
内容仅用于帮助理解本申请,而并不代表承认或认可所提及的任何内容属于相对于本申请的公知常识的一部分。
技术实现思路
本公开实施例第一方面提供了一种神经网络的层分组方法,包括:根据第一分组规则对神经网络的层进行分组,得到多个第一分组;在所述第一分组中, ...
【技术保护点】
一种神经网络的层分组方法,其特征在于,包括:/n根据第一分组规则对神经网络的层进行分组,得到多个第一分组;/n在所述第一分组中,根据预设有效性规则确定出无效分组;/n根据第二分组规则对所述无效分组进行二次分割,得到第二分组;/n在所述第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对所述无效分组进行二次分割的步骤;/n根据所述第一分组、所述第二分组确定出多种有效分组集合;/n根据预设规则对每个所述有效分组集合进行评分,并根据所述评分在所述有效分组集合中确定出目标分组集合。/n
【技术特征摘要】
【国外来华专利技术】一种神经网络的层分组方法,其特征在于,包括:
根据第一分组规则对神经网络的层进行分组,得到多个第一分组;
在所述第一分组中,根据预设有效性规则确定出无效分组;
根据第二分组规则对所述无效分组进行二次分割,得到第二分组;
在所述第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对所述无效分组进行二次分割的步骤;
根据所述第一分组、所述第二分组确定出多种有效分组集合;
根据预设规则对每个所述有效分组集合进行评分,并根据所述评分在所述有效分组集合中确定出目标分组集合。
根据权利要求1所述的方法,其特征在于,所述根据第一分组规则对神经网络的层进行分组,得到多个第一分组,包括:
遍历所述神经网络的层,确定出属于预设类型的目标层,将每个所述目标层确定为一个所述第一分组;
根据包括所述目标层的第一分组、所述神经网络的层的顺序,对所述目标层以外的层进行分组,得到其他所述第一分组。
根据权利要求2所述的方法,其特征在于,根据包括所述目标层的第一分组、所述神经网络的层的顺序,对所述目标层以外的层进行分组,包括:
将所述神经网络中第一个所述目标层之前的所有层分为一个所述第一分组;
将每两个相邻的所述目标层之间的所有层分为一个所述第一分组;
将最后一个所述目标层之后的所有层分为一个所述第一分组。
根据权利要求1或2所述的方法,其特征在于,所述根据预设有效性规则确定出无效分组,包括:
确定分组内层间数据流转方向是否为闭环;
确定所述分组运行时所占用的内存是否大于运行所述神经网络的处理器内存;
若所述分组内层间数据流转方向是闭环,或所述分组运行时所占用的内存大于或等于所述处理器内存,则确定所述分组为所述无效分组。
根据权利要求4所述的方法,其特征在于,所述确定所述分组运行时所占用的内存是否大于运行所述神经网络的处理器内存,包括:
根据预设分割规则对分组数据进行分割得到分割数据;
判断所述分割数据能否支持所述分组中的层进行计算,若否,则确定所述分组为无效分组。
根据权利要求5所述的方法,其特征在于,若所述分割数据能支持所述分组中的层进行计算,则所述方法还包括:
根据每个所述分组的所述分割数据确定出各个分组的各层输入数据格式、输出数据格式;
根据各层所述输入数据格式、所述输出数据格式再次确定所述分组是否为无效分组。
根据权利要求6所述的方法,其特征在于,所述根据每个所述分组的所述分割数据确定出各个分组的各层输入数据格式、输出数据格式,包括:
根据所述神经网络的层顺序,确定出分组的各个层的顺序;
根据所述各个层的顺序确定出产生数据层和消费数据层的组合对;
根据所述消费数据层的输出数据格式,确定所述消费数据层的输入数据格式,根据所述消费数据层的输入数据格式确定所述产生数据层的输出数据格式。
根据权利要求6或7所述的方法,其特征在于,所述根据各层所述输入数据格式、所述输出数据格式再次确定所述分组是否为无效分组,包括:
若相同数据对应的格式不同,则确定所述分组为无效分组。
根据权利要求6所述的方法,其特征在于,若根据所述输入数据格式、所述输出数据格式确定所述分组不是无效分组,则所述方法还包括:
根据预设时间安排确定所述分组中层间产生的待存储数据在所述处理器内存占用空间的时间段;
确定出已被分配至所述处理器内存中的已有数据,并在所述已有数据中确定出与所述待存储数据的时间段冲突的冲突数据;
根据所述冲突数据确定出所述处理器内存中的可分配空间,并根据所述可分配空间判断能否为所述待存储数据分配存储空间;
若不能,则继续执行所述根据预设规则对所述分组数据进行分割得到分割数据的步骤。
根据权利要求9所述的方法,其特征在于,所述根据预设时间安排确定所述分组中层间产生的待存储数据在所述处理器内存占用空间的时间段,包括:
根据所述预设时间安排确定所述分组中各个层产生待存储数据、消费所述待存储数据的时间步;
根据所述时间步确定出所述待存储数据在所述处理器内存占用空间的时间段。
根据权利要求9所述的方法,其特征在于,所述根据所述冲突数据确定出所述处理器内存中的可分配空间,包括:
获取所述冲突数据在所述处理器内存中的占用位置,根据所述占用位置在所述处理器内存中确定出可分配空间。
根据权利要求9所述的方法,其特征在于,所述根据所述可分配空间判断能否为所述待存储数据分配存储空间,包括:
根据所述处理器的运行规则确定出所述分组运行过程中,搬运所述分组的输入数据所占的第一分块;
根据所述第一分块、所述可分配空间确定剩余空间,并根据所述剩余空间确定能否为所述待存储数据分配存储空间。
根据权利要求9所述的方法,其特征在于,若判断能为所述待存储数据分配存储空间,则确定所述分组为有效分组。
根据权利要求1-3、5-7、9-13任一项所述的方法,其特征在于,所述有效分组集合中包括多个有效的分组,且所述有效分组集合中包括所述神经网络的所有层,且所述层不重复。
根据权利要求11所述的方法,其特征在于,所述根据预设规则对每个所述有效分组集合进行评分,包括:
确定所述有效分组集合对应的对所述分组数据进行计算所花费的计算时间;
确定所述有效分组集合中,每个分组对应的搬运所述分组的输入数据所花费的搬运时间;
根据所述计算时间、所述搬运时间确定所述有效分组集合的所述评分。
根据权利要求15所述的方法,其特征在于,所述根据所述计算时间、所述搬运时间确定所述有效分组集合的所述评分,包括:
将所述计算时间、所述搬运时间之和确定为所述评分;
所述根据所述评分在所述有效分组集合中确定出目标分组集合,包括:
将所述评分最低的所述有效分组集合确定为所述目标分组集合。
一种神经网络的层分组装置,其特征在于,包括:
第一分组模块,用于根据第一分组规则对神经网络的层进行分组,得到多个第一分组;
筛选模块,用于在所述第一分组中,根据预设有效性规则确定出无效分组;
第二...
【专利技术属性】
技术研发人员:蒋国跃,
申请(专利权)人:北京比特大陆科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。