CN113469349A - 多精度神经网络模型实现方法及系统 - Google Patents
多精度神经网络模型实现方法及系统 Download PDFInfo
- 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
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims abstract description 60
- 238000012916 structural analysis Methods 0.000 claims abstract description 11
- 238000007619 statistical method Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 2
- 238000012821 model calculation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical 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所述的多精度神经网络模型实现系统,其特征在于,所述配置生成模块包括:
对调整好模型参数的多精度神经网络模型,格式化生成各层次的配置信息,所述配置信息格式来自于所述硬件加速器的需求。
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)
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 | 浙江大学 | 一种基于混合精度配置的卷积神经网络加速器及其实现方法 |
-
2021
- 2021-07-02 CN CN202110753398.6A patent/CN113469349B/zh active Active
Patent Citations (8)
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)
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 |