本发明专利技术提供了一种多精度神经网络模型实现方法及系统,包括:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;对多精度神经网络模型进行结构分析,结合计算图算子配置信息得到不同数值精度与计算图算子的对应关系;根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到硬件加速器。本发明专利技术在将复杂神经网络部署到特定硬件加速器时,保证算子采用不同的数值精度组合,以获得优化的功耗、效率和存储带宽,降低模型部署难度。模型部署难度。模型部署难度。
【技术实现步骤摘要】
多精度神经网络模型实现方法及系统
[0001]本专利技术涉及计算机
,具体地,涉及一种多精度神经网络模型实现方法及系统。
技术介绍
[0002]由于复杂任务的神经网络计算复杂度高,在特定硬件加速器上需要进行多精度的数值表示方法,以获得优化的功耗和效率,这一需求为模型部署增加了难度。
[0003]现有技术中,公开号为CN110942139A的中国专利申请,公开了“深度学习神经网络部署系统及其方法”,这种部署方法,虽然能够支持多种神经网络框架识别、解析、和部署模型的生成,但是不能支持多种精度模型在特定硬件加速器上的实现。
技术实现思路
[0004]针对现有技术中的缺陷,本专利技术的目的是提供一种多精度神经网络模型实现方法及系统。
[0005]根据本专利技术提供的一种多精度神经网络模型实现方法,包括:
[0006]生成步骤:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;
[0007]对应关系确认步骤:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;
[0008]调整步骤:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;
[0009]配置生成步骤:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。
[0010]优选地,所述生成步骤包括:
[0011]根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。
[0012]优选地,所述对应关系确认步骤包括:
[0013]对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;
[0014]根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。
[0015]优选地,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;
[0016]对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;
[0017]对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用
独立于计算图的分析。
[0018]优选地,所述配置生成步骤包括:
[0019]对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
[0020]根据本专利技术提供的一种多精度神经网络模型实现系统,包括:
[0021]生成模块:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;
[0022]对应关系确认模块:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;
[0023]调整模块:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;
[0024]配置生成模块:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。
[0025]优选地,所述生成模块包括:
[0026]根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。
[0027]优选地,所述对应关系确认模块包括:
[0028]对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;
[0029]根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。
[0030]优选地,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;
[0031]对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;
[0032]对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用独立于计算图的分析。
[0033]优选地,所述配置生成模块包括:
[0034]对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
[0035]与现有技术相比,本专利技术具有如下的有益效果:
[0036]本专利技术根据特定硬件加速器约束条件,通过网络模型结构分析,找到适用于不同数值精度的算子对应关系,解决计算图特定算子与数值精度难以匹配的问题。
[0037]本专利技术根据计算图算子与精度数值的对应关系,可以方便对网络模型参数进行重新调整,以获取模型性能的提升。
[0038]本专利技术计算图算子与精度数值的对应关系可能不止一种,需要多次对网络模型参数进行调整,以获取模型性能的折中。
[0039]本专利技术在将复杂神经网络部署到特定硬件加速器时,保证算子采用不同的数值精度组合,以获得优化的功耗、效率和存储带宽,降低模型部署难度。
附图说明
[0040]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0041]图1为本专利技术的工作流程图。
具体实施方式
[0042]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。
[0043]如图1所示,本专利技术提供的一种多精度神经网络模型实现方法包括:
[0044]步骤1:获取特定硬件加速器算子约束条件,生成网络模型计算图算子配置信息。
[0045]步骤1包括:
[0046]步骤1.1:根据特定硬件加速器算子数值精度约束条件,生成网络模型计算图算子配置信息。对于步骤1.1提到的加速器算子和网络模型计算图算子,包括并且不限于卷积层(CNN),批量归一化(BN)层,激活层等。对于步骤1.1提到的数值精度约束条件,包括并且不限于2
‑
8bit,8
‑
16bit。生成配置信息具体过程是:对于每一种算子,指定一种或者多种数值精度,得到算子配置信息,算子配置信息作为后续步骤2.2产生计算图中特定算子与数值精度对应关系信息的输入。
[0047]步骤2:通过网络模型结构分析,找到适用于不同数值精度的计算图算子对应关系。
[0048]步骤2包括:
[0049]本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种多精度神经网络模型实现方法,其特征在于,包括:生成步骤:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;对应关系确认步骤:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;调整步骤:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;配置生成步骤:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。2.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,所述生成步骤包括:根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。3.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,所述对应关系确认步骤包括:对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。4.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用独立于计算图的分析。5.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,所述配置生成步骤包括:对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。6.一种多精度...
【专利技术属性】
技术研发人员:鲍丹,季圣洁,沈沙,
申请(专利权)人:上海酷芯微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。