CN113469349A - 多精度神经网络模型实现方法及系统 - Google Patents

多精度神经网络模型实现方法及系统 Download PDF

Info

Publication number
CN113469349A
CN113469349A CN202110753398.6A CN202110753398A CN113469349A CN 113469349 A CN113469349 A CN 113469349A CN 202110753398 A CN202110753398 A CN 202110753398A CN 113469349 A CN113469349 A CN 113469349A
Authority
CN
China
Prior art keywords
neural network
network model
precision
operator
calculation graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110753398.6A
Other languages
English (en)
Other versions
CN113469349B (zh
Inventor
鲍丹
季圣洁
沈沙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Kuxin Microelectronics Co ltd
Original Assignee
Shanghai Artosyn Microelectronic Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Artosyn Microelectronic Co ltd filed Critical Shanghai Artosyn Microelectronic Co ltd
Priority to CN202110753398.6A priority Critical patent/CN113469349B/zh
Publication of CN113469349A publication Critical patent/CN113469349A/zh
Application granted granted Critical
Publication of CN113469349B publication Critical patent/CN113469349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种多精度神经网络模型实现方法及系统,包括:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;对多精度神经网络模型进行结构分析,结合计算图算子配置信息得到不同数值精度与计算图算子的对应关系;根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到硬件加速器。本发明在将复杂神经网络部署到特定硬件加速器时,保证算子采用不同的数值精度组合,以获得优化的功耗、效率和存储带宽,降低模型部署难度。

Description

多精度神经网络模型实现方法及系统
技术领域
本发明涉及计算机技术领域,具体地,涉及一种多精度神经网络模型实现方法及系统。
背景技术
由于复杂任务的神经网络计算复杂度高,在特定硬件加速器上需要进行多精度的数值表示方法,以获得优化的功耗和效率,这一需求为模型部署增加了难度。
现有技术中,公开号为CN110942139A的中国专利申请,公开了“深度学习神经网络部署系统及其方法”,这种部署方法,虽然能够支持多种神经网络框架识别、解析、和部署模型的生成,但是不能支持多种精度模型在特定硬件加速器上的实现。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种多精度神经网络模型实现方法及系统。
根据本发明提供的一种多精度神经网络模型实现方法,包括:
生成步骤:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;
对应关系确认步骤:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;
调整步骤:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;
配置生成步骤:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。
优选地,所述生成步骤包括:
根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。
优选地,所述对应关系确认步骤包括:
对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;
根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。
优选地,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;
对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;
对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用独立于计算图的分析。
优选地,所述配置生成步骤包括:
对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
根据本发明提供的一种多精度神经网络模型实现系统,包括:
生成模块:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;
对应关系确认模块:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;
调整模块:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;
配置生成模块:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。
优选地,所述生成模块包括:
根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。
优选地,所述对应关系确认模块包括:
对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;
根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。
优选地,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;
对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;
对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用独立于计算图的分析。
优选地,所述配置生成模块包括:
对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
与现有技术相比,本发明具有如下的有益效果:
本发明根据特定硬件加速器约束条件,通过网络模型结构分析,找到适用于不同数值精度的算子对应关系,解决计算图特定算子与数值精度难以匹配的问题。
本发明根据计算图算子与精度数值的对应关系,可以方便对网络模型参数进行重新调整,以获取模型性能的提升。
本发明计算图算子与精度数值的对应关系可能不止一种,需要多次对网络模型参数进行调整,以获取模型性能的折中。
本发明在将复杂神经网络部署到特定硬件加速器时,保证算子采用不同的数值精度组合,以获得优化的功耗、效率和存储带宽,降低模型部署难度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的工作流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1所示,本发明提供的一种多精度神经网络模型实现方法包括:
步骤1:获取特定硬件加速器算子约束条件,生成网络模型计算图算子配置信息。
步骤1包括:
步骤1.1:根据特定硬件加速器算子数值精度约束条件,生成网络模型计算图算子配置信息。对于步骤1.1提到的加速器算子和网络模型计算图算子,包括并且不限于卷积层(CNN),批量归一化(BN)层,激活层等。对于步骤1.1提到的数值精度约束条件,包括并且不限于2-8bit,8-16bit。生成配置信息具体过程是:对于每一种算子,指定一种或者多种数值精度,得到算子配置信息,算子配置信息作为后续步骤2.2产生计算图中特定算子与数值精度对应关系信息的输入。
步骤2:通过网络模型结构分析,找到适用于不同数值精度的计算图算子对应关系。
步骤2包括:
步骤2.1:通过网络模型结构分析,生成网络模型结构信息。
步骤2.2:根据算子配置文件和网络模型结构文件,生成计算图算子与数值精度对应关系信息。对应关系信息是计算图中特定算子与其数值精度的一一对应。例如第K层网络中的第N个卷积算子[层K/卷积N],数值精度为M比特,不限于表示成{层K/卷积N:M}。同一种类型的算子在计算图的不同结构中,可能有不同的精度数值。
步骤3:根据计算图算子与精度数值的对应关系,对网络模型参数进行重新调整,以获取模型在降低数值精度后的性能补偿。
步骤3包括:
步骤3.1:对网络模型参数进行重新调整,调整方式可以不限于重新训练方式和统计分析方式。
步骤3.2:对于重新训练方式,需要根据计算图算子与数值精度对应关系信息增加训练节点到计算图中。对于某层网络参数部分,需要增加一个与精度数值相关的训练节点,以方便将网络参数调整到特定精度。对于某层网络其它部分结果,需要增加一个与精度数值相关的训练节点,以方便将网络其它部分结果调整到特定精度。一组对应关系需要增加一个训练节点。对于步骤3.2提到的训练节点,可以不限于采用DoReFa,PACT等算子构建。对于步骤3.2提到的计算图,包括且不限于采用常见的框架如框架caffe,tensorflow,pytorch,kera,mxnet等构建。
步骤3.3:对于统计分析方式,可以根据算子与数值精度对应关系信息增加统计节点到计算图中。对于某层网络参数部分,需要增加一个与精度数值相关的统计节点,以方便将网络参数调整到特定精度。对于某层网络其它部分结果,需要增加一个与精度数值相关的统计节点,以方便将网络其它部分结果调整到特定精度。一组对应关系需要增加一个统计节点。对于步骤3.3提到的统计节点,可以不限于采用常见的统计量如均值、方差、一阶矩、二阶矩等构建。
步骤3.4:对于统计分析方式,也可以不增加统计节点到计算图中,直接采用独立于计算图的分析。
步骤4:对调整好模型参数的神经网络,产生各层次的配置信息,配置信息可用于将多精度神经网络部署到特定硬件加速器。
步骤4包括:
步骤4.1:对调整好模型参数的网络,格式化生成各层次的配置信息。配置信息格式来自于特定硬件加速器需求。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种多精度神经网络模型实现方法,其特征在于,包括:
生成步骤:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;
对应关系确认步骤:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;
调整步骤:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;
配置生成步骤:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。
2.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,所述生成步骤包括:
根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。
3.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,所述对应关系确认步骤包括:
对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;
根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。
4.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;
对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;
对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用独立于计算图的分析。
5.根据权利要求1所述的多精度神经网络模型实现方法,其特征在于,所述配置生成步骤包括:
对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
6.一种多精度神经网络模型实现系统,其特征在于,包括:
生成模块:获取硬件加速器的算子约束条件,生成多精度神经网络模型的计算图算子配置信息;
对应关系确认模块:对多精度神经网络模型进行结构分析,结合所述计算图算子配置信息得到不同数值精度与计算图算子的对应关系;
调整模块:根据不同数值精度与计算图算子的对应关系,对多精度神经网络模型的参数进行调整,获取多精度神经网络模型在降低数值精度后的性能补偿;
配置生成模块:根据参数调整后的多精度神经网络模型,产生各层次配置信息,根据各层次配置信息将多精度神经网络模型部署到所述硬件加速器。
7.根据权利要求6所述的多精度神经网络模型实现系统,其特征在于,所述生成模块包括:
根据所述硬件加速器的算子数值精度约束条件,生成多精度神经网络模型计算图算子配置信息。
8.根据权利要求6所述的多精度神经网络模型实现系统,其特征在于,所述对应关系确认模块包括:
对多精度神经网络模型进行结构分析,生成多精度神经网络模型的结构信息;
根据所述计算图算子配置信息和所述结构信息,生成计算图算子与数值精度的对应关系。
9.根据权利要求6所述的多精度神经网络模型实现系统,其特征在于,对多精度神经网络模型的参数进行调整的方法包括:重新训练方式或统计分析方式;
对于重新训练方式,根据计算图算子与算子数值精度对应关系增加训练节点到计算图中,所述计算图包括框架构建,所述训练节点包括采用算子构建;
对于统计分析方式,根据计算图算子与算子数值精度对应关系增加统计节点到计算图中,所述统计节点包括采用统计量构建;或者,不增加统计节点到计算图中,直接采用独立于计算图的分析。
10.根据权利要求6所述的多精度神经网络模型实现系统,其特征在于,所述配置生成模块包括:
对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
CN202110753398.6A 2021-07-02 2021-07-02 多精度神经网络模型实现方法及系统 Active CN113469349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110753398.6A CN113469349B (zh) 2021-07-02 2021-07-02 多精度神经网络模型实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110753398.6A CN113469349B (zh) 2021-07-02 2021-07-02 多精度神经网络模型实现方法及系统

Publications (2)

Publication Number Publication Date
CN113469349A true CN113469349A (zh) 2021-10-01
CN113469349B CN113469349B (zh) 2022-11-08

Family

ID=77877945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110753398.6A Active CN113469349B (zh) 2021-07-02 2021-07-02 多精度神经网络模型实现方法及系统

Country Status (1)

Country Link
CN (1) CN113469349B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108564168A (zh) * 2018-04-03 2018-09-21 中国科学院计算技术研究所 一种对支持多精度卷积神经网络处理器的设计方法
EP3496006A1 (en) * 2016-08-05 2019-06-12 Cambricon Technologies Corporation Limited Operation unit, method and device capable of supporting operation data of different bit widths
CN110073371A (zh) * 2017-05-05 2019-07-30 辉达公司 用于以降低精度进行深度神经网络训练的损失缩放
US20190340492A1 (en) * 2018-05-04 2019-11-07 Microsoft Technology Licensing, Llc Design flow for quantized neural networks
CN110852439A (zh) * 2019-11-20 2020-02-28 字节跳动有限公司 神经网络模型的压缩与加速方法、数据处理方法及装置
CN111563589A (zh) * 2020-04-14 2020-08-21 中科物栖(北京)科技有限责任公司 一种神经网络模型的量化方法及装置
CN111915003A (zh) * 2019-05-09 2020-11-10 深圳大普微电子科技有限公司 一种神经网络硬件加速器
CN112257844A (zh) * 2020-09-29 2021-01-22 浙江大学 一种基于混合精度配置的卷积神经网络加速器及其实现方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3496006A1 (en) * 2016-08-05 2019-06-12 Cambricon Technologies Corporation Limited Operation unit, method and device capable of supporting operation data of different bit widths
CN110073371A (zh) * 2017-05-05 2019-07-30 辉达公司 用于以降低精度进行深度神经网络训练的损失缩放
CN108564168A (zh) * 2018-04-03 2018-09-21 中国科学院计算技术研究所 一种对支持多精度卷积神经网络处理器的设计方法
US20190340492A1 (en) * 2018-05-04 2019-11-07 Microsoft Technology Licensing, Llc Design flow for quantized neural networks
CN111915003A (zh) * 2019-05-09 2020-11-10 深圳大普微电子科技有限公司 一种神经网络硬件加速器
CN110852439A (zh) * 2019-11-20 2020-02-28 字节跳动有限公司 神经网络模型的压缩与加速方法、数据处理方法及装置
CN111563589A (zh) * 2020-04-14 2020-08-21 中科物栖(北京)科技有限责任公司 一种神经网络模型的量化方法及装置
CN112257844A (zh) * 2020-09-29 2021-01-22 浙江大学 一种基于混合精度配置的卷积神经网络加速器及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NAHSUNG KIM ET.AL: "Exploiting Retraining-Based Mixed-Precision Quantization for Low-Cost DNN Accelerator Design", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》 *

Also Published As

Publication number Publication date
CN113469349B (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN106951926B (zh) 一种混合架构的深度学习方法及装置
Schmidhuber Learning complex, extended sequences using the principle of history compression
Iordache et al. Synthesis of deadlock prevention supervisors using Petri nets
US20180240010A1 (en) Technologies for optimized machine learning training
Reisinger et al. An adaptive Euler–Maruyama scheme for McKean–Vlasov SDEs with super-linear growth and application to the mean-field FitzHugh–Nagumo model
CN110955715A (zh) Erp系统和目标平台的数据转换方法、装置以及电子设备
CN113469349B (zh) 多精度神经网络模型实现方法及系统
CN106874562B (zh) 一种将架构模型转换为静态计算模型的转换系统及其方法
CN117278661B (zh) 一种工业物联网多协议解析方法及系统
CN109165131B (zh) 一种基于Perl的原型验证平台自动化实现方法
CN113031976B (zh) 一种基于Ambari的集群容量管理方法、装置及介质
CN117170822B (zh) 使用分布式网络中间件的系统模型和代码联合仿真系统
CN108597499B (zh) 语音处理方法以及语音处理装置
CN114610648B (zh) 一种测试方法、装置及设备
US8380482B2 (en) System and method for clock modeling in discrete-event simulation
US8442663B2 (en) Methods, apparatus and articles of manufacture to test process control systems
CN111832740A (zh) 一种对结构化数据实时衍生机器学习用特征的方法
CN107220214B (zh) 一种基于多项式拟合的变阶分数阶微积分频域分析方法
CN110266529A (zh) 基于物联网的大规模个性化智能服务定制方法
CN105608097A (zh) 适应性调整数据库结构的方法与调整装置
CN113901724A (zh) 一种数字孪生设备校正方法和系统
US8078445B2 (en) Load characterization in servo drive systems
EP1320047A2 (de) Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme
Potkonjak et al. High performance embedded system optimization using algebraic and generalized retiming techniques
Sieffert et al. Generation of inter-plc communication in distributed control systems using IEC 61499

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 230088 Building B2, Phase 3, Hefei Innovation Industrial Park, Intersection of Jiangjunling Road and Wanshui Road, High-tech Zone, Hefei City, Anhui Province

Patentee after: Hefei Kuxin Microelectronics Co.,Ltd.

Country or region after: China

Address before: Room 501, No.308 Songhu Road, Yangpu District, Shanghai 200082

Patentee before: SHANGHAI ARTOSYN MICROELECTRONIC Co.,Ltd.

Country or region before: China