[发明专利]用于神经网络计算的中间表示生成方法和装置在审
申请号: | 201810829863.8 | 申请日: | 2018-07-25 |
公开(公告)号: | CN110764744A | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 隋凌志;刘鑫;王雨顺 | 申请(专利权)人: | 赛灵思公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06N3/08 |
代理公司: | 11452 北京展翼知识产权代理事务所(特殊普通合伙) | 代理人: | 张阳 |
地址: | 美国加利福尼亚*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 拓扑结构信息 中间表示 特征图 神经网络计算 方法和装置 计算操作 节点操作 模型文件 前端框架 神经网络 硬件实现 编译器 算法 优选 解析 优化 指令 调度 引入 转化 | ||
本公开提出了一种用于神经网络计算的中间表示生成方法和装置。该方法包括:解析输入的模型文件以获取神经网络的拓扑结构信息;使用所述拓扑结构信息中的特征图信息和计算操作信息分别作为节点和边,以生成图形式的第一中间表示。由此,通过引入特征图为节点操作为边的第一IR实现后续对图和调度的方便优化。优选地,本发明的生成方法还可以生成后续的IR,由此通过使用粒度不一、形式不同的IR对算法进行转化和描述,使得基于本发明的编译器能够方便地适用于各类前端框架和后端硬件实现,并且能够对指令做出高效且准确的优化。
技术领域
本发明涉及深度学习领域,尤其涉及一种用于神经网络计算的中间表示生成方法和装置。
背景技术
神经网络(Neural Network)近年来成为图像识别领域的研究热点。经过训练后的神经网络模型,可以用于图像分类、物体识别与显著性检测等诸多领域。近年来神经网络模型呈现计算规模增加、复杂度提升的趋势,利用传统的CPU平台,已无法满足其实用性需求。因此,利用FPGA、GPU等异构计算平台进行神经网络加速器设计成为新的研究热点。其中,相较GPU平台,FPGA和ASIC能够实现更高的计算能效比,同时FPGA和ASIC的灵活性和可定制性也更适应神经网络算法高速发展的要求。
编译器的工作流程通常由多个不同的任务阶段构成,因此编译器的构成一般可以划分为前端、优化、后端三个部分。为了在不同任务阶段之间传递信息,编译器需要推导出目标程序的全部知识。因此,几乎所有编译器都需要某种形式的中间表征,用于目标算法进行建模,从而便于对其进行分析、转换和优化。
针对神经网络编译而言,将来自不同深度学习框架的神经网络算法转化为通用的计算图,对计算图进行优化和重构,再将优化后的计算图映射为硬件平台可执行的指令和机器码,便完成了算法针对硬件平台的编译。众多深度学习框架在使用的底层计算库、计算图形式、代码风格等的不同而导致其在运算结果的精度和运算速度上都存在着巨大的差异,并且除了通用处理器之外,涌现出了越来越多的异构硬件平台。若需要对M种前端深度学习框架分别进行优化,映射到N种后端硬件平台上,那么将面临着O(M*N)的工作量,有着组合爆炸的风险。
为此,需要一种能够应对灵活兼容各类前端后端的中间表示生成方案。
发明内容
为了解决上述至少一个问题,本发明提出了一种编译器架构方案,通过其内的模块与不同粒度和属性的多种中间表示相配合,能够以极高的可扩展性和兼容性应对各类深度学习框架和后端硬件平台,并且提供高效的代码优化能力。
根据本发明的一个方面,提出了一种用于神经网络计算的中间表示生成方法,包括:解析输入的模型文件以获取神经网络的拓扑结构信息;使用所述拓扑结构信息中的特征图信息和计算操作信息分别作为节点和边,以生成图形式的第一中间表示。由此,通过引入特征图为节点操作为边的IR实现后续对图和调度的方便优化。
第一中间表示还包括节点属性和边属性,所述节点属性包括如下至少一项:所述特征图的维度信息和长宽通道信息;所述边表示的计算操作包括如下至少一项:卷积、池化、维度变换、点加(eltwise)、反卷积、重排、非线性、批量归一化(BatchNorm)、定标(scale);并且所述边属性包括所述计算操作的参数,并且包括如下至少一项:卷积核尺寸、扩充边缘(pad)、步长(stride)、分组、扩张(dilation)。
该方法还包括:对所述第一中间表示进行图优化,以生成图形式的第二中间表示。具体可以包括对所述计算操作进行合并,以获取特征图作为节点,合并的多个计算操作作为边的超图形式的第二中间表示。
对所述计算操作进行合并可以包括如下至少一项:去除不需要的或对计算结果无影响的操作;将多个相邻计算操作进行融合;以及将计算操作进行分解,以将分解的计算操作与在前或在后的计算操作相融合或实现对分解的计算操作的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赛灵思公司,未经赛灵思公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810829863.8/2.html,转载请声明来源钻瓜专利网。