[发明专利]模型的约简方法、装置、设备、存储介质和程序产品在审
申请号: | 202111243038.8 | 申请日: | 2021-10-25 |
公开(公告)号: | CN116070165A | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 刘艳琳;张靖义;王永忠 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F18/25 | 分类号: | G06F18/25;G06F9/50;G06F9/455 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 罗利娜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模型 方法 装置 设备 存储 介质 程序 产品 | ||
1.一种模型的约简方法,其特征在于,包括:
获取融合信息,所述融合信息指示第一模型中的算子在微架构上运行时的融合情况;
基于所述融合信息确定所述第一模型的第一算子集合,所述第一算子集合中包括由所述第一模型的至少两个算子融合而成的算子;
从所述第一算子集合中去除至少一个冗余的算子,获得第二算子集合;以及
根据所述第二算子集合获得第二模型。
2.根据权利要求1所述的方法,其中从所述第一算子集合中去除至少一个冗余的算子,获得所述第二算子集合,包括:
确定所述第一算子集合中相邻的第一算子序列和第二算子序列,其中:
所述第二算子序列的数据流动方向与所述第一算子序列的数据流动方向相同,
向所述第二算子序列中的起始算子流入数据的算子的数目与向所述第一算子序列中的起始算子流入数据的算子的数目相同,并且
从所述第二算子序列中的末尾算子接收流出数据的算子的数目与从所述第一算子序列中的末尾算子接收流出数据的算子的数目相同;以及
从所述第一算子集合中去除所述第二算子序列,获得所述第二算子集合。
3.根据权利要求1或2所述的方法,还包括:
基于所述第二模型,确定所述第一模型的微架构特性的计算值,所述第一模型的微架构特性表征所述第一模型在所述微架构上的运行的计算特性、访存特性和控制特性中的至少一项;以及
如果所述计算值与所述第一模型的微架构特性的测试值之间的差异小于阈值差异,将所述第二模型确定为所述第一模型的约简模型。
4.根据权利要求3所述的方法,其中确定所述第一模型的微架构特性的计算值包括:
对所述第二模型在所述微架构上的运行进行性能分析,确定所述第二算子集合中的每个算子的微架构特性的测试值和运算时间,每个算子的微架构特性表征算子在所述微架构上的运行的计算特性、访存特性和控制特性中的至少一项;以及
基于所去除的所述至少一个冗余的算子的类型和数目、以及所述第二算子集合中的算子的微架构特性的测试值和运算时间,确定所述第一模型的微架构特性的计算值。
5.根据权利要求1至4中任一项所述的方法,还包括:
将所述第二算子集合中的至少一个算子替换为对应的精简算子,所述精简算子相比对应的所述至少一个算子具有更短的运算时间;以及
确定与所述替换后的第二算子集合相对应的第三模型,以作为所述第一模型的约简模型。
6.根据权利要求5所述的方法,其中所述精简算子的微架构特性的测试值和对应的所述至少一个算子的微架构特性的测试值之间的差异小于阈值差异。
7.根据权利要求5至6中任一项所述的方法,还包括:
修改所述至少一个算子的参数来确定对应的所述精简算子,所述参数包括以下至少一项:输入维度、输出维度、卷积核大小、填充大小和特征图大小。
8.根据权利要求5至7中任一项所述的方法,还包括:
选择所述第二算子集合中的输入维度不同于输出维度的算子,作为要被替换的所述至少一个算子。
9.根据权利要求5至8中任一项所述的方法,还包括:
基于与算子的运算时间有关的特性,选择所述第二算子集合中要被替换的所述至少一个算子。
10.一种用于约简模型的装置,包括:
融合信息获取单元,被配置为获取融合信息,所述融合信息指示第一模型中的算子在微架构上运行时的融合情况;
算子集合确定单元,被配置为基于所述融合信息确定所述第一模型的第一算子集合,所述第一算子集合中包括由所述第一模型的至少两个算子融合而成的算子;
算子去重单元,被配置为从所述第一算子集合中去除至少一个冗余的算子,获得第二算子集合;以及
模型确定单元,被配置为根据所述第二算子集合获得第二模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111243038.8/1.html,转载请声明来源钻瓜专利网。