CN117829222A - 模型量化方法、装置、电子设备和计算机可读存储介质 - Google Patents
模型量化方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117829222A CN117829222A CN202311843219.3A CN202311843219A CN117829222A CN 117829222 A CN117829222 A CN 117829222A CN 202311843219 A CN202311843219 A CN 202311843219A CN 117829222 A CN117829222 A CN 117829222A
- Authority
- CN
- China
- Prior art keywords
- model
- quantization
- target
- node
- sampling
- 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.)
- Pending
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 612
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000005070 sampling Methods 0.000 claims abstract description 202
- 238000012545 processing Methods 0.000 claims abstract description 201
- 238000012549 training Methods 0.000 claims abstract description 121
- 238000007667 floating Methods 0.000 claims description 64
- 238000006243 chemical reaction Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 21
- 238000013499 data model Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 14
- 238000013136 deep learning model Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种模型量化方法、装置、电子设备和计算机可读存储介质,该方法包括:对目标模型划分至少两轮模型量化子阶段,在模型量化子阶段,对目标数据处理节点进行采样并基于得到的目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型;若初始目标量化模型不满足模型量化结束条件,在下一模型量化子阶段,再次进行采样得到下一目标采样节点,将下一目标采样节点作为目标采样节点并执行基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型的步骤;若初始目标量化模型满足模型量化结束条件,将初始目标量化模型作为目标量化模型,使得目标量化模型输出结果的准确性得到有效提升。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种模型量化方法、装置、电子设备和计算机可读存储介质。
背景技术
随着深度学习的快速发展,深度学习模型的复杂程度逐渐提高,使得深度学习模型的参数逐渐增多。因此,深度学习模型的运算强度较高,为了缓解深度学习模型的运算强度,通常会通过调整量化位宽来对深度学习模型进行优化,但是调整量化位宽会降低深度学习模型输出结果的准确性。
发明内容
本申请实施例提供一种模型量化方法、装置、电子设备和计算机可读存储介质,可以解决为了缓解深度学习模型的运算强度,通常会通过调整量化位宽来对深度学习模型进行优化,但是调整量化位宽会降低深度学习模型输出结果的准确性的技术问题。
第一方面,本申请实施例提供一种模型量化方法,所述方法包括:
获取完成模型训练阶段的目标模型,确定所述目标模型对应的多个目标数据处理节点;
对所述目标模型划分至少两轮模型量化子阶段,在所述模型量化子阶段,对所述目标数据处理节点进行采样得到目标采样节点,基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型;
检测所述初始目标量化模型是否满足模型量化结束条件;
若所述初始目标量化模型不满足所述模型量化结束条件,则在所述模型量化子阶段的下一模型量化子阶段,对所述目标数据处理节点进行采样得到下一目标采样节点,将所述下一目标采样节点作为所述目标采样节点并执行所述基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型的步骤;
若所述初始目标量化模型满足所述模型量化结束条件,则将所述初始目标量化模型作为目标量化模型。
可选地,所述基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型,包括:
基于所述目标采样节点对所述目标模型进行量化处理得到量化节点;
基于所述量化节点更新所述目标模型的目标采样节点,以及对所述目标模型进行模型量化训练处理得到初始目标量化模型。
可选地,所述基于所述目标采样节点对所述目标模型进行量化处理得到量化节点,包括:
确定所述目标模型中所述目标采样节点对应的浮点型模型参数,将所述浮点型模型参数进行数据类型转化得到定点型模型参数;
基于所述定点型模型参数对所述目标采样节点进行更新,得到初始量化节点;
获取浮点定点转换函数,对所述初始量化节点配置所述浮点定点转换函数得到量化节点;
其中,所述浮点定点转换函数用于获取所述初始量化节点的节点输出数据,并将所述节点输出数据进行定点类型数据转化得到目标节点输出数据。
可选地,所述对所述目标模型进行模型量化训练处理得到初始目标量化模型,包括:
获取预设样本量化训练集,所述预设样本量化训练集包括样本量化训练数据和所述样本量化训练数据对应的样本量化标签信息;
将所述目标模型作为初始目标量化模型,将所述样本量化训练数据输入所述初始目标量化模型进行模型量化训练处理,得到模型量化预测结果;
确定所述模型量化预测结果和所述样本量化标签信息对应的模型量化损失值,基于所述模型量化损失值对所述初始目标量化模型中所述量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,得到量化模型参数调整后的初始目标量化模型;
其中,所述参考节点为所述目标数据处理节点中所述量化节点之外的节点。
可选地,所述基于所述模型量化损失值对所述初始目标量化模型中所述量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,包括:
基于所述模型量化损失值对所述初始目标量化模型中所述量化节点对应的第一模型参数进行定点型参数调整,得到定点型数据类型的第一模型参数;
基于所述模型量化损失值对所述初始目标量化模型中参考节点对应的第二模型参数进行浮点型参数调整,得到浮点型数据类型的第二模型参数。
可选地,所述确定所述目标模型对应的多个目标数据处理节点,包括:
获取所述目标模型对应的多个数据处理节点,从所述多个数据处理节点中筛选浮点型节点类型对应的初始数据处理节点;
从所述初始数据处理节点中选取多个目标数据处理节点。
可选地,所述对所述目标数据处理节点进行采样得到目标采样节点,包括:
确定针对所述模型量化子阶段的参考节点采样率;
采用所述参考节点采样率对所述目标数据处理节点进行采样,得到目标采样节点。
可选地,所述将所述初始目标量化模型作为目标量化模型之后,还包括:
获取实际应用场景数据,将所述实际应用场景数据输入目标量化模型进行场景数据模型处理。
可选地,所述对所述目标模型划分至少两轮模型量化子阶段,包括:
获取针对模型量化阶段的预设节点采样率,基于所述预设节点采样率确定针对所述目标模型的模型量化训练批次;
基于所述模型量化训练批次对所述目标模型划分至少两轮模型量化子阶段。
第二方面,本申请实施例提供一种模型量化装置,所述装置包括:
获取模块,适于获取完成模型训练阶段的目标模型,确定所述目标模型对应的多个目标数据处理节点;
模型量化模块,适于对所述目标模型划分至少两轮模型量化子阶段,在所述模型量化子阶段,对所述目标数据处理节点进行采样得到目标采样节点,基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型;
检测模块,适于检测所述初始目标量化模型是否满足模型量化结束条件;
迭代模块,适于若所述初始目标量化模型不满足所述模型量化结束条件,则在所述模型量化子阶段的下一模型量化子阶段,对所述目标数据处理节点进行采样得到下一目标采样节点,将所述下一目标采样节点作为所述目标采样节点并执行所述基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型的步骤;
输出模块,适于若所述初始目标量化模型满足所述模型量化结束条件,则将所述初始目标量化模型作为目标量化模型。
第三方面,本申请实施例提供一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述中任一项所述的方法。
本申请实施例一些实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供了一种模型量化方法,该方法首先获取完成模型训练阶段的目标模型,通过至少两轮模型量化子阶段对目标模型中的多个目标数据处理节点进行逐步量化,从而通过迭代学习可以准确的学习到经过量化后每个目标数据处理节点基于模型表征出来的噪声,进而可以实现对量化后每个目标数据处理节点准确的优化,通过至少两轮模型量化子阶段解决了复杂模型在量化训练过程中难以收敛的问题,并且提高了量化模型输出结果的精度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种模型量化方法的示例性系统架构图;
图2为本申请实施例提供的一种模型量化方法的流程示意图;
图3为本申请实施例提供的一种对目标模型进行模型量化训练处理的流程示意图;
图4为本申请实施例提供的一种基于目标采样节点对目标模型进行量化处理的流程示意图;
图5为本申请实施例提供的又一种对目标模型进行模型量化训练处理的流程示意图;
图6为本申请实施例提供的一种进行量化模型参数调整的流程示意图;
图7为本申请实施例提供的一种确定目标数据处理节点的流程示意图;
图8为本申请实施例提供的一种得到目标采样节点的流程示意图;
图9为本申请实施例提供的一种对目标模型划分至少两轮模型量化子阶段的流程示意图;
图10为本申请实施例提供的一种模型量化装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使得本申请实施例的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请实施例一部分实施例,而非全部实施例。基于本申请实施例中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在相关技术中,深度学习模型部署过程中,模型量化是不可缺少的一部分,通过量化可以有效提高模型的推理速度,但是量化后会降低模型的精度,会出现模型量化后数据处理能力下降等问题。常见的量化方法是通过调整量化位宽,或者采用混精量化等方法对模型效果进行优化,但是这些方法对量化模型输出结果的精度提升有限。并且在对量化后的模型对应的量化噪声进行优化时,由于没有较好的策略对量化噪声进行有效分析,单纯的调整量化位宽,难以有效提高量化模型输出结果的精度。
为了解决上述技术问题,本申请实施例提供了一种模型量化方法,该方法首先获取完成模型训练阶段的目标模型,通过至少两轮模型量化子阶段对目标模型中的多个目标数据处理节点进行逐步量化,从而通过迭代学习可以准确的学习到经过量化后每个目标数据处理节点基于模型表征出来的噪声,进而可以实现对量化后每个目标数据处理节点准确的优化,通过至少两轮模型量化子阶段解决了复杂模型在量化训练过程中难以收敛的问题,并且提高了量化模型输出结果的精度。
请参阅图1,图1为本申请实施例提供的一种模型量化方法的示例性系统架构图。
如图1所示,系统架构可以包括电子设备101、网络102和服务器103。网络102用于在电子设备101和服务器103之间提供通信链路的介质。网络102可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(Wireless-Fidelity,Wi-Fi)通信链路或微波通信链路等。
电子设备101可以通过网络102与服务器103交互,以接收来自服务器103的消息或向服务器103发送消息,或者电子设备101可以通过网络102与服务器103交互,进而接收其他用户向服务器103发送的消息或者数据。电子设备101可以是硬件,也可以是软件。当电子设备101为硬件时,可以是各种电子设备,包括但不限于智能手表、智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当电子设备101为软件时,可以是安装在上述所列举的电子设备中,其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
服务器103可以是提供各种服务的业务服务器。需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
在本申请实施例中,电子设备101可以获取完成模型训练阶段的目标模型,确定目标模型对应的多个目标数据处理节点;之后,对目标模型划分至少两轮模型量化子阶段,在模型量化子阶段,对目标数据处理节点进行采样得到目标采样节点,基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型;以及,检测初始目标量化模型是否满足模型量化结束条件;若初始目标量化模型不满足模型量化结束条件,则在模型量化子阶段的下一模型量化子阶段,对目标数据处理节点进行采样得到下一目标采样节点,将下一目标采样节点作为目标采样节点并执行基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型的步骤;若初始目标量化模型满足模型量化结束条件,则将初始目标量化模型作为目标量化模型。
应理解,图1中的电子设备、网络以及服务器的数目仅是示意性的,根据实现需要,可以是任意数量的电子设备、网络以及服务器。
请参阅图2,图2为本申请实施例提供的一种模型量化方法的流程示意图。本申请实施例的执行主体可以是执行模型量化方法的电子设备,也可以是执行模型量化方法的电子设备中的处理器,还可以是执行模型量化方法的电子设备中的模型量化服务。为方便描述,下面以执行主体是电子设备中的处理器为例,介绍模型量化方法的具体执行过程。
如图2所示,模型量化方法包括:
S202:获取完成模型训练阶段的目标模型,确定目标模型对应的多个目标数据处理节点。
其中,目标模型可以是用于对特定数据完成相应数据处理的深度学习神经网络模型,例如预测、分类、聚类等,这里对目标模型的模型应用类型不作限制,可以是图像处理场景下对应的图像处理模型、也可以是音频处理场景对应的音频处理模型、还可以是视频处理场景下对应的视频处理模型,以及事项预测场景下的预测模型等。
完成模型训练阶段的目标模型是指模型经过一系列训练和优化后,达到稳定、可靠、有效状态的模型,使得目标模型可以在实际应用中可以提供准确的模型输出结果。目标模型通常不仅在训练数据上表现良好,还能够很好地泛化到新的数据上,避免过拟合或欠拟合的问题,同时,目标模型在面对不同的数据分布或噪声时,仍能够保持相对稳定的表现,不易受到干扰。
为了得到完成模型训练阶段的目标模型,通常需要对模型进行一系列的模型训练和优化过程,包括数据预处理、模型参数调整等,来不断优化模型的参数,使得模型完成模型训练阶段,得到目标模型。
在得到完成模型训练阶段的目标模型后,确定目标模型中的个目标数据处理节点,目标数据处理节点为对输入目标模型的输入数据进行数据处理的单元。可选地,将目标模型中的卷积单元作为目标数据处理节点。可选地,当目标模型为图像处理模型时,获取图像处理模型中对各图像通道进行处理的通道处理单元,将通道处理单元作为目标数据处理节点。可选地,可以将目标模型划分为多个数据处理单元,将数据处理单元作为目标数据处理节点。
S204:对目标模型划分至少两轮模型量化子阶段,在模型量化子阶段,对目标数据处理节点进行采样得到目标采样节点,基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型。
其中,对目标模型的量化并不是单次直接对目标模型中的全部目标数据处理节点进行量化,而是通过分批次至少两轮模型量化子阶段实现对目标模型中目标数据处理节点的迭代量化。
在每次模型量化子阶段中,对目标数据处理节点进行采样,从目标数据处理节点中随机采样得到目标采样节点。需要说明的是,目标采样节点的节点数量小于目标数据处理节点的数量,以确保可以对目标模型划分至少两轮模型量化子阶段。
在得到此次模型量化子阶段对应的目标采样节点后,对此次模型量化子阶段对应的目标模型中的目标采样节点进行量化,之后对目标采样节点进行量化后的目标模型进行模型量化训练处理,在对目标采样节点进行量化后的目标模型进行模型量化训练处理过程中,此时目标模型的输出对应的模型量化损失主要为目标采样节点量化后导致的。因此,基于该轮模型量化子阶段可以准确识别学习本轮的目标采样节点量化后所生成的噪音,进而可以对本轮量化后的每个目标采样节点进行准确的优化,提高本轮得到的初始目标量化模型对应输出结果的准确性。
并且,由于每一轮模型量化子阶段是针对本轮的目标采样节点对目标模型进行模型量化训练处理,而目标采样节点的节点数量小于目标数据处理节点的数量。因此,有效减小了对模型训练过程中的运算量,由于这一小部分的量化损失较小,并且简单,相比所有节点都进行量化产生的量化损失来说,分布简单。因此此时对量化损失更容易学习,同时在单次模型量化子阶段也更加易模型在经过模型量化训练处理后收敛,可以有效解决复杂模型在模型量化训练处理过程中不收敛的问题。
S206:检测初始目标量化模型是否满足模型量化结束条件。
其中,模型量化结束条件可以预先设置。可选地,模型量化结束条件可以是:在至少两轮模型量化子阶段,基于多个目标数据处理节点对应的全部目标采样节点,完成目标模型的模型量化训练处理。即,在至少两轮模型量化子阶段中,对目标模型进行模型量化训练处理对应的目标采样节点所关联的目标数据处理节点已遍历或覆盖目标模型对应的多个目标数据处理节点。例如,目标数据处理节点为100,则100个目标数据处理节点完成量化即满足模型量化结束条件。否则,不满足模型量化结束条件。
可选地,模型量化结束条件可以是:在至少两轮模型量化子阶段,基于预设比例的目标数据处理节点对应的全部目标采样节点,完成目标模型的模型量化训练处理。这里,可以通过预设比例来控制目标数据处理节点的量化程度,例如,目标数据处理节点为100,预设比例可以为50%,则至少50个目标数据处理节点完成量化即满足模型量化结束条件。否则,不满足模型量化结束条件。
S208:若初始目标量化模型不满足模型量化结束条件,则在模型量化子阶段的下一模型量化子阶段,对目标数据处理节点进行采样得到下一目标采样节点,将下一目标采样节点作为目标采样节点并执行基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型的步骤。
其中,当初始目标量化模型不满足模型量化结束条件时,表明需要对初始目标量化模型继续进行模型量化。因此,可以在模型量化子阶段的下一模型量化子阶段,再次对目标数据处理节点进行采样得到下一目标采样节点。这里,下一模型量化子阶段对应的目标数据处理节点可以与模型量化子阶段对应的目标数据处理节点不同或部分相同。在得到下一目标采样节点后,将本轮的下一目标采样节点作为目标采样节点,之后再次执行S206中基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型的步骤。
从而通过至少两轮模型量化子阶段对目标模型中的多个目标数据处理节点进行逐步量化,通过迭代学习可以准确的学习到经过量化后每个目标数据处理节点基于模型表征出来的噪声,进而可以实现对量化后每个目标数据处理节点准确的优化。
S210:若初始目标量化模型满足模型量化结束条件,则将初始目标量化模型作为目标量化模型。
其中,当初始目标量化模型满足模型量化结束条件时,表明初始目标量化模型以完成模型量化。因此,可以将该初始目标量化模型作为目标量化模型。该目标量化模型可以准确的进行模型结果的输出,同时减小模型部署对应的内存占用和处理数据时的运算量。
在得到目标量化模型后,可以再次对目标量化模型进行整体训练,此时的模型量化损失较小,并不会增大运算量,同时可以使目标量化模型的精度进一步提高。
本申请实施例提供了一种模型量化方法,该方法首先获取完成模型训练阶段的目标模型,通过至少两轮模型量化子阶段对目标模型中的多个目标数据处理节点进行逐步量化,从而通过迭代学习可以准确的学习到经过量化后每个目标数据处理节点基于模型表征出来的噪声,进而可以实现对量化后每个目标数据处理节点准确的优化,通过至少两轮模型量化子阶段解决了复杂模型在量化训练过程中难以收敛的问题,并且提高了量化模型输出结果的精度。
本方案可以应用于各种复杂模型,降低模型量化过程中的对量化损失的学习难度,使各种模型更容易收敛,解决了部分模型量化后精度降低较大,以及一些模型量化后训练不收敛的问题。
同时由于可以采用任意比特的位宽进行量化,此方案可以满足各种模型的性能要求,不需要对模型的量化位宽进行修改,因此可以有效的保证模型的运行性能,减少了神经网络在量化部署时出现的效果问题或者精度变差,导致应用失败的问题,提高了模型量化后的应用能力。同时由于此方案可以应用于各种比特量化位宽的模型上,因此选择最低比特或者符合性能要求的比特作为最初的目标模型的量化位宽,从而通过本方案就可以完成精度的提升,同时保证性能方面可以得到满足。
同时此方法适用于各种复杂程度的神经网络模型,具有较大的通用性。同时解决了现有方案需要通过牺牲模型性能来实现精度的提升,可以有效减小模型的开发和部署时间,保证输出高精度量化模型,此方法可以应用于手机平台上的各种人工智能模型,满足实际应用的精度和性能需求。
请参阅图3,图3为本申请实施例提供的一种对目标模型进行模型量化训练处理的流程示意图。在本申请提供的一种实施例中,S206中基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型,包括:
S302:基于目标采样节点对目标模型进行量化处理得到量化节点。
其中,基于目标采样节点对目标模型进行量化处理并不是对目标模型中的全部目标数据处理节点进行量化,而是将目标采样节点进行量化得到量化节点。具体的,对目标采样节点进行量化为将目标采样节点中对应的模型参数和目标采样节点在处理数据时对应的输出数据进行量化。如,将目标采样节点中对应的模型参数的数据类型由浮点型转化为定点型,以及将目标采样节点在处理数据时对应的输出数据的数据类型由浮点型转化为定点型。
通过将目标采样节点对应的浮点型数据转化为定点型数据以减少数据存储需求,因为定点型数据通常使用更少的位数来表示数值。尤其在嵌入式系统和资源受限的硬件中是有益的,如手机、智能手表等移动终端。其次,由于定点型数据不涉及小数点,因此它可以提高数值运算的速度,减少浮点运算的开销。此外,定点型数据还使得算法实现更为简单,特别是在数字信号处理和图像处理等领域。
S304:基于量化节点更新目标模型的目标采样节点,以及对目标模型进行模型量化训练处理得到初始目标量化模型。
其中,在得到目标采样节点对应的量化节点后,可以基于量化节点对应的模型参数对目标模型中的目标采样节点进行参数更新,又或是可以基于量化节点替换目标模型中量化节点对应的目标采样节点。
在基于量化节点更新目标模型的目标采样节点之后,由于在目标模型中引入了量化节点,因此,可以通过对目标模型进行模型量化训练处理来优化目标模型以消除由于引入了量化节点所带来的量化损失。
请参阅图4,图4为本申请实施例提供的一种基于目标采样节点对目标模型进行量化处理的流程示意图。在本申请提供的一种实施例中,S302中基于目标采样节点对目标模型进行量化处理得到量化节点,包括:
S402:确定目标模型中目标采样节点对应的浮点型模型参数,将浮点型模型参数进行数据类型转化得到定点型模型参数。
其中,目标模型中目标采样节点对应的浮点型模型参数包括但不限于目标采样节点中的各种权重,如卷积运算时对应的权重。一般的,目标模型中的模型参数的类型为浮点型。因此,可以获取目标模型中目标采样节点对应的浮点型模型参数,在确定目标模型中目标采样节点对应的浮点型模型参数后,可以将浮点型模型参数进行数据类型转化得到定点型模型参数。
具体的,将浮点型模型参数进行数据类型转化得到定点型模型参数可以按照下述公式进行转化:
其中,R表示输入的浮点型模型参数;Q表示量化之后的定点型模型参数;S表示scale的数值,即缩放因子,Z表示Zero Point的数值,即零点的数值;Rmax表示输入浮点型模型参数对应的浮点型数据的最大值,Rmin表示输入浮点型模型参数对应的浮点型数据的最小值,Qmax表示定点型模型参数对应的定点型数据的最大值,Qmin表示定点型模型参数对应的定点型数据的最小值;round为取整函数,通过四舍五入来取整。
S404:基于定点型模型参数对目标采样节点进行更新,得到初始量化节点。
其中,在得到转化后的定点型模型参数后,可以通过定点型模型参数对目标模型中目标采样节点进行更新,从而将目标采样节点转化为初始量化节点。
S406:获取浮点定点转换函数,对初始量化节点配置浮点定点转换函数得到量化节点;其中,浮点定点转换函数用于获取初始量化节点的节点输出数据,并将节点输出数据进行定点类型数据转化得到目标节点输出数据。
其中,在得到初始量化节点后,由于初始量化节点的输出依然为浮点型数据,依然难以提高数值运算的速度以及减少浮点运算的开销。因此,需要对初始量化节点的节点输出数据进行定点类型数据转化得到目标节点输出数据。具体的,初始量化节点的节点输出数据可以为特征图,特征图通常表示输入数据在各个空间或时间维度上的特征表示。浮点定点转换函数的转化过程类似于将浮点型模型参数进行数据类型转化得到定点型模型参数,这里不再赘述。当初始量化节点的节点输出数据为图像数据时,可以将各像素对应的数据进行定点类型数据转化。浮点定点转换函数可以在模型量化子阶段获取初始量化节点的节点输出数据,也可以在得到的目标量化模型实际应用过程中获取初始量化节点的节点输出数据。
因此,可以对初始量化节点配置浮点定点转换函数得到量化节点,浮点定点转换函数被配置为获取初始量化节点的节点输出数据,并将节点输出数据进行定点类型数据转化得到目标节点输出数据,从而使得量化节点自身的运算和输出的目标节点输出数据均可减小量化后的模型的运算量。
请参阅图5,图5为本申请实施例提供的又一种对目标模型进行模型量化训练处理的流程示意图。在本申请提供的一种实施例中,S304中对目标模型进行模型量化训练处理得到初始目标量化模型,包括:
S502:获取预设样本量化训练集,预设样本量化训练集包括样本量化训练数据和样本量化训练数据对应的样本量化标签信息。
其中,预设样本量化训练集用于对目标模型进行模型量化训练,基于目标模型的模型应用类型的不同,预设样本量化训练集可以对应调整。样本量化训练数据对应的样本量化标签信息为样本量化训练数据在经过处理后得到的标准标签信息,用于对目标模型的输出结果进行矫正。
S504:将目标模型作为初始目标量化模型,将样本量化训练数据输入初始目标量化模型进行模型量化训练处理,得到模型量化预测结果。
其中,在对目标模型进行训练时,可以将目标模型作为初始目标量化模型,将预设样本量化训练集中的样本量化训练数据输入初始目标量化模型,使得初始目标量化模型对样本量化训练数据进行处理,从而得到对应的模型量化预测结果。具体的,模型量化预测结果为数据处理结果,包括但不限于分类结果、聚类结果以及预测结果。
S506:确定模型量化预测结果和样本量化标签信息对应的模型量化损失值,基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,得到量化模型参数调整后的初始目标量化模型;其中,参考节点为目标数据处理节点中量化节点之外的节点。
其中,在得到模型量化预测结果后,基于模型量化预测结果和样本量化标签信息各自对应的参数构建损失函数,通过构建得到的损失函数基于模型量化预测结果和样本量化标签信息计算模型量化损失值。
在得到模型量化损失值后,利用模型量化损失值对初始目标量化模型进行优化,即对初始目标量化模型中量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整。
由于量化节点中第一模型参数的数据类型均为定点型,因此,对量化节点中第一模型参数进行量化模型参数调整需要避免修改其数据类型。同样的,由于参考节点中第二模型参数的数据类型均为浮点型,因此,对参考节点中第二模型参数进行量化模型参数调整需要同样避免修改其数据类型。
请参阅图6,图6为本申请实施例提供的一种进行量化模型参数调整的流程示意图。在本申请提供的一种实施例中,S506中基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,包括:
S602:基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数进行定点型参数调整,得到定点型数据类型的第一模型参数。
其中,初始目标量化模型中量化节点对应的第一模型参数的数据类型为定点型,因此,为了避免量化节点被解除量化,因此,对第一模型参数进行定点型参数调整,即基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数进行调整时保持数据类型为定点型,即得到定点型数据类型的第一模型参数。
S604:基于模型量化损失值对初始目标量化模型中参考节点对应的第二模型参数进行浮点型参数调整,得到浮点型数据类型的第二模型参数。
其中,初始目标量化模型中参考节点对应的第二模型参数的数据类型为浮点型,因此,为了继续保持避免参考节点处理数据时的准确性,因此,对第二模型参数进行浮点型参数调整,即基于模型量化损失值对初始目标量化模型中参考节点对应的第二模型参数进行调整时保持数据类型为浮点型,即得到浮点型数据类型的第二模型参数。
请参阅图7,图7为本申请实施例提供的一种确定目标数据处理节点的流程示意图。在本申请提供的一种实施例中,S202中确定目标模型对应的多个目标数据处理节点,包括:
S702:获取目标模型对应的多个数据处理节点,从多个数据处理节点中筛选浮点型节点类型对应的初始数据处理节点。
其中,目标模型对应的多个数据处理节点可以为对输入目标模型的输入数据进行数据处理的单元。为了确保可以成功对节点进行量化,因此,可以获取各数据处理节点的节点类型,以从多个数据处理节点中筛选浮点型节点类型对应的初始数据处理节点。
这里,各数据处理节点的节点类型可以包括浮点型节点类型和定点型节点类型,浮点型节点类型即该节点中对应的模型参数的数据类型为浮点型,定点型节点类型即该节点中对应的模型参数的数据类型为定点型。
S704:从初始数据处理节点中选取多个目标数据处理节点。
其中,可以基于各初始数据处理节点的节点运算量来选择目标数据处理节点,可以优先选择节点运算量较大的初始数据处理节点作为目标数据处理节点,从而使得这些节点在量化后可以降低这些节点的运算量,使得对目标模型的模型量化更精准,并且提升了对目标模型的模型量化效率。
请参阅图8,图8为本申请实施例提供的一种得到目标采样节点的流程示意图。在本申请提供的一种实施例中,S204中对目标数据处理节点进行采样得到目标采样节点,包括:
S802:确定针对模型量化子阶段的参考节点采样率。
其中,确定各轮模型量化子阶段的参考节点采样率,各轮模型量化子阶段的参考节点采样率可以相同或不同。当各轮模型量化子阶段的参考节点采样率相同时,具体的,参考节点采样率为10%时,当模型量化结束条件为在至少两轮模型量化子阶段,基于多个目标数据处理节点对应的全部目标采样节点,完成目标模型的模型量化训练处理时,则模型量化子阶段的轮数至少为10轮以完成对多个目标数据处理节点的全部取样。当各轮模型量化子阶段的参考节点采样率不相同时,同样可以基于各轮的参考节点采样率计算模型量化子阶段的轮数。
S804:采用参考节点采样率对目标数据处理节点进行采样,得到目标采样节点。
其中,可以按照参考节点采样率对应的比例对目标数据处理节点进行随机采样,得到目标采样节点。例如,参考节点采样率为20%时,目标数据处理节点的数量为200时,采用参考节点采样率对目标数据处理节点进行采样得到的目标采样节点的数量为40。
请参阅图9,图9为本申请实施例提供的一种对目标模型划分至少两轮模型量化子阶段的流程示意图。在本申请提供的一种实施例中,S204中对目标模型划分至少两轮模型量化子阶段,包括:
S902:获取针对模型量化阶段的预设节点采样率,基于预设节点采样率确定针对目标模型的模型量化训练批次。
其中,各模型量化阶段的预设节点采样率之和为1,预设节点采样率为对目标模型对应的多个目标数据处理节点的采样比例。因此,基于预设节点采样率可以确定对目标数据处理节点进行采样的采样次数,基于采样次数确定针对目标模型的模型量化训练批次。如,基于预设节点采样率可以确定对目标数据处理节点进行采样的采样次数为5时,则基于采样次数确定针对目标模型的模型量化训练批次同样为5。
S904:基于模型量化训练批次对目标模型划分至少两轮模型量化子阶段。
其中,模型量化训练批次与模型量化子阶段的轮数相同,因此,可以基于模型量化训练批次对目标模型划分至少两轮模型量化子阶段。
在本申请提供的一种实施例中,在S210将初始目标量化模型作为目标量化模型之后,还包括:
获取实际应用场景数据,将实际应用场景数据输入目标量化模型进行场景数据模型处理。
其中,基于本申请所提供的模型量化方法得到的目标量化模型对实际应用场景数据处理时,可以在不改变量化位宽的基础上实现了量化精度的提升,有效提高量化后的模型的精度,并且不改变量化后模型的性能,可以方便应用于各种神经网络模型。因此,这里的实际应用场景数据可以基于目标量化模型的类型对应调整,可以是图像数据、音频数据、视频数据等各种场景下的数据。具体的,场景数据模型处理可以包括对图像数据进行光流估计、双目深度估计等,在初始的目标模型相同的条件下,利用本申请提供的目标量化模进行光流估计、双目深度估计时的图像呈现效果优于普通的量化模型进行的光流估计、双目深度估计时的图像呈现效果。
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
请参阅图10,图10为本申请实施例提供的一种模型量化装置的结构示意图。
模型量化装置1000包括:
获取模块1010,适于获取完成模型训练阶段的目标模型,确定目标模型对应的多个目标数据处理节点;
模型量化模块1020,适于对目标模型划分至少两轮模型量化子阶段,在模型量化子阶段,对目标数据处理节点进行采样得到目标采样节点,基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型;
检测模块1030,适于检测初始目标量化模型是否满足模型量化结束条件;
迭代模块1040,适于若初始目标量化模型不满足模型量化结束条件,则在模型量化子阶段的下一模型量化子阶段,对目标数据处理节点进行采样得到下一目标采样节点,将下一目标采样节点作为目标采样节点并执行基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型的步骤;
输出模块1050,适于若初始目标量化模型满足模型量化结束条件,则将初始目标量化模型作为目标量化模型。
可选地,迭代模块1040包括:
量化节点确定单元,适于基于目标采样节点对目标模型进行量化处理得到量化节点;
初始目标量化模型确定单元,适于基于量化节点更新目标模型的目标采样节点,以及对目标模型进行模型量化训练处理得到初始目标量化模型。
可选地,量化节点确定单元包括:
数据类型转化子单元,适于确定目标模型中目标采样节点对应的浮点型模型参数,将浮点型模型参数进行数据类型转化得到定点型模型参数;
更新子单元,适于基于定点型模型参数对目标采样节点进行更新,得到初始量化节点;
获取子单元,适于获取浮点定点转换函数,对初始量化节点配置浮点定点转换函数得到量化节点;其中,浮点定点转换函数用于获取初始量化节点的节点输出数据,并将节点输出数据进行定点类型数据转化得到目标节点输出数据。
可选地,初始目标量化模型确定单元包括:
预设样本量化训练集获取子单元,适于获取预设样本量化训练集,预设样本量化训练集包括样本量化训练数据和样本量化训练数据对应的样本量化标签信息;
输入子单元,适于将目标模型作为初始目标量化模型,将样本量化训练数据输入初始目标量化模型进行模型量化训练处理,得到模型量化预测结果;
量化模型参数调整子单元,适于确定模型量化预测结果和样本量化标签信息对应的模型量化损失值,基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,得到量化模型参数调整后的初始目标量化模型;其中,参考节点为目标数据处理节点中量化节点之外的节点。
可选地,量化模型参数调整子单元包括:
第一模型参数确定子单元,适应基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数进行定点型参数调整,得到定点型数据类型的第一模型参数;
第二模型参数确定子单元,适应基于模型量化损失值对初始目标量化模型中参考节点对应的第二模型参数进行浮点型参数调整,得到浮点型数据类型的第二模型参数。
可选地,获取模块1010包括:
筛选单元,适于获取目标模型对应的多个数据处理节点,从多个数据处理节点中筛选浮点型节点类型对应的初始数据处理节点;
选取单元,适于从初始数据处理节点中选取多个目标数据处理节点。
可选地,模型量化模块1020包括:
参考节点采样率确定单元,适于确定针对模型量化子阶段的参考节点采样率;
目标采样节点确定单元,适于采用参考节点采样率对目标数据处理节点进行采样,得到目标采样节点。
可选地,模型量化装置1000还包括:
数据处理单元,适于获取实际应用场景数据,将实际应用场景数据输入目标量化模型进行场景数据模型处理。
可选地,模型量化模块1020包括:
模型量化训练批次确定单元,适于获取针对模型量化阶段的预设节点采样率,基于预设节点采样率确定针对目标模型的模型量化训练批次;
划分单元,适于基于模型量化训练批次对目标模型划分至少两轮模型量化子阶段。
请参见图11,图11为本申请实施例提供的一种电子设备的结构示意图。如图11所示,电子设备1100可以包括:至少一个处理器1101,至少一个网络接口1104,用户接口1103,存储器1105,至少一个通信总线1102。
其中,通信总线1102用于实现这些组件之间的连接通信。
其中,用户接口1103可以包括显示屏(Display)、摄像头(Camera),可选用户接口1103还可以包括标准的有线接口、无线接口。
其中,网络接口1104可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1101可以包括一个或者多个处理核心。处理器1101利用各种接口和线路连接整个电子设备1100内的各个部分,通过运行或执行存储在存储器1105内的指令、程序、代码集或指令集,以及调用存储在存储器1105内的数据,执行电子设备1100的各种功能和处理数据。可选的,处理器1101可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1101可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1101中,单独通过一块芯片进行实现。
其中,存储器1105可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选的,该存储器1105包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1105可用于存储指令、程序、代码、代码集或指令集。存储器1105可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1105可选的还可以是至少一个位于远离前述处理器1101的存储装置。如图11所示,作为一种计算机存储介质的存储器1105中可以包括操作系统、网络通信模块、用户接口模块以及模型量化程序。
在图11所示的电子设备1100中,用户接口1103主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1101可以用于调用存储器1105中存储的模型量化程序,并具体执行以下操作:
获取完成模型训练阶段的目标模型,确定目标模型对应的多个目标数据处理节点;
对目标模型划分至少两轮模型量化子阶段,在模型量化子阶段,对目标数据处理节点进行采样得到目标采样节点,基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型;
检测初始目标量化模型是否满足模型量化结束条件;
若初始目标量化模型不满足模型量化结束条件,则在模型量化子阶段的下一模型量化子阶段,对目标数据处理节点进行采样得到下一目标采样节点,将下一目标采样节点作为目标采样节点并执行基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型的步骤;
若初始目标量化模型满足模型量化结束条件,则将初始目标量化模型作为目标量化模型。
可选地,处理器1101执行基于目标采样节点对目标模型进行模型量化训练处理得到初始目标量化模型时,具体执行如下步骤:基于目标采样节点对目标模型进行量化处理得到量化节点;基于量化节点更新目标模型的目标采样节点,以及对目标模型进行模型量化训练处理得到初始目标量化模型。
可选地,处理器1101执行基于目标采样节点对目标模型进行量化处理得到量化节点时,具体执行如下步骤:确定目标模型中目标采样节点对应的浮点型模型参数,将浮点型模型参数进行数据类型转化得到定点型模型参数;基于定点型模型参数对目标采样节点进行更新,得到初始量化节点;获取浮点定点转换函数,对初始量化节点配置浮点定点转换函数得到量化节点;其中,浮点定点转换函数用于获取初始量化节点的节点输出数据,并将节点输出数据进行定点类型数据转化得到目标节点输出数据。
可选地,处理器1101执行对目标模型进行模型量化训练处理得到初始目标量化模型时,具体执行如下步骤:获取预设样本量化训练集,预设样本量化训练集包括样本量化训练数据和样本量化训练数据对应的样本量化标签信息;将目标模型作为初始目标量化模型,将样本量化训练数据输入初始目标量化模型进行模型量化训练处理,得到模型量化预测结果;确定模型量化预测结果和样本量化标签信息对应的模型量化损失值,基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,得到量化模型参数调整后的初始目标量化模型;其中,参考节点为目标数据处理节点中量化节点之外的节点。
可选地,处理器1101执行基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整时,具体执行如下步骤:基于模型量化损失值对初始目标量化模型中量化节点对应的第一模型参数进行定点型参数调整,得到定点型数据类型的第一模型参数;基于模型量化损失值对初始目标量化模型中参考节点对应的第二模型参数进行浮点型参数调整,得到浮点型数据类型的第二模型参数。
可选地,处理器1101执行确定目标模型对应的多个目标数据处理节点时,具体执行如下步骤:获取目标模型对应的多个数据处理节点,从多个数据处理节点中筛选浮点型节点类型对应的初始数据处理节点;从初始数据处理节点中选取多个目标数据处理节点。
可选地,处理器1101执行对目标数据处理节点进行采样得到目标采样节点时,具体执行如下步骤:确定针对模型量化子阶段的参考节点采样率;采用参考节点采样率对目标数据处理节点进行采样,得到目标采样节点。
可选地,处理器1101在执行将初始目标量化模型作为目标量化模型之后,还具体执行如下步骤:获取实际应用场景数据,将实际应用场景数据输入目标量化模型进行场景数据模型处理。
可选地,处理器1101执行对目标模型划分至少两轮模型量化子阶段时,具体执行如下步骤:获取针对模型量化阶段的预设节点采样率,基于预设节点采样率确定针对目标模型的模型量化训练批次;基于模型量化训练批次对目标模型划分至少两轮模型量化子阶段。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请实施例所提供的一种模型量化方法、装置、电子设备和计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请实施例的限制。
Claims (12)
1.一种模型量化方法,其特征在于,所述方法包括:
获取完成模型训练阶段的目标模型,确定所述目标模型对应的多个目标数据处理节点;
对所述目标模型划分至少两轮模型量化子阶段,在所述模型量化子阶段,对所述目标数据处理节点进行采样得到目标采样节点,基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型;
检测所述初始目标量化模型是否满足模型量化结束条件;
若所述初始目标量化模型不满足所述模型量化结束条件,则在所述模型量化子阶段的下一模型量化子阶段,对所述目标数据处理节点进行采样得到下一目标采样节点,将所述下一目标采样节点作为所述目标采样节点并执行所述基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型的步骤;
若所述初始目标量化模型满足所述模型量化结束条件,则将所述初始目标量化模型作为目标量化模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型,包括:
基于所述目标采样节点对所述目标模型进行量化处理得到量化节点;
基于所述量化节点更新所述目标模型的目标采样节点,以及对所述目标模型进行模型量化训练处理得到初始目标量化模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标采样节点对所述目标模型进行量化处理得到量化节点,包括:
确定所述目标模型中所述目标采样节点对应的浮点型模型参数,将所述浮点型模型参数进行数据类型转化得到定点型模型参数;
基于所述定点型模型参数对所述目标采样节点进行更新,得到初始量化节点;
获取浮点定点转换函数,对所述初始量化节点配置所述浮点定点转换函数得到量化节点;
其中,所述浮点定点转换函数用于获取所述初始量化节点的节点输出数据,并将所述节点输出数据进行定点类型数据转化得到目标节点输出数据。
4.根据权利要求2所述的方法,其特征在于,所述对所述目标模型进行模型量化训练处理得到初始目标量化模型,包括:
获取预设样本量化训练集,所述预设样本量化训练集包括样本量化训练数据和所述样本量化训练数据对应的样本量化标签信息;
将所述目标模型作为初始目标量化模型,将所述样本量化训练数据输入所述初始目标量化模型进行模型量化训练处理,得到模型量化预测结果;
确定所述模型量化预测结果和所述样本量化标签信息对应的模型量化损失值,基于所述模型量化损失值对所述初始目标量化模型中所述量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,得到量化模型参数调整后的初始目标量化模型;
其中,所述参考节点为所述目标数据处理节点中所述量化节点之外的节点。
5.根据权利要求4所述的方法,其特征在于,所述基于所述模型量化损失值对所述初始目标量化模型中所述量化节点对应的第一模型参数和参考节点对应的第二模型参数进行量化模型参数调整,包括:
基于所述模型量化损失值对所述初始目标量化模型中所述量化节点对应的第一模型参数进行定点型参数调整,得到定点型数据类型的第一模型参数;
基于所述模型量化损失值对所述初始目标量化模型中参考节点对应的第二模型参数进行浮点型参数调整,得到浮点型数据类型的第二模型参数。
6.根据权利要求1所述的方法,其特征在于,所述确定所述目标模型对应的多个目标数据处理节点,包括:
获取所述目标模型对应的多个数据处理节点,从所述多个数据处理节点中筛选浮点型节点类型对应的初始数据处理节点;
从所述初始数据处理节点中选取多个目标数据处理节点。
7.根据权利要求1所述的方法,其特征在于,所述对所述目标数据处理节点进行采样得到目标采样节点,包括:
确定针对所述模型量化子阶段的参考节点采样率;
采用所述参考节点采样率对所述目标数据处理节点进行采样,得到目标采样节点。
8.根据权利要求1所述的方法,其特征在于,所述将所述初始目标量化模型作为目标量化模型之后,还包括:
获取实际应用场景数据,将所述实际应用场景数据输入目标量化模型进行场景数据模型处理。
9.根据权利要求1所述的方法,其特征在于,所述对所述目标模型划分至少两轮模型量化子阶段,包括:
获取针对模型量化阶段的预设节点采样率,基于所述预设节点采样率确定针对所述目标模型的模型量化训练批次;
基于所述模型量化训练批次对所述目标模型划分至少两轮模型量化子阶段。
10.一种模型量化装置,其特征在于,所述装置包括:
获取模块,适于获取完成模型训练阶段的目标模型,确定所述目标模型对应的多个目标数据处理节点;
模型量化模块,适于对所述目标模型划分至少两轮模型量化子阶段,在所述模型量化子阶段,对所述目标数据处理节点进行采样得到目标采样节点,基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型;
检测模块,适于检测所述初始目标量化模型是否满足模型量化结束条件;
迭代模块,适于若所述初始目标量化模型不满足所述模型量化结束条件,则在所述模型量化子阶段的下一模型量化子阶段,对所述目标数据处理节点进行采样得到下一目标采样节点,将所述下一目标采样节点作为所述目标采样节点并执行所述基于所述目标采样节点对所述目标模型进行模型量化训练处理得到初始目标量化模型的步骤;
输出模块,适于若所述初始目标量化模型满足所述模型量化结束条件,则将所述初始目标量化模型作为目标量化模型。
11.一种电子设备,其特征在于,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843219.3A CN117829222A (zh) | 2023-12-28 | 2023-12-28 | 模型量化方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843219.3A CN117829222A (zh) | 2023-12-28 | 2023-12-28 | 模型量化方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117829222A true CN117829222A (zh) | 2024-04-05 |
Family
ID=90505597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311843219.3A Pending CN117829222A (zh) | 2023-12-28 | 2023-12-28 | 模型量化方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117829222A (zh) |
-
2023
- 2023-12-28 CN CN202311843219.3A patent/CN117829222A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113436620B (zh) | 语音识别模型的训练方法、语音识别方法、装置、介质及设备 | |
CN110413812B (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN112650841A (zh) | 信息处理方法、装置和电子设备 | |
CN110009101B (zh) | 用于生成量化神经网络的方法和装置 | |
CN113177888A (zh) | 超分修复网络模型生成方法、图像超分修复方法及装置 | |
CN113190872B (zh) | 数据保护方法、网络结构训练方法、装置、介质及设备 | |
CN114418121A (zh) | 模型训练方法、对象处理方法及装置、电子设备、介质 | |
CN112686031A (zh) | 文本特征提取模型的量化方法、装置、设备及存储介质 | |
CN113327599A (zh) | 语音识别方法、装置、介质及电子设备 | |
CN114091655A (zh) | 神经网络量化方法、装置、存储介质以及终端 | |
CN112241761A (zh) | 模型训练方法、装置和电子设备 | |
CN110276404B (zh) | 模型训练方法、装置及存储介质 | |
CN117236805B (zh) | 电力设备控制方法、装置、电子设备和计算机可读介质 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN117726700A (zh) | 图像生成方法、装置、电子设备及存储介质 | |
CN113850890A (zh) | 动物形象的生成方法、装置、设备及存储介质 | |
CN111915689A (zh) | 用于生成目标函数的方法、装置、电子设备和计算机可读介质 | |
CN117273092A (zh) | 一种模型量化方法、装置、电子设备及存储介质 | |
CN116090543A (zh) | 模型压缩方法及装置、计算机可读介质和电子设备 | |
CN117829222A (zh) | 模型量化方法、装置、电子设备和计算机可读存储介质 | |
CN116644783A (zh) | 模型训练方法、对象处理方法及装置、电子设备、介质 | |
CN111582456B (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN111626044B (zh) | 文本生成方法、装置、电子设备及计算机可读存储介质 | |
CN110209851B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN114386469A (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 |