[发明专利]一种神经网络模型的拆分方法及相关产品有效
| 申请号: | 201910114927.0 | 申请日: | 2019-02-14 |
| 公开(公告)号: | CN111563584B | 公开(公告)日: | 2022-12-09 |
| 发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
| 主分类号: | G06N3/08 | 分类号: | G06N3/08 |
| 代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 孙岩 |
| 地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 神经网络 模型 拆分 方法 相关 产品 | ||
本公开披露一种神经网络模型的拆分方法及相关产品,本方案把一个算子拆分成多个规模更小的子算子,这样可以直接调用单核架构下的计算库,避免了重新实现的额外工作量。
技术领域
本公开的实施例涉及一种神经网络模型的拆分方法及相关产品。
背景技术
近年来,深度学习加速器被不断提出,并如同通用处理器一样,正在由单核向多核扩展。这种扩展后的多核结构可以在训练阶段支持数据并行的方式来提高数据吞吐量,加快训练速度。然而,在推理阶段,相比吞吐量深度神经网络对端到端的时延有着更高的要求,这往往决定了加速器在某个场景下的可用性。传统的数据并行方案不能满足推理场景下对加速器小数据、低延迟的要求。
发明内容
为了解决上述所述的技术问题,本公开提出一种神经网络模型的拆分方法及相关产品。
为实现上述目的,本公开提供一种神经网络模型拆分方法,其中,所述方法包括:
根据所述神经网络模型中目标层的算子,确定与所述目标层的算子关联的张量数据的拆分状态集合;其中,所述目标层为所述神经网络模型中的至少一层;
根据所述神经网络模型的有向无环图遍历所述拆分状态集合,确定相邻拆分状态集合之间的状态路径及状态路径的权重;其中,所述状态路径表示所述算子的拆分方式;所述拆分状态集合中的每个状态表示一个子张量数据集合,所述状态的所有子张量数据的并集结果为所述张量数据;
根据所述状态路径的权重,确定所述目标层的目标拆分路径;
利用所述目标拆分路径对所述神经网络模型的目标层的算子进行拆分。
优选地,确定所述目标层的目标拆分路径的步骤包括:
遍历所述目标层的所有拆分状态集合,对当前拆分状态集合,遍历每一状态,获得所有指向当前状态的状态路径以及所述状态路径的起始状态到所述目标层的输入张量数据的起始状态的拆分路径;
根据所述状态路径的权重和所述拆分路径的权重确定所述当前状态到所述目标层的输入张量数据的起始状态的拆分路径;其中,所述拆分路径的权重根据所述拆分路径对应的所有状态路径的权重确定;
遍历完所述目标层的所有拆分状态集合后,获得所述目标层的输入张量数据的拆分状态集合与所述目标层的输出张量数据的拆分状态集合之间的目标拆分路径。
优选地,确定所述目标层的目标拆分路径的步骤包括:
遍历所述目标层的所有拆分状态集合,对当前拆分状态集合,遍历每一状态,获得所有以当前状态为起点的状态路径以及所述状态路径的结束状态到所述目标层的输出张量数据的终止状态的拆分路径;
根据所述状态路径的权重和所述拆分路径的权重确定所述当前状态到所述目标层的输出张量数据的终止状态的拆分路径;其中,所述拆分路径的权重根据所述拆分路径对应的所有状态路径的权重确定;
遍历完所述目标层的所有拆分状态集合后,获得所述目标层的输入张量数据的拆分状态集合与所述目标层的输出张量数据的拆分状态集合之间的目标拆分路径。
优选地,所述神经网络模型的目标层的算子拆分后获得的子算子数量为2的整数次幂。
优选地,所述神经网络模型的目标层的算子的输入张量数据的拆分状态集合中的状态根据所述算子的计算逻辑和对应输出张量数据的拆分状态集合中的状态确定。
优选地,所述神经网络模型的目标层的算子的输出张量数据的拆分状态集合中的状态根据所述算子的计算逻辑和对应输入张量数据的拆分状态集合中的状态确定。
优选地,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910114927.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:定位方法及装置
- 下一篇:卫星位置信息传输方法、装置、系统及存储介质





