CN116205275A - 量化参数模型的训练方法及装置、电子设备、存储介质 - Google Patents

量化参数模型的训练方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN116205275A
CN116205275A CN202111441233.1A CN202111441233A CN116205275A CN 116205275 A CN116205275 A CN 116205275A CN 202111441233 A CN202111441233 A CN 202111441233A CN 116205275 A CN116205275 A CN 116205275A
Authority
CN
China
Prior art keywords
bit width
quantization parameter
image data
data
quantization
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
Application number
CN202111441233.1A
Other languages
English (en)
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.)
Zeku Technology Shanghai Corp Ltd
Original Assignee
Zeku Technology Shanghai Corp 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 Zeku Technology Shanghai Corp Ltd filed Critical Zeku Technology Shanghai Corp Ltd
Priority to CN202111441233.1A priority Critical patent/CN116205275A/zh
Publication of CN116205275A publication Critical patent/CN116205275A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Image Processing (AREA)

Abstract

本申请实施例涉及人工智能技术领域,具体公开了一种量化参数模型的训练方法及装置、电子设备、存储介质,包括:通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果;根据第一取整结果和第二位宽对应的取值范围确定出区间限定值;计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据;若根据第二位宽的第二样本数据确定预测样本数据满足精度要求,则确定量化参数模型完成训练。实施本实施例,能够提高量化处理的精度,以提高卷积运算的计算速度和正确率。

Description

量化参数模型的训练方法及装置、电子设备、存储介质
技术领域
本申请涉及人工智能技术领域,具体涉及一种量化参数模型的训练方法及装置、电子设备、存储介质。
背景技术
随着人工智能技术的快速发展,越来越多的人工智能模型被提出,并广泛应用在各种人工智能产品的开发中。
在实践中发现,人工智能模型通常需要使用到卷积运算,且相关技术中为了提高卷积运算的速度,通常会对卷积运算中的参数进行量化处理,以减少卷积运算的计算量,但是相关技术的量化精度较低,从而不利于提高卷积运算的正确率。
发明内容
本申请实施例公开了一种量化参数模型的训练方法及装置、电子设备、存储介质,能够提高量化处理的精度,以提高卷积运算的计算速度和正确率。
本申请实施例第一方面公开一种量化参数模型的训练方法,所述方法包括:
通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;
计算所述第一样本数据除以所述初始量化参数的第一商,并对所述第一商执行取整操作得到第一取整结果;
根据所述第一取整结果和第二位宽对应的取值范围确定出区间限定值;
计算所述区间限定值和所述初始量化参数的第一乘积,并将所述第一乘积作为第二位宽的预测样本数据;
若根据第二位宽的第二样本数据确定所述预测样本数据满足精度要求,则确定所述量化参数模型完成训练。
本申请实施例第二方面公开一种数据变换方法,包括:
通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据;
根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据,所述第一目标量化参数是根据量化参数模型得到的,所述量化参数模型是根据样本集合训练得到的,所述样本集合至少包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据,所述第二位宽的第二样本数据是对所述第一样本数据进行量化得到的;
对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据;
通过第二变换矩阵对所述第四图像数据进行变换处理,得到目标图像数据。
本申请实施例第三方面公开一种量化参数模型的训练装置,包括:
生成单元,用于通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;
取整单元,用于计算所述第一样本数据除以所述初始量化参数的第一商,并对所述第一商执行取整操作得到第一取整结果;
第一确定单元,用于根据所述第一取整结果和第二位宽对应的取值范围确定出区间限定值;
预测单元,用于计算所述区间限定值和所述初始量化参数的第一乘积,并将所述第一乘积作为第二位宽的预测样本数据;
第二确定单元,用于在根据第二位宽的第二样本数据确定所述预测样本数据满足精度要求时,确定所述量化参数模型完成训练。
本申请实施例第四方面公开一种数据变换装置,包括:
第一变换单元,用于通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据;
缩减单元,用于根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据,所述第一目标量化参数是根据量化参数模型得到的,所述量化参数模型是根据样本集合训练得到的,所述样本集合至少包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据,所述第二位宽的第二样本数据是对所述第一样本数据进行量化得到的;
点乘单元,用于对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据;
第二变换单元,用于通过第二变换矩阵对所述第四图像数据进行变换处理,得到目标图像数据。
本申请实施例第五方面公开一种电子设备,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本申请实施例第一方面公开的量化参数模型的训练方法,或者第二方面公开的数据变换方法。
本申请实施例第六方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本申请实施例第一方面公开的量化参数模型的训练方法,或者第二方面公开的数据变换方法。
与相关技术相比,本申请实施例具有以下有益效果:
本申请实施例提供的量化参数模型的训练方法,可以通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;以及,计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果;以及,根据第一取整结果和第二位宽对应的取值范围确定出区间限定值;以及,计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据;以及,若根据第二位宽的第二样本数据确定预测样本数据满足精度要求,则确定量化参数模型完成训练。进而后续可以通过该量化参数模型对卷积运算中的参数进行量化处理,可以提高量化处理的精度,从而提高卷积运算的计算速度和正确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种量化参数模型的训练方法的流程示意图;
图2是本申请实施例公开的一种数据变换方法的流程示意图;
图3是本申请实施例公开的另一种数据变换方法的流程示意图;
图4是本申请实施例公开的又一种数据变换方法的流程示意图;
图5是本申请实施例公开的一种用于说明卷积运算中的位宽变化的示意图;
图6是本申请实施例公开的一种数据变换装置的结构示意图;
图7是本申请实施例公开的一种量化参数模型的训练装置的结构示意图;
图8是本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例公开了一种量化参数模型的训练方法及装置、电子设备、存储介质,能够提高量化处理的精度,以提高卷积运算的计算速度和正确率。
下面将结合具体实施例对本申请技术方案进行详细说明。
为了更加清楚地说明本申请实施例公开的量化参数模型的训练方法及装置、电子设备、存储介质,首先介绍一种适用于该量化参数模型的训练方法的应用场景。本申请实施例公开的量化参数模型的训练方法可以应用于各种电子设备,包括计算机、运算器等,在此不作限定。
同时本申请实施例还公开一种数据变换方法,该数据变换方法可以采用上述量化参数模型的训练方法得到的量化参数模型进行量化操作,以减少卷积运算的计算量。从而可以在提高计算速度的同时降低电子设备的功耗。
卷积运算是各种人工智能(Artificial Intelligence,AI)模型的重要组成部分,所以如果能够提高卷积运算的计算速度,则能够提高人工智能模型的性能。在相关技术中,为了提高卷积运算的计算速度,通常会采用winograd算法对卷积运算进行优化。winograd算法包括:操作1,通过输入变换矩阵对输入数据进行变换处理;操作2,通过权重变换矩阵对卷积核的权重数据进行变换处理;操作3,对变换后的输入数据和变换后的权重数据执行点乘运算,以及操作4,通过输出变换矩阵对点乘结果进行变换处理,以得到卷积结果。
在一种实施例中,以输入数据d=[d0,d1,d2,d3]T,卷积核的权重数据g=[g0,g1,g2]T为例进行说明,若卷积结果为F(2,3),即卷积核的尺寸为3*3,输出数据的尺寸为2*2,卷积运算可以表示为:
公式1:
Figure BDA0003383433910000051
可见,电子设备计算上述的卷积运算需要执行6次乘法和4次加法,对此采用winograd算法,可以通过以下公式2优化上述的卷积运算,即:
公式2:
F(2,3)=AT[(GgGT)*(BTdB)]A
其中,F(2,3)表示卷积结果,AT表示输出变换矩阵,GT表示权重变换矩阵,g表示权重数据,BT表示输入变换矩阵,d表示输入数据。
在一种实施例中,假设
Figure BDA0003383433910000052
Figure BDA0003383433910000053
则根据上述公式2,可以将公式1转换为:
Figure BDA0003383433910000054
其中,m1=(d0-d2)g0
Figure BDA0003383433910000055
m4=(d1-d3)g2,/>
Figure BDA0003383433910000056
Figure BDA0003383433910000057
而由于与权重数据g相关的式子(例如上述的g0+g1+g2,g0-g1+g2等)可以提前计算一次即可,所以在后续使用中不再需要计算与g相关的式子,从而可以将卷积运算过程中的需要执行乘法和加法减少为4次乘法和4次加法,从而达到减少计算量的效果。
在实践中发现,相关技术中在通过输入变换矩阵对输入数据进行变换处理,以及通过权重变换矩阵对卷积核的权重数据进行变换处理之后,通常直接对变换后的输入数据和变换后的权重数据执行点乘运算,而由于通过矩阵变换后的输入数据和权重数据的位宽将增大,所以电子设备在执行点乘运算时的计算量较大,从而不利于提高电子设备的硬件计算效率,以及降低电子设备的功耗。
对此,实施本申请实施例公开的数据变换方法,在通过第一变换矩阵(即上述的输入变换矩阵)对第一图像数据进行变换处理,得到第一位宽的第二图像数据之后,可以根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,以得到第二位宽的第三图像数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。此外,第一目标量化参数可以是根据量化参数模型的第一量化层得到用于缩减第二图像数据的最优量化参数,从而通过该最优的量化参数缩减第二图像数据的位宽,可以降低位宽缩减操作造成的数据精度损失,从而提高了后续进行位宽缩减操作后的图像数据的数据精度。
此外,通过本申请实施例公开的量化参数模型的训练方法训练得到的量化参数模型对卷积运算中的参数进行量化处理,可以提高量化处理的精度,从而提高卷积运算的计算速度和正确率。
基于此,以下内容对本申请实施例公开的量化参数模型的训练方法进行介绍。
请参阅图1,图1是本申请实施例公开的一种量化参数模型的训练方法的流程示意图,该方法可以应用于上述的电子设备,包括但不限于计算机、运算器等,该方法可以包括以下步骤:
102、通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数。
可以理解的是,通过量化参数模型生成的第一位宽的第一样本数据对应的初始量化参数,与量化参数模型对应的模型参数是相关的。所以对待训练的量化参数模型的训练过程即是对待训练的量化参数模型的模型参数进行调整的过程,目的在于将模型参数调整至最佳,以使得训练完毕的量化参数模型生成的量化参数更加地准确。
需要进一步说明的是,待训练的量化参数模型本身就设置有初始的模型参数(该初始的模型参数可以是开发人员根据大量的开发经验设定的,在此不作限定),所以电子设备可以通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数,进而电子设备可以基于初始量化参数的量化效果对模型的模型参数进行调整。
在一种实施例中,量化参数模型可以包括N个量化层,例如:4个、5个等,在此不作限定。可选的,N个量化层可以对应于上述的winograd量化操作的4个操作步骤。进而电子设备可以根据样本集合对待训练的量化参数模型中的N个量化层进行训练。
由于将量化参数模型分成多个量化层训练,导致模型的训练不好收敛。对此可选的,电子设备通过待训练的量化参数模型的第M个量化层,生成第一位宽的第一样本数据对应的初始量化参数,M为小于或者等于N-1的正整数,进一步可以计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果;以及,根据第一取整结果和第二位宽对应的取值范围确定出区间限定值;以及,计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据;以及,若根据第二位宽的第二样本数据确定预测样本数据满足精度要求,则确定第M个量化层完成训练。
进一步地,电子设备可以根据第一样本数据和第二样本数据,对待训练的量化参数模型的第M+1个量化层进行训练,第M+1个量化层为排列在第M个量化层之后的量化层;以及,在根据样本集合对待训练的量化参数模型的第N个量化层完成训练时,确定量化参数模型完成训练。
实施上述方法,可以将量化参数模型中包括的多个量化层分开训练,每次只训练一个量化层,并上一个量化层完成训练时再训练下一个量化层,从而可以保证量化参数模型的收敛。
104、计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果。
106、根据第一取整结果和第二位宽对应的取值范围确定出区间限定值。
在一种实施例中,第二位宽对应的取值范围可以包括上限值和下限值,例如,int8对应的取值范围为(-127,127),则该取值范围的上限值为127,下限值为-127。对此可选的,电子设备可以根据第二位宽对应的取值范围,调整第一取整结果包括的各个元素对应的数值,并将调整后的第一取整结果作为区间限定值;
可选的,电子设备根据第二位宽对应的取值范围,调整第一取整结果包括的各个元素对应的数值的方式可以为:若第一元素对应的数值大于或者等于上限值,则将第一元素对应的数值调整为上限值,第一元素为第一取整结果包括的任一元素;若第一元素对应的数值小于或者等于下限值,则将第一元素对应的数值调整为下限值;若第一元素对应的第一数值小于上限值,且大于下限值,则不对第一元素对应的数值进行调整。
108、计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据。
可选的,电子设备可以根据第一样本数据、初始量化参数和以下的公式3得到第二位宽的预测样本数据,即:
公式3:
Figure BDA0003383433910000081
其中,newdata′表示预测样本数据,olddata′表示第一样本数据,scale′表示初始量化参数,rlund表示执行取整操作,clamp表示将取整结果限定在第二位宽对应的取整范围内,公式3以int8对应的取值范围(-127,127)作为第二位宽对应的取值范围为例进行说明,不应对本申请实施例构成限定。
110、若根据第二位宽的第二样本数据确定预测样本数据满足精度要求,则确定量化参数模型完成训练。
在一种实施例中,电子设备可以根据预测样本数据和第二位宽的第二样本数据确定目标数据精度,并根据目标数据精度调整待训练的量化参数模型的模型参数,直至目标数据精度满足精度要求时,确定量化参数模型层完成训练。
可以理解的是,每次调整待训练的量化参数模型的模型参数,都将影响模型下一次生成的量化参数,从而可以通过不断的调整模型的模型参数,以得到最优的量化参数。
实施上述方法,可以在训练过程中,通过量化参数模型生成的预测样本数据,反馈调整模型的模型参数,以使得后续量化参数模型可以生成最优的量化参数,使得后续可以通过该最优的量化参数对数据进行量化操作,降低量化操作过程中精度的损失。
实施上述各实施例公开的方法,可以通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;以及,计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果;以及,根据第一取整结果和第二位宽对应的取值范围确定出区间限定值;以及,计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据;以及,若根据第二位宽的第二样本数据确定预测样本数据满足精度要求,则确定量化参数模型完成训练。进而后续可以通过该量化参数模型对卷积运算中的参数进行量化处理,可以提高量化处理的精度,从而提高卷积运算的计算速度和正确率。
请参阅图2,图2是本申请实施例公开的一种数据变换方法的流程示意图,该数据变换方法可以应用于上述的电子设备,包括计算机、运算器等,在此不作限定。该数据变换方法可以包括以下步骤:
202、通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据。
本申请实施例公开的数据变换方法是在winograd算法的基础上,对卷积运算进行优化的。在winograd算法中,电子设备可以通过第一变换矩阵(第一变换矩阵可以包括上述的输入变换矩阵)对输入的第一图像数据进行变换处理,以得到第一位宽的第二图像数据。从而后续对变换后的第一图像数据和变换后的权重数据执行点乘运算,可以减少卷积运算中所要执行的加法和乘法的次数,从而达到减少计算量的效果。
其中,第二图像数据通常表示为矩阵的形式,矩阵包括多个元素,第一位宽指第二图像数据对应的矩阵中每个元素在设备需要占用的存储空间。可以理解的是,计算机设备中的数据通常采用二进制,即计算机设备中的数据通常由“0”或“1”组成。其中一个“0”或“1”可以叫做“一位”,所以数据在设备中占用的存储空间的大小可以通过构成数据的“0”或“1”的位数(位宽)来表示。例如:int8可以表示占用8位的整数型数据,int16可以表示占用16位的整数型数据,在此不作限定。
204、根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,得到第二位宽的第三图像数据,第一目标量化参数是根据量化参数模型的第一量化层得到的,量化参数模型是根据样本集合训练得到的。其中,样本集合至少包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据,第二位宽的第二样本数据是对第一样本数据进行量化得到的。
在实践中发现,通过第一变换矩阵对第一图像数据进行变换处理之后,将使得第一图像数据的位宽增大(例如,从int8增大到int32,或者是从int16增大到int64,在此不作限定),使得后续电子设备在执行点乘运算时的计算量较大,从而不利于提高电子设备的硬件计算效率,以及降低电子设备的功耗。对此可选的,电子设备可以通过缩减第二图像数据的位宽(即量化操作),使得后续可以用低位宽的数据执行点乘操作。
可选的,电子设备可以获取用户或者其他设备输入的量化参数作为第一目标量化参数。在另一种实施例中,电子设备可以从缓存中获取固定的量化参数,并将上述的固定的量化参数作为第一目标量化参数,在此不作限定量。其中,量化参数用于表示缩减图像数据的位宽的程度,可选的,量化参数越大,则对数据的位宽缩减程度越大,反之则越小。
在另一种实施例中,电子设备可以通过量化参数模型获取第一图像数据对应的第一量化参数,和第一变换矩阵对应的第二量化参数。进一步地,电子设备可以根据第一图像数据对应的第一量化参数,和第一变换矩阵对应的第二量化参数确定第一目标量化参数。
可选的,量化参数模块可以是根据包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据的样本集合训练得到的,例如大量的第一位宽的第一图像数据和第二位宽的第一图像数据,或者第一位宽的第一变换矩阵和第二位宽的第一变换矩阵,在此不作限定。可选的,训练过程可以是,量化参数模型对大量的第一位宽的第一样本数据进行量化操作(即缩减第一位宽的第一样本数据的位宽的操作),得到预测的预测数据,并不断基于第二位宽的第二样本数据及预测数据调整量化参数模型,直至通过模型得到的量化参数能够将第一位宽的第一样本数据准确量化为第二位宽的第二样本数据的时,确定模型训练完成。进而后续电子设备可以通过训练好的量化参数模型,获取能够准确第一量化参数和第二量化参数,进而可以根据第一量化参数和第二量化参数确定出第一目标量化参数。
如上所述,winograd算法至少包括4个操作步骤,对此电子设备可以针对每个操作输出的图像数据对应的最优量化参数进行训练。对此可选的,量化参数模型可以至少包括4个量化层,每个量化层用于针对一个操作步骤输出的图像数据训练出最优的量化参数。所以上述的量化参数模型的第一量化层可以是量化参数模型中针对第二图像数据训练最优量化参数的量化层。
206、对第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据。
如上所述,在winograd算法的操作步骤2中,电子设备需要通过权重变换矩阵对卷积核的权重数据进行变换处理。同理的,由于经过矩阵变换处理之后,权重数据的位宽将增大,对此可选的,电子设备可以缩减经过矩阵变换处理后的权重数据的位宽,以得到第二位宽的第一权重数据。进而后续电子设备可以对第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据。
可以理解的是,经过位宽缩减后的第二位宽的第三图像数据,和第二位宽的第一权重数据的位宽都较小,从而后续执行点乘运算时可以减少电子设备的计算量,从而降低了计算设备的功耗。其中,点乘运算是指矩阵与矩阵之间的乘法运算,具体作法是对两个矩阵中位置相同的两个元素进行相乘,并将得到的结果作为新矩阵中相同位置的元素。举例来说,电子设备可以将第三图像数据对应的矩阵中的第一个元素,和第一权重数据对应的矩阵中的第一个元素相乘,并将乘积作为第四图像数据对应矩阵中的第一个元素,其他对其他元素的操作类似,在此不再赘述。
208、通过第二变换矩阵对第四图像数据进行变换处理,得到目标图像数据。
本申请实施例中,为了后续执行点乘运算时,可以减少点乘运算过程中的加法和乘法的次数,达到减少计算量的效果。电子设备可以分别对第一图像数据和权重数据进行矩阵变换操作。对此后续在得到点乘结果,即第四图像数据之后,电子设备可以通过第二变换矩阵(第二变换矩阵可以包括上述的输入变换矩阵)对第四图像数据进行变换处理,以抵消之前执行的变换操作,从而可以得到目标图像数据。
实施上述各实施例公开的方法,可以通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据,进而根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,以得到第二位宽的第三图像数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。此外,第一目标量化参数是根据量化参数模型的第一量化层得到用于缩减第二图像数据的最优量化参数,从而通过该最优的量化参数缩减第二图像数据的位宽,可以降低位宽缩减操作造成的数据精度损失,从而提高了后续进行位宽缩减操作后的图像数据的数据精度。
请参阅图3,图3是本申请实施例公开的另一种数据变换方法的流程示意图,该数据变换方法可以应用于上述的电子设备,包括计算机、运算器等,在此不作限定。该数据变换方法可以包括以下步骤:
302、通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据。
304、获取第一图像数据对应的第一量化参数,和第一变换矩阵对应的第二量化参数,并根据第一量化参数和第二量化参数确定第一目标量化参数,第一量化参数和第二量化参数是根据量化参数模型得到的。
本申请实施例中,第一量化参数和第二量化参数可以是通过上述的量化参数模型得到用于量化第一图像数据和第一变换矩阵的最优量化参数,从而可以降低后续执经过量化操作得到的数据的精度损失。
需要说明的是,为了使得后续的运算过程使用的数据为整数型,电子设备可以分别根据第一量化参数对第一图像数据进行量化操作,以及根据第二量化参数对第一变换矩阵进行量化操作,以将第一图像数据和第二图像数据量化为第一位宽的整数型数据。具体地,后续在将第一位宽第二图像数据量化为第二位宽的第三图像数据的过程中,可以先计算第一量化参数和第二量化参数的乘积结果,并将上述乘积结果的倒数确定为第二图像数据对应的第一目标量化参数。即第一目标量化参数:scale=1/(scale0*scale1),其中,scale0为上述的第一量化参数,scale1为上述的第二量化参数。
306、根据第一目标量化参数缩减第二图像数据的位宽,得到第二位宽的第三图像数据。
作为一种可选的实施方式,电子设备可以计算第二图像数据与第二图像数据对应的第一目标量化参数的第二乘积,并对第二乘积执行取整操作得到第二取整结果;进而电子设备可以根据第二取整结果和第二位宽对应的取整范围,生成第二位宽的第三图像数据,以达到缩减第二图像数据的位宽的效果。
在一种实施例中,第二位宽对应的取值范围可以包括上限值和下限值。例如,int8对应的取值范围为(-127,127),则该取值范围的上限值为127,下限值为-127。对此,电子设备可以根据第二位宽对应的取值范围,调整第二取整结果包括的各个元素对应的数值,并将调整后的第二取整结果作为第二位宽的第三图像数据。
可选的,电子设备根据第二位宽对应的取值范围,调整第二取整结果包括的各个元素对应的数值的方式具体可以为:若第二元素对应的数值大于或者等于上述的上限值,则电子设备可以将第二元素对应的数值调整为上限值;若第二元素对应的数值小于或者等于上述的下限值,则电子设备可以将第二元素对应的数值调整为下限值;若第二元素对应的第一数值小于上限值,且大于下限值,则电子设备可以不对第二元素对应的数值进行调整,其中,第二元素为第二取整结果包括的任一元素。
在另一些可选的实施例中,电子设备可以根据第一目标量化参数和以下的公式4,缩减第二图像数据的位宽,得到第二位宽的第三图像数据,即:
公式4:
newdata=clamp(round(scale*olddata),-127,127)
其中,newdata表示第三图像数据,olddata表示第二图像数据,scale表示第一目标量化参数,round(scale*olddata)表示对scale*olddata的结果执行取整操作,clamp(round(scale*olddata),-127,127)表示将取整结果限定在第二位宽对应的取整范围内,公式4以int8对应的取值范围(-127,127)作为第二位宽对应的取值范围为例进行说明,不应对本申请实施例构成限定。
实施上述方法,电子设备可以根据第二位宽对应的取值范围,将第二图像数据对应的矩阵中的每个元素限定在第二位宽对应的取值范围中,从而达到将第一位宽的第二图像数据量化为第二位宽的第三图像数据的效果。
308、对第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据。
作为一种可选的实施方式,电子设备在对第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算之前,可以通过第三变换矩阵(第三变换矩阵可以包括上述的权重变换矩阵)对第三权重数据进行变换处理,以得到第一位宽的第二权重数据;进而电子设备可以根据第二权重数据对应的第二目标量化参数缩减第二权重数据的位宽,以得到第二位宽的第一权重数据。
如上所述,量化参数模型可以至少包括4个量化层,每个量化层用于针对一个操作步骤输出的图像数据训练出最优的量化参数。对此可选的,第二量化层可以是量化参数模型中针对第二权重数据训练最优量化参数的量化层,从而电子设备可以通过量化参数模型的第二量化层得到将第一位宽的第二权重数据,量化为第二位宽的第一权重数据的最优量化参数。
需要进一步说明的是,电子设备根据第二权重数据对应的第二目标量化参数缩减第二权重数据的位宽,以得到第二位宽的第一权重数据的方式,与上述电子设备根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,得到第二位宽的第三图像数据的方式类似,在此不再赘述。
进一步地,在电子设备对第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据之后,由于点乘运算得到第四图像数据的位宽又恢复到第一位宽,对此可选的,电子设备可以根据第四图像数据对应的第三目标量化参数缩减四图像数据的位宽,以得到第二位宽的第五图像数据。
同理的,电子设备可以通过量化参数模型的第三量化层训练出将第一位宽的第四图像数据,量化为第二位宽的第五图像数据的最优量化参数。进而后续电子设备可以通过量化参数模型的第三量化层得到将第一位宽的第四图像数据,量化为第二位宽的第五图像数据的最优量化参数,即第三目标量化参数。
需要进一步说明的是,电子设备根据第四图像数据对应的第三目标量化参数缩减四图像数据的位宽,以得到第二位宽的第五图像数据的方式,与上述电子设备根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,得到第二位宽的第三图像数据方式类似,在此不再赘述。
310、通过第二变换矩阵对第四图像数据进行变换处理,得到目标图像数据。
本申请实施例中,电子设备在根据第四图像数据对应的第三目标量化参数缩减四图像数据的位宽,以得到第二位宽的第五图像数据之后,进一步地,可以通过第二变换矩阵对第二位宽的第五图像数据进行变换处理,以得到目标图像数据。
在实践中发现,在通过第二变换矩阵对第二位宽的第五图像数据进行变换处理后,得到的目标图像数据的位宽又将恢复到第一位宽,对此可选的,电子设备在通过第二变换矩阵对第二位宽的第五图像数据进行变换处理,以得到第一位宽的第六图像数据之后,可以根据第六图像数据对应的第四目标量化参数缩减第六图像数据的位宽,以得到第二位宽的第七图像数据,并将第二位宽的第七图像数据作为目标图像数据,第四目标量化参数是根据量化参数模型的第四量化层得到的。
同理的,电子设备可以通过量化参数模型的第四量化层训练出将第一位宽的第六图像数据,量化为第二位宽的第七图像数据的最优量化参数。进而后续电子设备可以通过量化参数模型的第四量化层得到将第一位宽的第六图像数据,量化为第二位宽的第七图像数据的最优量化参数,即第四目标量化参数。
需要进一步说明的是,电子设备根据第六图像数据对应的第四目标量化参数缩减第六图像数据的位宽,以得到第二位宽的第七图像数据的方式,与上述电子设备根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,得到第二位宽的第三图像数据方式类似,在此不再赘述。
实施上述实施例公开的方法,可以将winograd算法的4个操作步骤分开量化,从而可以降低量化的难度,提升了量化模型的精度。
实施上述各实施例公开的方法,可以根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,以得到第二位宽的第三图像数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。此外,可以降低位宽缩减操作造成的数据精度损失,从而提高了后续进行位宽缩减操作后的图像数据的数据精度;以及,可以根据第二位宽对应的取值范围,将第二图像数据对应的矩阵中的每个元素限定在第二位宽对应的取值范围中,从而达到将第一位宽的第二图像数据量化为第二位宽的第三图像数据的效果。
请参阅图4,图4是本申请实施例公开的又一种数据变换方法的流程示意图,该数据变换方法可以应用于上述的电子设备,包括计算机、运算器等,在此不作限定。该数据变换方法可以包括以下步骤:
402、通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据。
404、根据样本集合对待训练的量化参数模型进行训练。
本申请实施例中,量化参数模型可以包括N个量化层,例如:4个、5个等,在此不作限定。可选的,对应于winograd量化操作的4个操作步骤,量化参数模块可以包括4个量化层。进而可以根据样本集合对待训练的量化参数模型中的N个量化层进行训练。
由于将量化参数模型分成多个量化层训练,导致模型的训练不好收敛。对此可选的,可以根据样本集合对待训练的量化参数模型的第M个量化层进行训练,并在第M个量化层完成训练后,根据样本数据对待训练的量化参数模型的第M+1个量化层进行训练,第M+1个量化层为排列在第M个量化层之后的量化层,M为小于或者等于N-1的整数;以及,在根据样本集合对待训练的量化参数模型的第N个量化层完成训练时,确定量化参数模型完成训练。
举例来说,可以相对第一个量化层进行训练,等到第一个量化层训练完成之后,再对第二个量化层进行训练,以此类推,直到最后一个量化层训练完成时,确定量化参数模型完成训练。
实施上述方法,可以将量化参数模型中包括的多个量化层分开训练,每次只训练一个量化层,并上一个量化层完成训练时再训练下一个量化层,从而可以保证量化参数模型的收敛。
在一种实施例中,根据样本集合对待训练的量化参数模型的第M个量化层进行训练的方式具体可以为:通过待训练的量化参数模型的第M个量化层,生成第一位宽的第一样本数据对应的初始量化参数,并根据初始量化参数对第一样本数据执行量化操作,得到第二位宽的预测样本数据。进一步地,根据预测样本数据和第二样本数据确定目标数据精度,并根据目标数据精度调整待训练的量化参数模型的模型参数,直至目标数据精度满足精度要求,则确定第M个量化层完成训练。
可以理解的是,每次调整待训练的量化参数模型的模型参数,都将影响模型下一次生成的量化参数,从而可以通过不断的调整模型的模型参数,以得到最优的量化参数。
实施上述方法,可以在训练过程中,通过量化参数模型生成的预测样本数据,反馈调整模型的模型参数,以使得后续量化参数模型可以生成最优的量化参数,使得后续可以通过该最优的量化参数对数据进行量化操作,降低量化操作过程中精度的损失。
在另一种实施例中,根据初始量化参数对第一样本数据执行量化操作,得到第二位宽的预测样本数据的方式具体可以为:
计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第二取整结果;以及,根据第二取整结果和第二位宽对应的取值范围确定出区间限定值;并计算区间限定值和初始量化参数的第二乘积,并将第二乘积作为第二位宽的预测样本数据。
可选的,根据第二取整结果和第二位宽对应的取值范围确定出区间限定值的方式,与上述根据第一取整结果和第二位宽对应的取整范围,生成第二位宽的第三图像数据的方式类似,在此不再赘述。
可选的,可以根据第一样本数据、初始量化参数和以下的公式5得到第二位宽的预测样本数据,即:
公式5:
Figure BDA0003383433910000171
其中,newdata′表示预测样本数据,olddata′表示第一样本数据,scale′表示初始量化参数,round表示执行取整操作,clamp表示将取整结果限定在第二位宽对应的取整范围内,公式5以int8对应的取值范围(-127,127)作为第二位宽对应的取值范围为例进行说明,不应对本申请实施例构成限定。
406、根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据,所述第一目标量化参数是根据量化参数模型得到的。
408、对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据。
410、通过第二变换矩阵对所述第四图像数据进行变换处理,得到目标图像数据。
实施上述各实施例公开的方法,可以根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,以得到第二位宽的第三图像数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。此外,可以降低位宽缩减操作造成的数据精度损失,从而提高了后续进行位宽缩减操作后的图像数据的数据精度;以及,可以将量化参数模型中包括的多个量化层分开训练,每次只训练一个量化层,并上一个量化层完成训练时再训练下一个量化层,从而可以保证量化参数模型的收敛;以及,可以在训练过程中,通过量化参数模型生成的预测样本数据,反馈调整模型的模型参数,以使得后续量化参数模型可以生成最优的量化参数,使得后续可以通过该最优的量化参数对数据进行量化操作,降低量化操作过程中精度的损失。
请参阅图5,图5是本申请实施例公开的一种用于说明卷积运算中的位宽变化的示意图。在一种实施例中,电子设备可以根据第一量化参数,将浮点型32位(即:fp32)的第一图像数据量化为整数型8位(即:int8),进而电子设备可以通过第一变换矩阵对表示为int8的第一图像数据进行变换处理,以得到整数型32位(即:int32)的第二图像数据,进而电子设备可以根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,以得到int8的第三图像数据。同理的,电子设备可以根据第三量化参数,将浮点型32位(即:fp32)的第三权重数据量化为整数型8位(即:int8),进而电子设备可以通过第三变换矩阵对表示为int8的第三权重数据进行变换处理,以得到整数型32位(即:int32)的第第二权重数据,进而电子设备可以根据第二权重数据对应的第二目标量化参数缩减第二权重数据的位宽,以得到int8的第第一图像数据。
进而电子设备可以对int8的第三图像数据和int8的第一权重数据执行点乘运算,得到int32的第四图像数据;进而电子设备可以通过第四图像数据对应的第三目标量化参数缩减第四图像数据的位宽,以得到int8的第五图像数据;进而电子设备可以通过第二变换矩阵对int8的第五图像数据进行变换处理,以得到int32的第六图像数据;进而电子设备可以根据第六图像数据对应的第四目标量化参数,缩减第六图像数据的位宽,以得到int8的第七图像数据作为输出结果。
需要说明的是,图5仅是用于说明本申请实施例公开的数据变换方法,不应对本申请实施例公开的数据变换方法构成限定。
请参阅图6,图6是本申请实施例公开的一种数据变换装置的结构示意图,该数据变换装置可以应用于上述的电子设备,包括计算机、运算器等,在此不作限定。该数据变换装置可以包括第一变换单元601、第一缩减单元602、点乘单元603和第二变换单元604,其中:
第一变换单元601,用于通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据;
第一缩减单元602,用于根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,得到第二位宽的第三图像数据,第一目标量化参数是根据量化参数模型的第一量化层得到的,量化参数模型是根据样本集合训练得到的,样本集合至少包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据,第二位宽的第二样本数据是对第一样本数据进行量化得到的;
点乘单元603,用于对第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据;
第二变换单元604,用于通过第二变换矩阵对第四图像数据进行变换处理,得到目标图像数据。
实施上述的数据变换装置,可以通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据,进而根据第二图像数据对应的第一目标量化参数缩减第二图像数据的位宽,以得到第二位宽的第三图像数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。此外,第一目标量化参数是根据量化参数模型的第一量化层得到用于缩减第二图像数据的最优量化参数,从而通过该最优的量化参数缩减第二图像数据的位宽,可以降低位宽缩减操作造成的数据精度损失,从而提高了后续进行位宽缩减操作后的图像数据的数据精度。
作为一种可选的实施方式,图6所示的数据变换装置还可以包括第一获取单元和第一确定单元,其中:
第一获取单元,用于获取第一图像数据对应的第一量化参数,和第一变换矩阵对应的第二量化参数,第一量化参数和第二量化参数是根据量化参数模型的第一量化层得到的;
第一确定单元,用于根据第一量化参数和第二量化参数确定第一目标量化参数。
实施上述的数据变换装置,可以通过第一量化参数和第二量化参数来确定第一目标量化参数,可以降低位宽缩减操作造成的数据精度损失,从而提高了后续进行位宽缩减操作后的图像数据的数据精度。
作为一种可选的实施方式,第一缩减单元602还用于计算第二图像数据与第二图像数据对应的第一目标量化参数的第一乘积,并对第一乘积执行取整操作得到第一取整结果;以及,根据第一取整结果和第二位宽对应的取值范围,生成第二位宽的第三图像数据。
实施上述的数据变换装置,可以将第二图像数据量化为低位宽的第三图像数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。
作为一种可选的实施方式,第二位宽对应的取值范围包括上限值和下限值;第一缩减单元602还用于根据第二位宽对应的取值范围,调整第一取整结果包括的各个元素对应的数值,并将调整后的第一取整结果作为第二位宽的第三图像数据;
以及,第一缩减单元602还用于在第一元素对应的数值大于或者等于上限值时,将第一元素对应的数值调整为上限值,第一元素为第一取整结果包括的任一元素;在第一元素对应的数值小于或者等于下限值时,将第一元素对应的数值调整为下限值;在第一元素对应的第一数值小于上限值时,且大于下限值时,不对第一元素对应的数值进行调整。
实施上述的数据变换装置,可以根据第二位宽对应的取值范围,将第二图像数据对应的矩阵中的每个元素限定在第二位宽对应的取值范围中,从而达到将第一位宽的第二图像数据量化为第二位宽的第三图像数据的效果。
作为一种可选的实施方式,图6所示的数据变换装置还可以包括第三变换单元和第二缩减单元,其中:
第三变换单元,用于通过第三变换矩阵对第三权重数据进行变换处理,以得到第一位宽的第二权重数据;
第二缩减单元,用于根据第二权重数据对应的第二目标量化参数缩减第二权重数据的位宽,以得到第二位宽的第一权重数据,第二目标量化参数是根据量化参数模型的第二量化层得到的。
实施上述的数据变换装置,可以将二权重数据量化为低位宽的第一权重数据,使得后续可以使用低位宽的第二图像数据与低位宽的权重数据执行点乘运算,减少了电子设备的计算量,从而能够提高电子设备的硬件计算效率,以及降低电子设备的功耗。
作为一种可选的实施方式,图6所示的数据变换装置还可以包括第三缩减单元,其中:
第三缩减单元,用于根据第四图像数据对应的第三目标量化参数,缩减四图像数据的位宽,以得到第二位宽的第五图像数据,第三目标量化参数是根据量化参数模型的第三量化层得到的。
以及,第二变换单元604还用于通过第二变换矩阵对第二位宽的第五图像数据进行变换处理,得到目标图像数据。
实施上述的数据变换装置,由于点乘运算得到第四图像数据的位宽又恢复到第一位宽,对此电子设备可以根据第四图像数据对应的第三目标量化参数缩减四图像数据的位宽。
作为一种可选的实施方式,第二变换单元604还用于通过第二变换矩阵对第二位宽的第五图像数据进行变换处理,以得到第一位宽的第六图像数据;以及,根据第六图像数据对应的第四目标量化参数,缩减第六图像数据的位宽,以得到第二位宽的第七图像数据,并将第二位宽的第七图像数据作为目标图像数据,第四目标量化参数是根据量化参数模型的第四量化层得到的。
实施上述的数据变换装置,由于矩阵变换操作增大第五图像数据的位宽,对此可以电子设备可以根据第六图像数据对应的第四目标量化参数,缩减第六图像数据的位宽,以得到满足要求的目标图像数据。
作为一种可选的实施方式,图6所示的数据变换装置还可以包括训练单元,其中:
训练单元,用于根据样本集合对待训练的量化参数模型进行训练;其中,样本集合包括第一位宽的第一样本数据和第二位宽的第二样本数据,第二样本数据是对第一样本数据进行量化得到的。
实施上述的数据变换装置,可以通过大量的样本数据训练出能够得到最优的量化参数的模型,从而使得后续可以通过最优的量化参数对数据进行量化操作,降低了量化操作过程中数据的精度损失。
作为一种可选的实施方式,待训练的量化参数模型包括N个量化层,N为大于或者等于2的整数;训练单元还用于根据样本集合对待训练的量化参数模型的第M个量化层进行训练,并在第M个量化层完成训练后,根据样本数据对待训练的量化参数模型的第M+1个量化层进行训练,第M+1个量化层为排列在第M个量化层之后的量化层,M为小于或者等于N-1的整数;
以及,在根据样本集合对待训练的量化参数模型的第N个量化层完成训练时,确定量化参数模型完成训练。
实施上述的数据变换装置,可以将量化参数模型中包括的多个量化层分开训练,每次只训练一个量化层,并上一个量化层完成训练时再训练下一个量化层,从而可以保证量化参数模型的收敛。
作为一种可选的实施方式,训练单元还用于通过待训练的量化参数模型的第M个量化层,生成第一位宽的第一样本数据对应的初始量化参数,并根据初始量化参数对第一样本数据执行量化操作,得到第二位宽的预测样本数据;以及,根据预测样本数据和第二样本数据确定目标数据精度,并根据目标数据精度调整待训练的量化参数模型的模型参数,直至目标数据精度满足精度要求,则确定第M个量化层完成训练。
实施上述的数据变换装置,可以在训练过程中,通过量化参数模型生成的预测样本数据,反馈调整模型的模型参数,以使得后续量化参数模型可以生成最优的量化参数,使得后续可以通过该最优的量化参数对数据进行量化操作,降低量化操作过程中精度的损失。
作为一种可选的实施方式,训练单元还用于计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第二取整结果;以及,根据第二取整结果和第二位宽对应的取值范围确定出区间限定值;以及,计算区间限定值和初始量化参数的第二乘积,并将第二乘积作为第二位宽的预测样本数据。
实施上述的数据变换装置,可以在训练过程中,通过量化参数模型生成的预测样本数据,反馈调整模型的模型参数,以使得后续量化参数模型可以生成最优的量化参数,使得后续可以通过该最优的量化参数对数据进行量化操作,降低量化操作过程中精度的损失。
请参阅图7,图7是本申请实施例公开的一种量化参数模型的训练装置的结构示意图。该装置可以应用于上述的电子设备,包括但不限于计算机、运算器等,该装置可以包括生成单元701、取整单元702、第一确定单元703、预测单元704和第二确定单元705,其中:
生成单元701,用于通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;
取整单元702,用于计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果;
第一确定单元703,用于根据第一取整结果和第二位宽对应的取值范围确定出区间限定值;
预测单元704,用于计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据;
第二确定单元705,用于在根据第二位宽的第二样本数据确定预测样本数据满足精度要求时,确定量化参数模型完成训练。
作为一种可选的实施方式,第二位宽对应的取值范围可以包括上限值和下限值;第一确定单元703,还用于根据第二位宽对应的取值范围,调整第一取整结果包括的各个元素对应的数值,并将调整后的第一取整结果作为区间限定值;
以及,第一确定单元703,还用于在第一元素对应的数值大于或者等于上限值时,将第一元素对应的数值调整为上限值,第一元素为第一取整结果包括的任一元素;以及,在第一元素对应的数值小于或者等于下限值时,将第一元素对应的数值调整为下限值;以及,在第一元素对应的第一数值小于上限值,且大于下限值时,不对第一元素对应的数值进行调整。
作为一种可选的实施方式,第二确定单元705,还用于根据预测样本数据和第二位宽的第二样本数据确定目标数据精度,并根据目标数据精度调整待训练的量化参数模型的模型参数,直至目标数据精度满足精度要求时,确定量化参数模型层完成训练。
作为一种可选的实施方式,待训练的量化参数模型包括N个量化层,N为大于或者等于2的正整数;生成单元701,还用于通过待训练的量化参数模型的第M个量化层,生成第一位宽的第一样本数据对应的初始量化参数,M为小于或者等于N-1的正整数;
以及,第二确定单元705,还用于在预测样本数据满足精度要求时,确定第M个量化层完成训练。
作为一种可选的实施方式,图7所示的装置还包括未图示的训练单元和第三确定单元,其中:
训练单元,用于在确定第M个量化层完成训练之后,根据第一样本数据和第二样本数据,对待训练的量化参数模型的第M+1个量化层进行训练,第M+1个量化层为排列在第M个量化层之后的量化层;
第三确定单元,用于在根据样本集合对待训练的量化参数模型的第N个量化层完成训练时,确定量化参数模型完成训练。
实施上述各实施例公开的装置,可以通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;以及,计算第一样本数据除以初始量化参数的第一商,并对第一商执行取整操作得到第一取整结果;以及,根据第一取整结果和第二位宽对应的取值范围确定出区间限定值;以及,计算区间限定值和初始量化参数的第一乘积,并将第一乘积作为第二位宽的预测样本数据;以及,若根据第二位宽的第二样本数据确定预测样本数据满足精度要求,则确定量化参数模型完成训练。进而后续可以通过该量化参数模型对卷积运算中的参数进行量化处理,可以提高量化处理的精度,从而提高卷积运算的计算速度和正确率。
请参阅图8,图8是本申请实施例公开的一种电子设备的结构示意图。如图8所示,该电子设备可以包括:
存储有可执行程序代码的存储器801;
与存储器801耦合的处理器802;
其中,处理器802调用存储器801中存储的可执行程序代码,执行上述各实施例公开的量化参数模型的训练方法,或者数据变换方法。
本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行上述各实施例公开的量化参数模型的训练方法,或者数据变换方法。
本申请实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本申请实施例公开的一种量化参数模型的训练方法及装置、电子设备、计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种量化参数模型的训练方法,其特征在于,所述方法包括:
通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;
计算所述第一样本数据除以所述初始量化参数的第一商,并对所述第一商执行取整操作得到第一取整结果;
根据所述第一取整结果和第二位宽对应的取值范围确定出区间限定值;
计算所述区间限定值和所述初始量化参数的第一乘积,并将所述第一乘积作为第二位宽的预测样本数据;
若根据第二位宽的第二样本数据确定所述预测样本数据满足精度要求,则确定所述量化参数模型完成训练。
2.根据权利要求1所述的方法,其特征在于,所述第二位宽对应的取值范围包括上限值和下限值;所述根据所述第一取整结果和第二位宽对应的取值范围确定出区间限定值,包括:
根据第二位宽对应的取值范围,调整所述第一取整结果包括的各个元素对应的数值,并将调整后的第一取整结果作为区间限定值;
以及,所述根据第二位宽对应的取值范围,调整所述第一取整结果包括的各个元素对应的数值,包括:
若第一元素对应的数值大于或者等于所述上限值,则将所述第一元素对应的数值调整为所述上限值,所述第一元素为所述第一取整结果包括的任一元素;
若第一元素对应的数值小于或者等于所述下限值,则将所述第一元素对应的数值调整为所述下限值;
若第一元素对应的第一数值小于所述上限值,且大于所述下限值,则不对所述第一元素对应的数值进行调整。
3.根据权利要求1所述的方法,其特征在于,所述若根据第二位宽的第二样本数据确定所述预测样本数据满足精度要求,则确定所述量化参数模型完成训练,包括:
根据所述预测样本数据和第二位宽的第二样本数据确定目标数据精度,并根据所述目标数据精度调整所述待训练的量化参数模型的模型参数,直至所述目标数据精度满足精度要求时,确定所述量化参数模型层完成训练。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述待训练的量化参数模型包括N个量化层,所述N为大于或者等于2的正整数;所述通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数,包括:
通过待训练的量化参数模型的第M个量化层,生成所述第一位宽的第一样本数据对应的初始量化参数,所述M为小于或者等于N-1的正整数;
以及,所述若所述预测样本数据满足精度要求,则确定所述量化参数模型完成训练,包括:
若所述预测样本数据满足精度要求,则确定所述第M个量化层完成训练。
5.根据权利要求4所述的方法,其特征在于,在所述确定所述第M个量化层完成训练之后,所述方法还包括:
根据所述第一样本数据和所述第二样本数据,对所述待训练的量化参数模型的第M+1个量化层进行训练,所述第M+1个量化层为排列在所述第M个量化层之后的量化层;
在根据所述样本集合对所述待训练的量化参数模型的第N个量化层完成训练时,确定所述量化参数模型完成训练。
6.一种数据变换方法,其特征在于,所述方法包括:
通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据;
根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据,所述第一目标量化参数是根据量化参数模型得到的,所述量化参数模型是根据样本集合训练得到的,所述样本集合至少包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据,所述第二位宽的第二样本数据是对所述第一样本数据进行量化得到的;
对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据;
通过第二变换矩阵对所述第四图像数据进行变换处理,得到目标图像数据。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据之前,所述方法还包括:
获取所述第一图像数据对应的第一量化参数,和所述第一变换矩阵对应的第二量化参数,所述第一量化参数和所述第二量化参数是根据量化参数模型的第一量化层得到的;
根据所述第一量化参数和所述第二量化参数确定第一目标量化参数。
8.根据权利要求6或7所述的方法,其特征在于,所述根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据,包括:
计算所述第二图像数据与所述第二图像数据对应的第一目标量化参数的第二乘积,并对所述第二乘积执行取整操作得到第二取整结果;
根据所述第二取整结果和第二位宽对应的取值范围,生成第二位宽的第三图像数据。
9.根据权利要求6所述的方法,其特征在于,在所述对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算之前,所述方法还包括:
通过第三变换矩阵对第三权重数据进行变换处理,以得到第一位宽的第二权重数据;
根据所述第二权重数据对应的第二目标量化参数缩减所述第二权重数据的位宽,以得到第二位宽的第一权重数据,所述第二目标量化参数是根据量化参数模型的第二量化层得到的。
10.根据权利要求6所述的方法,其特征在于,在所述对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据之后,所述方法还包括:
根据第四图像数据对应的第三目标量化参数,缩减所述四图像数据的位宽,以得到第二位宽的第五图像数据,所述第三目标量化参数是根据量化参数模型的第三量化层得到的;
以及,所述通过第二变换矩阵对所述第四图像数据进行变换处理,得到目标图像数据,包括:
通过第二变换矩阵对所述第二位宽的第五图像数据进行变换处理,得到目标图像数据。
11.根据权利要求10所述的方法,其特征在于,所述通过第二变换矩阵对所述第二位宽的第五图像数据进行变换处理,得到目标图像数据,包括:
通过第二变换矩阵对所述第二位宽的第五图像数据进行变换处理,以得到第一位宽的第六图像数据;
根据所述第六图像数据对应的第四目标量化参数,缩减所述第六图像数据的位宽,以得到第二位宽的第七图像数据,并将所述第二位宽的第七图像数据作为目标图像数据,所述第四目标量化参数是根据量化参数模型的第四量化层得到的。
12.一种量化参数模型的训练装置,其特征在于,所述装置包括:
生成单元,用于通过待训练的量化参数模型生成第一位宽的第一样本数据对应的初始量化参数;
取整单元,用于计算所述第一样本数据除以所述初始量化参数的第一商,并对所述第一商执行取整操作得到第一取整结果;
第一确定单元,用于根据所述第一取整结果和第二位宽对应的取值范围确定出区间限定值;
预测单元,用于计算所述区间限定值和所述初始量化参数的第一乘积,并将所述第一乘积作为第二位宽的预测样本数据;
第二确定单元,用于在根据第二位宽的第二样本数据确定所述预测样本数据满足精度要求时,确定所述量化参数模型完成训练。
13.一种数据变换装置,其特征在于,所述装置包括:
第一变换单元,用于通过第一变换矩阵对第一图像数据进行变换处理,得到第一位宽的第二图像数据;
缩减单元,用于根据所述第二图像数据对应的第一目标量化参数缩减所述第二图像数据的位宽,得到第二位宽的第三图像数据,所述第一目标量化参数是根据量化参数模型得到的,所述量化参数模型是根据样本集合训练得到的,所述样本集合至少包括第一位宽的第一样本数据及对应的第二位宽的第二样本数据,所述第二位宽的第二样本数据是对所述第一样本数据进行量化得到的;
点乘单元,用于对所述第二位宽的第三图像数据,和第二位宽的第一权重数据执行点乘运算,得到第四图像数据;
第二变换单元,用于通过第二变换矩阵对所述第四图像数据进行变换处理,得到目标图像数据。
14.一种电子设备,其特征在于,包括存储有可执行程序代码的存储器,以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1~5或6~11任一项所述的方法。
15.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~5或6~11任一项所述的方法。
CN202111441233.1A 2021-11-30 2021-11-30 量化参数模型的训练方法及装置、电子设备、存储介质 Pending CN116205275A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111441233.1A CN116205275A (zh) 2021-11-30 2021-11-30 量化参数模型的训练方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111441233.1A CN116205275A (zh) 2021-11-30 2021-11-30 量化参数模型的训练方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN116205275A true CN116205275A (zh) 2023-06-02

Family

ID=86513415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111441233.1A Pending CN116205275A (zh) 2021-11-30 2021-11-30 量化参数模型的训练方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116205275A (zh)

Similar Documents

Publication Publication Date Title
US11270187B2 (en) Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
CN109685198B (zh) 用于量化神经网络的参数的方法和装置
CN112508125A (zh) 一种图像检测模型的高效全整数量化方法
CN109670575B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
KR20200004700A (ko) 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
CN109670574B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
CN112149797B (zh) 神经网络结构优化方法和装置、电子设备
CN113132723B (zh) 一种图像压缩方法及装置
CN111695671B (zh) 训练神经网络的方法及装置、电子设备
CN111758104B (zh) 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置
CN110929865A (zh) 网络量化方法、业务处理方法及相关产品
EP3816866A1 (en) Operation method and apparatus for network layer in deep neural network
KR102368590B1 (ko) 전자 장치 및 그 제어 방법
CN112561050B (zh) 一种神经网络模型训练方法及装置
CN116205275A (zh) 量化参数模型的训练方法及装置、电子设备、存储介质
CN112446461A (zh) 一种神经网络模型训练方法及装置
CN110276448B (zh) 一种模型压缩方法及装置
US20220207346A1 (en) Data processing method and device used in neural network
CN116472538A (zh) 用于量化神经网络的方法和系统
TWI819005B (zh) 用於執行乘法運算的計算單元、方法、電腦程式、機器可讀取儲存元件和產品
EP3742283A1 (en) Arithmetic processing device, method for controlling arithmetic processing device, and program for controlling arithmetic processing device
CN111814955A (zh) 神经网络模型的量化方法、设备及计算机存储介质
CN113887721A (zh) 一种语音识别任务中的训练后量化压缩方法及系统
JP7055211B2 (ja) データ処理システムおよびデータ処理方法
KR102384588B1 (ko) 신경망 연산방법 및 신경망 가중치 생성방법

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