[发明专利]运算节点的拆分方法和装置、电子设备和存储介质在审
申请号: | 201910750828.1 | 申请日: | 2019-08-14 |
公开(公告)号: | CN110503199A | 公开(公告)日: | 2019-11-26 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 北京中科寒武纪科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/063 |
代理公司: | 11446 北京律和信知识产权代理事务所(普通合伙) | 代理人: | 姚志远;刘兴<国际申请>=<国际公布>= |
地址: | 100086 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 中央处理器 人工智能 处理器执行 计算机程序 电子设备 处理器 计算机可读存储介质 存储器存储 方法和装置 通信连接 存储器 申请 | ||
1.一种对神经网络模型中的运算节点进行拆分的方法,包括:
确定神经网络模型中的关键路径;
根据人工智能处理器中与不同类型相匹配的功能模块的硬件并行度,将所述关键路径中的至少一个神经网络运算节点拆分为多个神经网络运算子节点。
2.根据权利要求1所述的方法,其中所述硬件并行度为与同种类型节点相匹配的功能模块的数量。
3.根据权利要求1所述的方法,其中根据所述硬件并行度一次将所有可拆分的神经网络运算节点进行拆分。
4.根据权利要求3所述的方法,还包括:
根据分配给每个功能模块的神经网络运算子节点,对拆分得到的神经网络运算子节点进行合并。
5.根据权利要求4所述的方法,其中根据分配给每个功能模块的神经网络运算子节点,对拆分得到的神经网络运算子节点进行合并包括:
检测每个功能模块是否分配有从同一神经网络运算节点拆分出的神经网络运算子节点;
根据检测结果,将每个功能模块上从同一神经网络运算节点拆分出的神经网络运算子节点进行合并。
6.根据权利要求1所述的方法,还包括:
将未拆分的神经网络运算节点和拆分得到的多个神经网络运算子节点分别分配给人工智能处理器中类型匹配的多个功能模块,以由所述功能模块执行。
7.根据权利要求6所述的方法,还包括:
确定分配给同一功能模块的所有神经网络运算节点和神经网络运算子节点的优先级,以使所述功能模块按所确定的优先级的顺序执行神经网络运算节点和神经网络运算子节点。
8.根据权利要求7所述的方法,其中利用向上排序算法和/或向下排序算法确定分配给同一功能模块的所有神经网络运算节点和神经网络运算子节点的优先级。
9.根据权利要求8所述的方法,其中在所述向上排序算法中,根据神经网络运算节点和神经网络运算子节点的开始时刻与所述待执行任务的开始时刻之间的时间差确定优先级。
10.根据权利要求8所述的方法,其中在所述向下排序算法中,根据神经网络运算节点和神经网络运算子节点的结束时刻与所述待执行任务的结束时刻之间的时间差确定优先级。
11.根据权利要求6所述的方法,其中将由同一神经网络运算节点拆分得到的多个神经网络运算子节点分配给所述人工智能处理器中类型匹配的不同功能模块。
12.根据权利要求6所述的方法,其中拆分得到的神经网络运算子节点中的至少一部分子节点的运算类型与拆分前的节点的运算类型不同。
13.根据权利要求6所述的方法,其中将未拆分的神经网络运算节点和拆分得到的多个神经网络运算子节点分别分配给人工智能处理器中类型匹配的多个功能模块,以由所述功能模块执行包括:
除了根据功能模块的类型,还根据功能模块的计算速度和/或通信代价进行分配。
14.一种对神经网络模型中的运算节点进行拆分的装置,包括:
确定单元,确定神经网络模型中的关键路径;
拆分单元,根据人工智能处理器中与不同类型相匹配的功能模块的硬件并行度,将所述关键路径中的至少一个神经网络运算节点拆分为多个神经网络运算子节点。
15.一种电子设备,包括:
中央处理器;
人工智能处理器,与所述中央处理器通信连接,并包括多个功能模块;
存储器,存储有计算机程序,当所述计算机程序被所述中央处理器执行时,使得所述中央处理器执行如权利要求1-13中任一项所述的方法。
16.一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如权利要求1-13中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科寒武纪科技有限公司,未经北京中科寒武纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910750828.1/1.html,转载请声明来源钻瓜专利网。