[发明专利]消除拼接算子的编译优化方法、系统、设备及存储介质有效
申请号: | 202110295853.2 | 申请日: | 2021-03-19 |
公开(公告)号: | CN113011585B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 谭黎敏;田承雷;宋捷 | 申请(专利权)人: | 上海西井科技股份有限公司 |
主分类号: | G06N3/082 | 分类号: | G06N3/082;G06N3/04;G06N3/063 |
代理公司: | 上海隆天律师事务所 31282 | 代理人: | 夏彬 |
地址: | 200050 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消除 拼接 算子 编译 优化 方法 系统 设备 存储 介质 | ||
本发明提供了一种消除拼接算子的编译优化方法、系统、设备及存储介质,该方法包括:在神经网络模型中查找待消除的拼接算子;获取所述拼接算子的输出数组的地址信息;获取所述拼接算子的输入数组的地址信息;根据所述拼接算子的输出数组的地址信息,更新所述拼接算子的输入数组的地址信息,以使得所述拼接算子的输入数组的地址信息组合后与所述拼接算子的输出数组的地址信息相对应;在神经网络模型中删除拼接算子。本发明通过编译消除了神经网络模型中的拼接算子,优化了模型尺寸,神经网络模型的运行时间不再受限于拼接算子的执行时间,加速了神经网络模型的推理速度。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层(convolutional layer)和池化层(pooling layer)。卷积神经网络已广泛应用于图像分类、物体识别、目标追踪。
由于卷积神经网络的推理,需要巨大的运算量,专用AI(ArtificialIntelligence,人工智能)处理芯片应运而生。通常模型需要经过转换、优化之后才可以在专用芯片上运行,这个过程也称作AI编译器。优化部分聚焦于减少模型尺寸,减少运行时间。优化主要包括以下几种:
1、算子优化
2、图优化
3、模型压缩
其中计算图优化中的一种重要手段就是算子融合,通过将算子合并来达到减少运算量和内存访问量的目的。
算子融合基于对深度学习拓扑结构模式的观察。深度学习算子可以分为两类:
计算密集型算子,如卷积、全连接等,即在运行时有大量的计算量。
访存密集型算子,如ReLU,拼接等,即在运行时需要频繁访问内存。
在典型的深度学习模型中,一般计算密集型和访存密集型算子是相伴出现的,比如“Conv+ReLU”相伴出现。以GPU(Graphics Processing Unit,图形处理器)作为例子,我们可以将算子融合为一个复合算子,GPU执行完Conv后,在显存中执行Relu,可以减少对主内存的交互。
拼接算子(concat)是神经网络中的一种常用算子,它在指定轴上对输入的多个张量(Tensor)进行连接。这个算子属于访问密集性算子,主要消耗内存访问时间。在各个硬件平台上,只要进行拼接运算,那么执行时间就跟内存带宽成正比。
针对访存密集型算子,通过AI编译器会通过融合临近的算子,减少内存的访问。然而,拼接算子一般用于将不同层的特征进行融合,通常两个输入数组在计算图和实际内存中都相隔较远,不符合这个条件。因此,常规的访存密集型算子的融合方法并不能用于拼接算子融合。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种消除拼接算子的编译优化方法、系统、设备及存储介质,通过编译消除神经网络模型中的拼接算子,加速神经网络模型的推理速度。
本发明实施例提供一种消除拼接算子的编译优化方法,包括如下步骤:
S100:在神经网络模型中查找待消除的拼接算子;
S200:获取所述拼接算子的输出数组的地址信息;
S300:获取所述拼接算子的输入数组的地址信息;
S400:根据所述拼接算子的输出数组的地址信息,更新所述拼接算子的输入数组的地址信息,以使得所述拼接算子的输入数组的地址信息组合后与所述拼接算子的输出数组的地址信息相对应;
S500:在神经网络模型中删除拼接算子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海西井科技股份有限公司,未经上海西井科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110295853.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种疝气补片
- 下一篇:可调压磁性液体安全阀