CN113554097A - 模型量化方法、装置、电子设备和存储介质 - Google Patents
模型量化方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113554097A CN113554097A CN202110846406.1A CN202110846406A CN113554097A CN 113554097 A CN113554097 A CN 113554097A CN 202110846406 A CN202110846406 A CN 202110846406A CN 113554097 A CN113554097 A CN 113554097A
- Authority
- CN
- China
- Prior art keywords
- model
- block structure
- output data
- quantization
- precision
- 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
- 238000013139 quantization Methods 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 77
- 238000002156 mixing Methods 0.000 claims description 51
- 230000035945 sensitivity Effects 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 32
- 239000011159 matrix material Substances 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003062 neural network model Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 235000019580 granularity Nutrition 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002068 genetic effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例提供一种模型量化方法、装置、电子设备和存储介质。所述方法包括:获得校准数据集;利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构。
Description
技术领域
本发明涉及机器学习技术领域,具体涉及一种模型量化方法、装置、电子设备和存储介质。
背景技术
神经网络的推理部署是人工智能与计算机***结构的关键领域,大型神经网络的参数量很大,过多的参数量会占用较多的存储资源,因此神经网络的部署常常需要对模型进行压缩。模型量化是模型压缩的一项重要技术。
目前的模型量化方法时间周期长,并不适合应用大规模模型量化。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种模型量化方法、装置、电子设备和存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种模型量化方法,所述方法包括:
获得校准数据集;
利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;
利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;
基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;所述第一块结构为所述第一量化模型中的任一块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型;
在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构。
上述方案中,所述获得校准数据集,包括:
判断是否获得训练数据集;
在判定未获得训练数据集的情况下,基于预训练的模型对初始化数据进行处理,基于处理结果对所述初始化数据进行更新处理,获得所述校准数据集;其中,所述预训练的模型中包括与所述校准数据集相关的统计参数,所述预训练的模型按照所述统计参数对所述初始化数据进行处理。
上述方案中,所述基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整,包括:
基于所述第一输出数据和所述第二输出数据确定损失;
基于所述损失对所述第一块结构的参数进行调整。
上述方案中,所述基于所述第一输出数据和所述第二输出数据确定损失,包括:基于所述第一输出数据和所述第二输出数据确定费雪信息矩阵;所述费雪信息矩阵中的每个元素表征所述第二输出数据中的每个元素的重要程度;
确定所述第一输出数据和所述第二输出数据之间的误差,基于所述误差和所述费雪信息矩阵确定所述损失。
上述方案中,所述基于所述误差和所述费雪信息矩阵确定所述损失,包括:基于所述费雪信息矩阵中的每个元素,对所述第二输出数据中对应元素的误差进行加权求和,获得所述损失。
上述方案中,所述第二输出数据和所述第一输出数据满足第一预设条件,包括:在所述损失满足预设约束条件时,确定所述第二输出数据和所述第一输出数据满足所述第一预设条件。
上述方案中,所述至少一种位宽包括以下至少之一:2比特位宽、4比特位宽和8比特位宽。
上述方案中,在所述至少一种位宽包括至少两种比特位宽的情况下,所述方法还包括:
确定硬件指标数据,基于所述硬件指标数据和所述模型搜索空间获得初始混合精度集合,所述初始混合精度集合中包括多个个体元素,每个个体元素包括所述模型搜索空间中每个块结构的位宽,其中,所述位宽为所述至少两种比特位宽中的一个比特位宽;
改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的比特位宽,获得满足第二预设条件的目标混合精度个体元素。
上述方案中,所述方法还包括:分别获得所述校准数据集经每种位宽量化和调整后的量化模型处理后的数据集;
基于每种位宽量化和调整后的量化模型处理后的数据集和所述校准数据集,确定所述模型搜索空间中每种位宽的块结构对应的敏感度。
上述方案中,所述改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的比特位宽,包括:
基于每种位宽的块结构对应的敏感度,确定所述初始混合精度集合中的每个个体元素对应的敏感度;
对所述初始混合精度集合中的所有个体元素对应的敏感度由低到高进行排序,获得敏感度排序前预设数量位的个体元素;
改变所述前预设数量位的个体元素中的至少部分个体元素中的至少部分块结构的位宽。
上述方案中,所述获得满足第二预设条件的目标混合精度个体元素,包括:
在满足迭代次数的情况下,确定当前混合精度集合中的每个个体元素对应的敏感度,确定所述当前混合精度集合中、敏感度最低的个体元素;
将所述敏感度最低的个体元素确定为满足所述第二预设条件的目标混合精度个体元素。
上述方案中,所述方法还包括:基于所述目标混合精度个体元素确定混合精度模型,所述混合精度模型中包括的块结构具有至少一种位宽;
对所述混合精度模型中的块结构的参数进行调整,获得目标量化模型。
上述方案中,所述对所述混合精度模型中的块结构的参数进行调整,包括:
利用所述混合精度模型对所述校准数据集进行处理,获得所述混合精度模型中的每个块结构的第三输出数据;
利用第二量化模型对所述校准数据集进行处理,获得所述第二量化模型中的每个块结构的第四输出数据;所述第二量化模型为所述至少一种量化模型中的任一量化模型;
基于所述第二量化模型中的第三块结构的第三输出数据,和所述混合精度模型中与所述第三块结构对应的第四块结构的第四输出数据,对所述第三块结构的参数进行调整,基于调整后的所述第三块结构确定目标量化模型。
本发明实施例还提供了一种模型量化装置,所述装置包括:第一获取单元、第一处理单元、第二处理单元和块重建单元;其中,
所述第一获取单元,用于获得校准数据集;
所述第一处理单元,用于利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;
所述第二处理单元,用于利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;
所述块重建单元,用于基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构;所述第一块结构为所述第一量化模型中的任一块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述模型量化方法的步骤。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例所述模型量化方法的步骤。
本发明实施例提供的模型量化方法、装置、电子设备和存储介质,所述方法包括:获得校准数据集;利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;所述第一块结构为所述第一量化模型中的任一块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型;在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构。本实施例采用以块结构为单位进行离线模型量化,能大大减少模型量化所需要的计算资源和数据资源,也即本实施例采用较少数量的校验图像数据便可实现模型量化,且大大缩短了模型量化的周期,且显著提升离线模型量化的性能。
附图说明
图1为本发明实施例的模型量化方法的一种流程示意图;
图2为本发明实施例的模型量化方法的另一种流程示意图;
图3为本发明实施例的模型量化方法的又一种流程示意图;
图4为本发明实施例的模型量化装置的一种组成结构示意图;
图5为本发明实施例的模型量化装置的另一种组成结构示意图;
图6为本发明实施例的模型量化装置的又一种组成结构示意图;
图7为本发明实施例的电子设备的硬件组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
本发明实施例提供了一种模型量化方法。图1为本发明实施例的模型量化方法的一种流程示意图;如图1所示,所述方法包括:
步骤101:获得校准数据集;
步骤102:利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;
步骤103:利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;
步骤104:基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;所述第一块结构为所述第一量化模型中的任一块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型;
步骤105:在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构。
本实施例的模型量化方法应用于模型量化装置中,模型量化装置可设置于个人计算机、移动终端、服务器等具有处理功能的电子设备内,或者由处理器执行计算机程序实现。以下以电子设备作为执行主体为例进行说明。
本实施例中,所述校准数据集是针对本发明实施例中的模型量化所需的多个图像数据、点云数据、或语音数据等等,本实施例对校准数据集的类型不做限定。
在一些可选实施例中,所述获得校准数据集,包括:判断是否获得校准数据集,在判定未获得校准数据集的情况下,基于预训练的模型对初始化数据进行处理,基于处理结果对所述初始化数据进行更新处理,获得所述校准数据集;其中,所述预训练的模型中包括与所述校准数据集相关的统计参数,所述预训练的模型按照所述统计参数对所述初始化数据进行处理。
示例性的,电子设备可获得训练数据集,进而基于训练数据集进行后续的处理。其中,可选地,电子设备可采样所述训练数据集中的部分数据进行后续的处理。
本实施例中,用于进行后续处理的数据集可以是校准数据集,也可以是校准数据集中的部分数据,即从数据量庞大的校准数据集中选择一部分数据用于进行后续的处理。示例性的,本实施例中的用于进行后续处理的数据集的数量可以在100-1000个,但本实施例中的用于进行后续处理的数据集的数量不限于上述示例,也可采用校准数据集中的更多数量的数据。在其他实施方式中,也可采用用户搜集的其他数据进行后续的处理,
本实施例中,在电子设备中既没有上述实施例中的校准数据集、又没有用户自身搜集的其他数据的情况下,可采用预训练的模型生成校准数据集。其中,所述预训练的模型是预先训练完成的神经网络模型;所述预训练的模型中包括与所述校准数据集相关的统计参数,示例性的,所述预训练的模型中包括批规范化(BN,Batch Normalization)层,所述统计参数可存储在BN层中。则通过所述预训练的模型对初始化数据进行处理,通过对所述统计参数进行蒸馏学习,基于蒸馏学习到的特征对所述初始化数据进行处理,对处理结果进行反向传播更新所述初始化数据,从而获得所述校验图像数据,也即本实施例能够实现由初始化数据得到与之区别的校验数据集。
本实施例中,所述全精度模型是一种神经网络模型,具体是权重为浮点型参数的神经网络模型。示例性的,所述全精度模型可以是32位浮点型参数或者16位浮点型参数的神经网络模型,当然,本实施例对所述全精度模型的浮点位数不做限定。因浮点型参数的数据量较大,因此在保证模型性能基本不变的前提下,需要对模型进行压缩量化,压缩模型存储体积和计算量,从而降低模型内部参数(如权重和激活值)占用的存储空间。
本实施例中,神经网络模型的结构可包括干层(stem层,例如针对输入图像的第一个卷积)、身体层(body层)和头部层(head层),针对身体层(body层)层,又可分为多个阶段(stage),每个阶段又可分为多个块(block),每个块又可分为多个处理层(layer)。因此,通过上述对神经网络模型的结构划分,可确定四种粒度,即网络粒度、阶段粒度、块粒度和层粒度等等。通过研究发现,块粒度具有较好的效果,因此本实施例中以块(block)结构为单位进行参数调整以及量化处理。
本实施例中,电子设备中具有至少一种量化模型,所述至少一种量化模型的结构与所述全精度模型的结构相同,即所述全精度模型中具有几个块结构,每种量化模型中同样具有几个块结构,并且每种量化模型中的每个块结构与所述全精度模型中对应的块结构中具有的处理层也相同。区别在于,每种量化模型是参数已压缩量化至预设位宽的神经网络模型。例如,至少一种量化模型中可包括按照2比特位宽量化的量化模型、按照4比特位宽量化的量化模型、按照8比特位宽量化的量化模型等等,当然,本实施例中的量化模型不限于按照上述位宽量化后的模型,也可以是其他比特位宽量化后的模型。
本实施例中,将校准数据集分批次输入全精度模型和第一量化模型中,分别获得全精度模型中的每个块结构的输出数据(记为第一输出数据),并记录每个块结构的第一输出数据,以及获得每种量化模型中的每个块结构的输出数据(记为第二输出数据),并记录每种量化模型中的每个块结构的输入数据(其中,量化模型中的首个块结构的输入数据则为校准数据集,其他块结构的输入数据则为上一个块结构的第二输出数据)和第二输出数据;基于至少一种量化模型中的任一量化模型(记为第一量化模型)中的任一个块结构(记为第一块结构)的第一输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第二输出数据,对所述第一块结构的参数进行调整,直至所述第一块结构的所述第一输出数据和所述第二块结构的所述第二输出数据满足第一预设条件;直至所述第一量化模型中的每个块结构的参数均按照上述方式调整完成,从而获得参数调整后的至少一种量化模型。
本实施例中,电子设备基于参数调整后的所述至少一种量化模型确定模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构。示例性的,所述模型搜索空间又可称为搜索空间或模型空间;所述模型搜索空间可以表征神经网络模型的网络结构和参数等等。本实施例中通过参数调整后的所述至少一种量化模型,可获得包含有所述至少一种量化模型中的所有块结构的模型搜索空间,例如,每个量化模型中包括n(n为正整数)个块结构,则所述模型搜索空间中包括3n个块结构。
在一些可选实施例中,所述基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第二输出数据,对所述第一块结构的参数进行调整,包括:基于所述第一输出数据和所述第二输出数据确定损失;基于所述损失对所述第一块结构的参数进行调整。
本实施例中,基于第一量化模型和全精度模型中、对应的两个块结构(即第一块结构和第二块结构)的输出数据(即第二输出数据和第一输出数据)计算损失,基于所述损失对所述第一量化模型的第一块结构的参数进行调整,在逐步对参数进行调整的过程中,最终期望两个块结构(即第一块结构和第二块结构)的输出数据(即第二输出数据和第一输出数据)能够相等或近似相等。基于上述方式,对第一量化模型中的每个块结构的参数进行调整。
本实施例中,通过梯度反向传播来迭代更新第一量化模型中的参数的量化取整策略,具体是基于sigmoid函数将参数的取整变量限制在0到1的范围内,再通过一个正则化优化目标,确保在参数调整的后期,使得参数收敛到0或者1。
在一些可选实施例中,所述基于所述第二输出数据和所述第一输出数据确定损失,包括:基于所述第一输出数据和所述第二输出数据确定费雪信息矩阵;所述费雪信息矩阵中的每个元素表征所述第二输出数据中的每个元素的重要程度;确定所述第一输出数据和所述第二输出数据之间的误差,基于所述误差和所述费雪信息矩阵确定所述损失。
本实施例中,基于第一量化模型和全精度模型中、对应的两个块结构(即第一块结构和第二块结构)的输出数据(即第二输出数据和第一输出数据)确定费雪信息矩阵,即每个块结构对应一个费雪信息矩阵。其中,所述费雪信息矩阵中的每个元素表征所述第二输出数据中的每个元素的重要程度。示例性的,确定费雪信息矩阵的方式包括:计算所述第一输出数据和所述第二输出数据的KL散度,所述KL散度英文名称为Kullback-Leibler散度(Kullback-Leibler divergence),或者也可以称为信息散度(information divergence)或相对熵(relative entropy),表示两个概率分布(probability distribution)间差异的非对称性度量;进而对KL散度计算反向传播,获得块结构对应的输出梯度;将输出梯度的平方作为费雪信息矩阵的对角线元素。进而基于所述误差和所述费雪信息矩阵确定所述损失。
在一些可选实施例中,所述基于所述误差和所述费雪信息矩阵确定所述损失,包括:基于所述费雪信息矩阵中的每个元素,对所述第二输出数据中对应元素的误差进行加权求和,获得所述损失。
本实施例中,所述损失包括两部分,一部分是第一输出数据和第二输出数据之间的误差,另一部分是通过费雪信息矩阵对误差进行加权求和。具体的,通过计算第一输出数据和第二输出数据之间的误差,对误差做平方处理,获得平方误差;该平方误差与第一输出数据和第二输出数据同样是矩阵的形式;将平方误差中的元素与费雪信息矩阵中、对应位置的元素进行加权求和处理,获得误差函数(即所述误差),通过该误差函数以及上述量化取整策略,对模型中的参数进行调整。
在一些可选实施例中,所述第一输出数据和所述第二输出数据满足第一预设条件,包括:在所述损失满足预设约束条件时,确定所述第一输出数据和所述第二输出数据满足所述第一预设条件。
本实施例中,示例性的,在所述损失足够小时,例如小于预设阈值时,这时可以认为所述第一输出数据和所述第二输出数据相等或近似相等,则此时确定所述第一输出数据和所述第二输出数据满足所述第一预设条件。又或者,在迭代次数达到预设次数时,也可确定当前迭代过程下的所述第一输出数据和所述第二输出数据满足所述第一预设条件。
本实施例中,针对上述至少一种量化模型中的每个块结构均采用上述方式进行参数调整,直至每个块结构的第二输出数据与全精度模型中对应块结构的第一输出数据均满足上述第一预设条件。上述过程也可称为块重建优化过程。由于对每个块结构的参数调整往往需要通过多次的参数调整,因此在上述步骤102过程中,除了获得第一量化模型中每个块结构的第二输出数据以外,还记录每个块结构的输入数据,这样便于在每次迭代过程中,也即在参数调整后,可直接获得每个块结构的输入数据并输入至对应的块结构中进行处理,获得当前迭代过程中对应块结构的输出数据。
本实施例中,所述至少一种位宽包括以下至少之一:2比特位宽、4比特位宽和8比特位宽。如此,本实施例可获得2比特位宽、4比特位宽和8比特位宽中的至少一种比特位宽的量化模型,
本发明实施例的技术方案,采用如上所述的块重建优化方案,以块结构为单位进行离线模型量化,能够调整块结构内的所有权重和激活值,一方面仅需要数量较少的校准数据集,便可以显著提升量化模型的低性能问题,并且可以将模型离线量化到2比特位宽且性能可用;另一方面大大提升了模型量化的速度,仅需要在一个图形处理器设备上运行几十分钟便可以得到一个用于部署的模型,且能够快速对齐各个硬件平台的标准。
基于上述实施例,本发明实施例还提供了一种模型量化方法。图2为本发明实施例的模型量化方法的另一种流程示意图;如图2所示,在所述至少一种位宽包括至少两种比特位宽的情况下,所述方法还包括:
步骤106:确定硬件指标数据,基于所述硬件指标数据和所述模型搜索空间获得初始混合精度集合,所述初始混合精度集合中包括多个个体元素,每个个体元素包括和所述模型搜索空间中每个块结构的位宽,其中,所述位宽为所述至少两种比特位宽中的一个比特位宽;
步骤107:改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的位宽,获得满足第二预设条件的目标混合精度个体元素。
本实施例中,可通过人工选择的方式确定硬件指标数据,所述硬件指标数据,所述硬件指标数据例如可以是模型的大小、处理的延迟等数据。由于本实施例中已预先采用上述实施例的技术方案获得包括至少两种位宽的块结构的模型搜索空间,即获得了至少两种单精度位宽的量化模型,通过本实施例的方法,获得性能更佳的目标混合精度个体元素。
可选地,基于上述硬件指标数据确定初始混合精度集合,所述初始混合精度集合中包括多个个体元素,每个个体元素包括模型搜索空间中每个块结构的位宽,例如,个体元素1包括每个块结构的比特位宽,其中,每个个体元素中包括的所有块结构的位宽可以是相同精度的比特位宽,例如均是2比特位宽,也可以是部分相同部分不同的比特位宽,例如块结构1的比特位宽为2比特,块结构2的比特位宽为4比特,诸如此类,但初始混合精度集合中的每个个体元素均是能够满足硬件指标数据的。
进一步的,通过改变初始混合精度集合中的至少部分个体元素中的至少部分块结构的比特位宽,从中找出满足第二预设条件的目标混合精度个体元素。示例性的,可采用遗传算法对所述初始混合精度集合中的个体元素进行处理,从而获得满足第二预设条件的目标混合精度个体元素。其中,遗传算法是通过模拟自然进化过程搜索最优解的方法,将所述初始混合精度集合作为初始种群,对初始种群中的个体进行交叉变异,产生下一代符合硬件指标数据的种群,直至完成迭代过程,找到中群内最优的个体。
在本发明的一些可选实施例中,所述方法还包括:分别获得所述校准数据集经每种位宽量化和调整后的量化模型处理后的数据集;基于每种位宽量化和调整后的量化模型处理后的数据集和所述校准图像数据,确定所述模型搜索空间中每种位宽的块结构对应的敏感度。
本实施例中,在完成例如2比特位宽、4比特位宽和8比特位宽的量化模型的参数调整后,分别计算每种比特位宽的量化模型对应的敏感度。具体的,以任一位宽的量化模型为例,获得所述校准数据集经该量化模型处理后的数据集,计算处理后的数据集与校准数据集之间的KL散度,将所述KL散度作为该位宽的块结构对应的敏感度。
本实施例中,存储每种位宽的量化模型(或块结构)对应的敏感度。示例性的,每种位宽的块结构对应的敏感度可记录在查找表中。
在本发明的一些可选实施例中,所述改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的位宽,包括:基于每种位宽的块结构对应的敏感度,确定所述初始混合精度集合中的每个个体元素对应的敏感度;对所述初始混合精度集合中的所有个体元素对应的敏感度由低到高进行排序,获得敏感度排序前预设数量位的个体元素;改变所述前预设数量位的个体元素中的至少部分个体元素中的至少部分块结构的位宽。
在本发明的一些可选实施例中,所述获得满足第二预设条件的目标混合精度个体元素,包括:在满足迭代次数的情况下,确定当前混合精度集合中的每个个体元素对应的敏感度,确定所述当前混合精度集合中、敏感度最低的个体元素;将所述敏感度最低的个体元素确定为满足所述第二预设条件的目标混合精度个体元素。
本实施例中,可利用敏感度找到最佳的混合精度个体元素(即目标混合精度个体元素)。具体的,针对初始混合精度集合,可通过查找上述查找表的方式,获得每个个体元素对应的敏感度。其中,针对每个个体元素中的块结构对应的位宽,可通过查找上述查找表的方式,获得该位宽对应的敏感度作为该块结构的敏感度,这样可获得每个块结构对应的敏感度,进而将个体元素中所有块结构对应的敏感度进行加和处理,获得的敏感度之和作为该个体元素对应的敏感度;针对初始混合精度集合中的所有个体元素的敏感度按照由低到高进行排序,选择排序在先的预设数量位个体元素作为表现较好的个体元素,进而改变这些表现较好的个体元素中的至少部分个体元素中的至少部分块结构的位宽,也即基于初始混合精度集合获得了下一代混合精度集合,重复上述过程,直至达到预设迭代次数,将最后一次迭代过程获得的、敏感度最低的个体元素确定为满足所述第二预设条件的目标混合精度个体元素。
基于上述实施例,如图3所示,
所述方法还包括:
步骤108:基于所述目标混合精度个体元素确定混合精度模型,所述混合精度模型中包括的块结构具有至少一种位宽;
步骤109:对所述混合精度模型中的块结构的参数进行调整,获得目标量化模型。
本实施例中,电子设备在获得性能较好的目标混合精度个体元素后,可基于目标混合精度个体元素确定其中各个块结构的位宽,再基于各个块结构的位宽获得混合精度模型,所述混合精度模型中包括的块结构具有至少一种位宽。进而再根据上述实施例中的步骤102至步骤105的记载,对混合精度模型进行块重建优化,也即对混合精度模型中的参数进行调整,从而获得目标量化模型。
在一些可选实施例中,所述对所述混合精度模型中的块结构的参数进行调整,包括:利用所述混合精度模型对所述校准数据集进行处理,获得所述混合精度模型中的每个块结构的第三输出数据;利用第二量化模型对所述校准数据集进行处理,获得所述第二量化模型中的每个块结构的第四输出数据;所述第二量化模型为所述至少一种量化模型中的任一量化模型;基于所述第二量化模型中的第三块结构的第三输出数据,和所述混合精度模型中与所述第三块结构对应的第四块结构的第四输出数据,对所述第三块结构的参数进行调整,基于调整后的所述第三块结构确定目标量化模型。
本实施例中,与上述步骤102至步骤105近似,将校准数据集分批次输入至混合精度模型和第二量化模型;所述第二量化模型为按照预设位宽(例如2比特、4比特或8比特等)量化后的模型;分别获得混合精度模型中每个块结构的输出数据(记为第三输出数据),并记录每个块结构的输入数据和第三输出数据,以及获得第二量化模型中的每个块结构的输出数据(记为第四输出数据);基于第二量化模型中的任一块结构(记为第三块结构)的第三输出数据,和所述混合精度模型中与所述第三块结构对应的第四块结构的第四输出数据,对第三块结构的参数进行调整,直至所述第三块结构的所述第三输出数据和所述第四块结构的第四输出数据满足上述第一预设条件;直至所述第二量化模型中的每个块结构的参数均按照上述方式调整完成,从而获得目标量化模型(即参数调整后的第二量化模型)。
其中,如何确定满足上述第一预设条件可参照上述实施例中所述,这里不再赘述。
如此,本实施例以块结构的敏感度作为度量,在寻找最佳的混合精度模型时采用遗传算法,并对最佳的混合精度模型进行块重建优化,相比于单精度量化模型,混合精度模型的精确度更高,性能更佳。
本发明实施例还提供了一种模型量化装置。图4为本发明实施例的模型量化装置的一种组成结构示意图,如图4所示,所述装置包括:第一获取单元31、第一处理单元32、第二处理单元33和块重建单元34;其中,
所述第一获取单元31,用于获得校准数据集;
所述第一处理单元32,用于利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;
所述第二处理单元33,用于利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;
所述块重建单元34,用于基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型。
在本发明的一些可选实施例中,所述第一获取单元31,用于判断是否获得校准数据集;在判定未获得所述校准数据集的情况下,基于预训练的模型对初始化数据进行处理,基于处理结果对所述初始化数据进行更新处理,获得所述训练数据集;其中,所述预训练的模型中包括与所述校准数据集相关的统计参数,所述预训练的模型按照所述统计参数对所述初始化数据进行处理。
在本发明的一些可选实施例中,所述块重建单元34,用于基于所述第一输出数据和所述第二输出数据确定损失;基于所述损失对所述第一块结构的参数进行调整。
在本发明的一些可选实施例中,所述块重建单元34,用于基于所述第一输出数据和所述第二输出数据确定费雪信息矩阵;所述费雪信息矩阵中的每个元素表征所述第二输出数据中的每个元素的重要程度;确定所述第一输出数据和所述第二输出数据之间的误差,基于所述误差和所述费雪信息矩阵确定所述损失。
在本发明的一些可选实施例中,所述块重建单元34,用于基于所述费雪信息矩阵中的每个元素,对所述第二输出数据中对应元素的误差进行加权求和,获得所述损失。
在本发明的一些可选实施例中,所述块重建单元34,用于在所述损失满足预设约束条件时,确定所述第二输出数据和所述第一输出数据满足所述第一预设条件。
在本发明的一些可选实施例中,所述至少一种位宽包括以下至少之一:2比特位宽、4比特位宽和8比特位宽。
在本发明的一些可选实施例中,如图5所示,所述装置还包括确定单元35和精度混合单元36;其中,
所述确定单元35,用于确定硬件指标数据,基于所述硬件指标数据和所述模型搜索空间获得初始混合精度集合,所述初始混合精度集合中包括多个个体元素,每个个体元素包括所述模型搜索空间中每个块结构的位宽,其中,所述位宽为所述至少两种比特位宽中的一个比特位宽;
所述精度混合单元36,用于改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的位宽,获得满足第二预设条件的目标混合精度个体元素。
在本发明的一些可选实施例中,如图5所示,所述装置还包括敏感度处理单元37,用于分别获得所述校准数据集经每种位宽量化和调整后的量化模型处理后的数据集;基于每种位宽量化和调整后的量化模型处理后的数据集和所述校准图像数据,确定所述模型搜索空间中每种位宽的块结构对应的敏感度。
在本发明的一些可选实施例中,所述精度混合单元36,用于基于每种位宽的块结构对应的敏感度,确定所述初始混合精度集合中的每个个体元素对应的敏感度;对所述初始混合精度集合中的所有个体元素对应的敏感度由低到高进行排序,获得敏感度排序前预设数量位的个体元素;改变所述前预设数量位的个体元素中的至少部分个体元素中的至少部分块结构的比特位宽。
在本发明的一些可选实施例中,所述精度混合单元36,用于在满足迭代次数的情况下,确定当前混合精度集合中的每个个体元素对应的敏感度,确定所述当前混合精度集合中、敏感度最低的个体元素;将所述敏感度最低的个体元素确定为满足所述第二预设条件的目标混合精度个体元素。
在本发明的一些可选实施例中,如图6所示,所述装置还包括第二获取单元38和第三处理单元39,用于基于所述目标混合精度个体元素确定混合精度模型,所述混合精度模型中包括的块结构具有至少一种位宽;
所述第三处理单元39,用于对所述混合精度模型中的块结构的参数进行调整,获得目标量化模型。
所述第三处理单元39,用于利用所述混合精度模型对所述校准数据集进行处理,获得所述混合精度模型中的每个块结构的第三输出数据;利用第二量化模型对所述校准数据集进行处理,获得所述第二量化模型中的每个块结构的第四输出数据;所述第二量化模型为所述至少一种量化模型中的任一量化模型;基于所述第二量化模型中的第三块结构的第三输出数据,和所述混合精度模型中与所述第三块结构对应的第四块结构的第四输出数据,对所述第三块结构的参数进行调整,基于调整后的所述第三块结构确定目标量化模型。
本发明实施例中,所述装置应用于电子设备中。所述装置中的第一获取单元31、第二获取单元38、第一处理单元32、第二处理单元33、块重建单元34、确定单元35、精度混合单元36、敏感度处理单元37和第三处理单元39,在实际应用中均可由中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable GateArray)实现。
需要说明的是:上述实施例提供的模型量化装置在进行模型量化时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的模型量化装置与模型量化方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供了一种电子设备。图7为本发明实施例的电子设备的硬件组成结构示意图,如图7所示,所述电子设备包括存储器42、处理器41及存储在存储器42上并可在处理器41上运行的计算机程序,所述处理器41执行所述程序时实现本发明实施例所述模型量化方法的步骤。
可选地,所述电子设备中还可包括用户接口43。可以理解,电子设备中的各个组件可通过总线***44耦合在一起。可理解,总线***44用于实现这些组件之间的连接通信。总线***44除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线***44。
其中,用户接口43可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器42可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,Ferromagnetic Random Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器42旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41实现。处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器41可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器42,处理器41读取存储器42中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器42,上述计算机程序可由电子设备的处理器41执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
本发明实施例提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述模型量化方法的步骤。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种模型量化方法,其特征在于,所述方法包括:
获得校准数据集;
利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;
利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;
基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;所述第一块结构为所述第一量化模型中的任一块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型;
在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构。
2.根据权利要求1所述的方法,其特征在于,所述获得校准数据集,包括:
判断是否获得校准数据集;
在判定未获得所述校准数据集的情况下,基于预训练的模型对初始化数据进行处理,基于处理结果对所述初始化数据进行更新处理,获得所述校准数据集;其中,所述预训练的模型中包括与所述校准数据集相关的统计参数,所述预训练的模型按照所述统计参数对所述初始化数据进行处理。
3.根据权利要求1所述的方法,其特征在于,所述基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整,包括:
基于所述第一输出数据和所述第二输出数据确定损失;
基于所述损失对所述第一块结构的参数进行调整。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一输出数据和所述第二输出数据确定损失,包括:
基于所述第一输出数据和所述第二输出数据确定费雪信息矩阵;所述费雪信息矩阵中的每个元素表征所述第二输出数据中的每个元素的重要程度;
确定所述第一输出数据和所述第二输出数据之间的误差,基于所述误差和所述费雪信息矩阵确定所述损失。
5.根据权利要求4所述的方法,其特征在于,所述基于所述误差和所述费雪信息矩阵确定所述损失,包括:
基于所述费雪信息矩阵中的每个元素,对所述第二输出数据中对应元素的误差进行加权求和,获得所述损失。
6.根据权利要求3至5任一项所述的方法,其特征在于,所述第二输出数据和所述第一输出数据满足第一预设条件,包括:
在所述损失满足预设约束条件时,确定所述第二输出数据和所述第一输出数据满足所述第一预设条件。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述至少一种位宽包括以下至少之一:2比特位宽、4比特位宽和8比特位宽。
8.根据权利要求7所述的方法,其特征在于,在所述至少一种位宽包括至少两种比特位宽的情况下,所述方法还包括:
确定硬件指标数据,基于所述硬件指标数据和所述模型搜索空间获得初始混合精度集合,所述初始混合精度集合中包括多个个体元素,每个个体元素包括所述模型搜索空间中每个块结构的位宽,其中,所述位宽为所述至少两种比特位宽中的一个比特位宽;
改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的位宽,获得满足第二预设条件的目标混合精度个体元素。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
分别获得所述校准数据集经每种位宽量化和调整后的量化模型处理后的数据集;
基于每种位宽量化和调整后的量化模型处理后的数据集和所述校准数据集,确定所述模型搜索空间中每种位宽的块结构对应的敏感度。
10.根据权利要求9所述的方法,其特征在于,所述改变所述初始混合精度集合中的至少部分个体元素中的至少部分块结构的位宽,包括:
基于每种位宽的块结构对应的敏感度,确定所述初始混合精度集合中的每个个体元素对应的敏感度;
对所述初始混合精度集合中的所有个体元素对应的敏感度由低到高进行排序,获得敏感度排序前预设数量位的个体元素;
改变所述前预设数量位的个体元素中的至少部分个体元素中的至少部分块结构的位宽。
11.根据权利要求10所述的方法,其特征在于,所述获得满足第二预设条件的目标混合精度个体元素,包括:
在满足迭代次数的情况下,确定当前混合精度集合中的每个个体元素对应的敏感度,确定所述当前混合精度集合中、敏感度最低的个体元素;
将所述敏感度最低的个体元素确定为满足所述第二预设条件的目标混合精度个体元素。
12.根据权利要求8至11任一项所述的方法,其特征在于,所述方法还包括:
基于所述目标混合精度个体元素确定混合精度模型,所述混合精度模型中包括的块结构具有至少一种位宽;
对所述混合精度模型中的块结构的参数进行调整,获得目标量化模型。
13.根据权利要求12所述的方法,其特征在于,所述对所述混合精度模型中的块结构的参数进行调整,包括:
利用所述混合精度模型对所述校准数据集进行处理,获得所述混合精度模型中的每个块结构的第三输出数据;
利用第二量化模型对所述校准数据集进行处理,获得所述第二量化模型中的每个块结构的第四输出数据;所述第二量化模型为所述至少一种量化模型中的任一量化模型;
基于所述第二量化模型中的第三块结构的第三输出数据,和所述混合精度模型中与所述第三块结构对应的第四块结构的第四输出数据,对所述第三块结构的参数进行调整,基于调整后的所述第三块结构确定目标量化模型。
14.一种模型量化装置,其特征在于,所述装置包括:第一获取单元、第一处理单元、第二处理单元和块重建单元;其中,
所述第一获取单元,用于获得校准数据集;
所述第一处理单元,用于利用全精度模型对所述校准数据集进行处理,获得所述全精度模型中的每个块结构的第一输出数据;所述全精度模型包括至少一个块结构,每个块结构包括至少一个处理层;
所述第二处理单元,用于利用至少一种量化模型对所述校准数据集进行处理,获得所述至少一种量化模型中的每个块结构的第二输出数据;所述至少一种量化模型和所述全精度模型的结构相同;所述至少一种量化模型为分别按照至少一种位宽量化后的模型;
所述块重建单元,用于基于第一量化模型中的第一块结构的第二输出数据,和所述全精度模型中与所述第一块结构对应的第二块结构的第一输出数据,对所述第一块结构的参数进行调整;在所述第二输出数据和所述第一输出数据满足第一预设条件的情况下,基于调整后的所述至少一种量化模型获得模型搜索空间,所述模型搜索空间中包括所述至少一种位宽的块结构;所述第一块结构为所述第一量化模型中的任一块结构;所述第一量化模型为所述至少一种量化模型中的任一量化模型。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至13任一项所述方法的步骤。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至13任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110846406.1A CN113554097B (zh) | 2021-07-26 | 2021-07-26 | 模型量化方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110846406.1A CN113554097B (zh) | 2021-07-26 | 2021-07-26 | 模型量化方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113554097A true CN113554097A (zh) | 2021-10-26 |
CN113554097B CN113554097B (zh) | 2023-03-24 |
Family
ID=78104457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110846406.1A Active CN113554097B (zh) | 2021-07-26 | 2021-07-26 | 模型量化方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113554097B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239792A (zh) * | 2021-11-01 | 2022-03-25 | 荣耀终端有限公司 | 模型量化方法、装置及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633242A (zh) * | 2017-10-23 | 2018-01-26 | 广州视源电子科技股份有限公司 | 网络模型的训练方法、装置、设备和存储介质 |
CN109242928A (zh) * | 2018-10-24 | 2019-01-18 | 天津工业大学 | 一种轻量级具有融合层的近红外图像彩色化深度学习模型 |
US20190340492A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Design flow for quantized neural networks |
CN110796233A (zh) * | 2019-10-17 | 2020-02-14 | 北京航空航天大学 | 基于迁移学习的深度残差卷积神经网络的自适应压缩方法 |
CN111488985A (zh) * | 2020-04-08 | 2020-08-04 | 华南理工大学 | 深度神经网络模型压缩训练方法、装置、设备、介质 |
CN111767833A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 模型生成方法、装置、电子设备及存储介质 |
CN112288032A (zh) * | 2020-11-18 | 2021-01-29 | 上海依图网络科技有限公司 | 一种基于生成对抗网络的量化模型训练的方法及装置 |
CN112633658A (zh) * | 2020-12-16 | 2021-04-09 | 广东电网有限责任公司广州供电局 | 一种基于cnn-lstm的低压台区拓扑关系识别方法 |
CN112862013A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 一种量化交易策略的问题诊断方法及装置 |
CN112906865A (zh) * | 2021-02-19 | 2021-06-04 | 深圳大学 | 神经网络架构搜索方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-26 CN CN202110846406.1A patent/CN113554097B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633242A (zh) * | 2017-10-23 | 2018-01-26 | 广州视源电子科技股份有限公司 | 网络模型的训练方法、装置、设备和存储介质 |
US20190340492A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Design flow for quantized neural networks |
CN109242928A (zh) * | 2018-10-24 | 2019-01-18 | 天津工业大学 | 一种轻量级具有融合层的近红外图像彩色化深度学习模型 |
CN110796233A (zh) * | 2019-10-17 | 2020-02-14 | 北京航空航天大学 | 基于迁移学习的深度残差卷积神经网络的自适应压缩方法 |
CN111488985A (zh) * | 2020-04-08 | 2020-08-04 | 华南理工大学 | 深度神经网络模型压缩训练方法、装置、设备、介质 |
CN111767833A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 模型生成方法、装置、电子设备及存储介质 |
CN112288032A (zh) * | 2020-11-18 | 2021-01-29 | 上海依图网络科技有限公司 | 一种基于生成对抗网络的量化模型训练的方法及装置 |
CN112633658A (zh) * | 2020-12-16 | 2021-04-09 | 广东电网有限责任公司广州供电局 | 一种基于cnn-lstm的低压台区拓扑关系识别方法 |
CN112906865A (zh) * | 2021-02-19 | 2021-06-04 | 深圳大学 | 神经网络架构搜索方法、装置、电子设备及存储介质 |
CN112862013A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 一种量化交易策略的问题诊断方法及装置 |
Non-Patent Citations (4)
Title |
---|
BARRET ZOPH等: "Learning Transferable Architectures for Scalable Image Recognition", <2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION> * |
SHENXIAOLU1984: "【人体姿态】Convolutional Pose Machines", 《HTTPS://BLOG.CSDN.NET/SHENXIAOLU1984/ARTICLE/DETAILS/51094959》 * |
YUHANG LI等: "BRECQ: PUSHING THE LIMIT OF POST-TRAINING", 《ARXIV:2102.05426V1[CS.LG] 10 FEB 2021》 * |
葛道辉等: "轻量级神经网络架构综述", 《软件学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239792A (zh) * | 2021-11-01 | 2022-03-25 | 荣耀终端有限公司 | 模型量化方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113554097B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348562B (zh) | 神经网络的量化策略确定方法、图像识别方法和装置 | |
CN111488986A (zh) | 一种模型压缩方法、图像处理方法以及装置 | |
CN111079899A (zh) | 神经网络模型压缩方法、***、设备及介质 | |
CN112686382B (zh) | 一种卷积模型轻量化方法及*** | |
CN112906294A (zh) | 用于深度学习模型的量化方法和量化装置 | |
EP3999960A1 (en) | Executing large artificial intelligence models on memory-constrained devices | |
CN111898750A (zh) | 基于进化算法的神经网络模型压缩方法及装置 | |
Wang et al. | Stochastic circuit design and performance evaluation of vector quantization for different error measures | |
CN112101524A (zh) | 可在线切换比特位宽的量化神经网络的方法及*** | |
CN114004352B (zh) | 一种仿真实现方法、神经网络编译器以及计算机可读存储介质 | |
CN113554097B (zh) | 模型量化方法、装置、电子设备和存储介质 | |
CN112598129A (zh) | 基于ReRAM神经网络加速器的可调硬件感知的剪枝和映射框架 | |
CN112598123A (zh) | 神经网络的权值的量化方法、量化装置及存储介质 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类***及方法 | |
Oh et al. | Non-uniform step size quantization for accurate post-training quantization | |
CN116431807B (zh) | 一种文本分类方法、装置、存储介质及电子装置 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
US11036980B2 (en) | Information processing method and information processing system | |
CN112508166A (zh) | 信息处理装置和方法以及存储信息处理程序的记录介质 | |
WO2021213649A1 (en) | Method and system for generating a predictive model | |
US20230058500A1 (en) | Method and machine learning system to perform quantization of neural network | |
CN114595627A (zh) | 模型量化方法、装置、设备及存储介质 | |
CN115358178A (zh) | 一种基于融合神经网络的电路良率分析方法 | |
CN110276448B (zh) | 一种模型压缩方法及装置 |
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 |