CN113887721B - 一种语音识别任务中的训练后量化压缩方法及*** - Google Patents
一种语音识别任务中的训练后量化压缩方法及*** Download PDFInfo
- Publication number
- CN113887721B CN113887721B CN202111150818.8A CN202111150818A CN113887721B CN 113887721 B CN113887721 B CN 113887721B CN 202111150818 A CN202111150818 A CN 202111150818A CN 113887721 B CN113887721 B CN 113887721B
- Authority
- CN
- China
- Prior art keywords
- quantization
- matrix
- diagonal
- weight matrix
- input vector
- 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.)
- Active
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012549 training Methods 0.000 title claims abstract description 35
- 238000007906 compression Methods 0.000 title claims abstract description 28
- 230000006835 compression Effects 0.000 title claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 91
- 239000013598 vector Substances 0.000 claims abstract description 49
- 238000005457 optimization Methods 0.000 claims abstract description 42
- 238000004364 calculation method Methods 0.000 claims abstract description 39
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 29
- 238000009826 distribution Methods 0.000 claims description 10
- 238000003491 array Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000003062 neural network model Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 5
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 abstract description 7
- 238000009795 derivation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 2
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- -1 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种语音识别任务中的训练后量化压缩方法及***,相关方法包括:通过对角矩阵来分别放缩输入向量与权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差;设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。上述方案,上述量化方法通过更精细的放缩和基于理论推导的优化算法,实现了在模型精度损失得到良好控制的同时,模型推理效率获得明显提升,即显著降低存储空间和运行时间,扩展了语音识别模型的应用场景。
Description
技术领域
本发明涉及深度学习与人工智能技术领域,尤其涉及一种语音识别任务中的训练后量化压缩方法及***。
背景技术
语音识别任务,是将语音转化成文本的过程,也是深度学习和人工智能领域最重要、最常见的任务之一。目前在语音识别任务上取得最好效果的往往是深度神经网络模型,例如端到端的VGG-Transformer模型、Conformer模型等,并且效果的进一步提升通常伴随着模型复杂度的增加,带来的问题是不断增加的存储和计算需求,限制了其在移动端和嵌入式设备等场景下的应用和部署。
为了降低深度语音识别模型的存储和计算成本,常用的有以下几种方法:设计参数量和计算量更小的网络结构,例如MobileNet网络结构;剪枝,即在训练后删除神经网络中不必要的参数;量化,即用低精度的定点数替代浮点数,降低存储并加速计算。相比其他方法,量化在已有模型的基础上进行了最小程度的改动,即模型结构完全保留、仅参数取值存在差异。而量化又分为量化训练和训练后量化,前者需要额外进行训练,这会增加大量的计算量,并且不适用于训练数据因隐私或权限问题难以获取的情形。
对于训练后量化,普遍的方法是对权重矩阵使用统一的放缩比例,然而权重矩阵各个行列中的数值分布往往不一致,这会增加量化导致的计算误差;另外,选择最优放缩比例时常用的最小化信息损失(KL散度)准则,不一定意味着模型精度损失最小。
发明内容
本发明的目的是提供一种语音识别任务中的训练后量化压缩方法及***,利用矩阵变换对网络权重进行更细致的放缩,结合预截断来减小量化导致的计算误差,设计优化算法求解使理论期望误差最小的放缩比例,同时实现语音识别模型推理效率的明显提升和精度损失的有效控制。
本发明的目的是通过以下技术方案实现的:
一种语音识别任务中的训练后量化压缩方法,包括:
根据语音识别模型量化压缩的截断误差分布性质,通过对角矩阵来分别放缩针对语音数据处理得到的输入向量,以及权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差;
设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
一种语音识别任务中的训练后量化压缩***,用于实现前述的方法,该***包括:
理论期望误差估计单元,用于根据语音识别模型量化压缩的截断误差分布性质,通过对角矩阵来分别放缩针对语音数据处理得到的输入向量,以及权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差;
最优对角矩阵计算单元,用于设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
由上述本发明提供的技术方案可以看出,基于矩阵变换的训练后量化,具有一定的理论基础,可以保证深度语音识别模型精度损失在可接受范围内,同时推理效率得到明显提升。此外,该方法简单易实施,量化准备阶段的计算量有限、优化算法迭代求解收敛较快,解码推断阶段只额外增加少量参数量(以存储放缩比例)。相比量化训练,提出的训练后量化方法避免了额外训练带来的计算成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种语音识别任务中的训练后量化压缩方法的流程图;
图2为本发明实施例提供的一种语音识别任务中的训练后量化压缩方法的原理图;
图3为本发明实施例提供的一种语音识别任务中的训练后量化压缩***的示意图;
图4为本发明实施例提供的第一组语音识别模型量化结果;
图5为本发明实施例提供的第二组语音识别模型量化结果。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
下面对本发明所提供的一种语音识别任务中的训练后量化压缩方法进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。
如图1所示,一种语音识别任务中的训练后量化压缩方法,包括如下步骤:
步骤1、根据语音识别模型量化压缩的截断误差分布性质,通过对角矩阵来分别放缩针对语音数据处理得到的输入向量,以及权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差。
本步骤的优选实施方式如下:
1)通过对角矩阵来分别放缩权重矩阵的各个行列再进行量化。
本发明实施例中,通过正实数对角阵L与R分别放缩权重矩阵的各个行列以及输入向量的各个维度;设置权重矩阵为W,行数、列数分别为m、n,针对语音数据处理得到的输入向量为x,正实数对角阵L与R作为放缩矩阵,Wx计算过程等价为:
Wx=L(L-1WR-1)(Rx)
之后,进行量化,表示为:
Wx≈LQ(L-1WR-1)Q(Rx)
其中,Q表示量化函数,L=diag(l1,…,lm),L>0,R=diag(r1,…,rn),R>0,l、r各自表示正实数对角阵L、R中的对角元素,角标为对应的行列号(对角元素的行号和列号相同)。
执行上述量化计算后,仅需要保存正实数对角阵L与R以及Q(L-1WR-1)。
根据上式可知,在推理时并不需要先还原出权重矩阵W,而仅需用正实数对角阵R对输入向量x进行放缩,并用正实数对角阵L放缩输出向量。注意到在基础的量化方法中也需要对输入向量和输出向量进行放缩,因此,本发明不会增加额外计算量。权重矩阵W的维度为m×n,则相比于基础的量化方法,本发明仅需要额外保存正实数对角阵L与R,也即只增加了m+n个元素的存储需求。以VGG-16网络结构为例,本发明仅增加0.036%的额外参数。可见,对权重矩阵的各个行列分别进行放缩仅会增加微小的成本。
示例性的,量化函数一般可以表示为Q(x)=clip(round(x),a,b),其中round为就近取整函数,clip为截断函数,a与b表示根据定点数类型设定的截断界,以最常用的定点数表示INT8为例,a=-128,b=127,x可以是神经网络每一层的输入向量和权重矩阵。如之前所述,需要预先对x进行恰当的放缩以充分使用定点数的表示范围,如果放缩尺度过大,会在量化过程中发生大量的截断,增加了计算误差;如果放缩尺度过小,则在就近取整时也会损失过多的信息,因此,需要选择合适的正实数对角阵,具体的方式在后续步骤2进行介绍。
2)估计量化后计算结果的理论期望误差。
首先,可以将量化过程改写为:
Wx≈L(L-1WR-1+ε1)(Rx+ε2)
其中,ε1与ε2是量化函数Q导致的误差;
则量化后计算结果的误差为:
ε3=L(L-1WR-1+ε1)(Rx+ε2)-Wx=WR-1ε2+Lε1Rx+Lε1ε2
其中,ε3表示量化后计算结果的理论期望误差。
考虑到误差ε1,ε2和正实数对角阵L与R之间的关系难以显示写出,因此,将输入向量x以及量化函数Q导致的误差ε1与ε2视作随机变量,并设定:x、ε1与ε2相互独立;误差ε1中的各个元素独立同分布,期望为0,方差为ε2中的各个元素独立同分布,期望为0,方差为
再定义量化后权重矩阵向量乘法计算的理论期望误差为经化简得到:
其中,(d1,…,dn)=diag(WTW),T为矩阵转置符号,d表示矩阵WTW的对角元素;输入向量x=(x1,…,xn),xj表示输入向量x中的一个特征,1≤j≤n,通过计算特征xj的平方和的均值,得到统计量并设定/>
步骤2、设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
本发明实施例中,提供两种方案,具体说明如下:
方案一、设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
此方案下,以最小化期望误差为目标来优化求解正实数对角阵L与R,优选实施方式如下:
设定放缩的权重矩阵量化后计算中Q(L-1WR-1)与Q(Rx)不发生截断,则对应的约束条件表示为:
Rxu≤|a|+b,Wij/lirj≥a,Wij/lirj≤b
其中,xu表示输入向量x的各个维度的最大值,Wij表示权重矩阵第i行第j列的元素;a与b表示根据定点数类型设定的截断界。如之前提到的示例,假设采用INT8,则a=-128,b=127,|a|+b=255,当然,用户可以根据实际情况设定定点数类型,从而确定a与b的具体数值。
在上述优化目标和约束条件中,除正实数对角阵L与R外的全部参数都是预先确定的。与量化训练方法需要大量的有标注样本不同,本发明仅需要使用一组有代表性的无标注样本(先验集)来计算等统计量。
本领域技术人员可以理解,有代表性的样本是指与训练样本或测试样本同源的样本,即分布相近的样本。
结合理论期望误差的表达式定义优化问题为:
s.t.pqT≥D,p≥0,e≥q≥0
其中,p=(p1,…,pm),q=(q1,…,qn),c=(c1,…,cn),pi、qj、cj是对表达式中对应部分的简记,c、D和e均已知且非负。
针对上述优化问题,使用交替迭代的优化算法,获得最优对角矩阵L与R,交替迭代的优化算法的执行步骤包括:
步骤S1、随机初始化q。
步骤S2、固定q,更新p,当p取可行域内(满足约束条件的解的集合)的下界能够最小化优化目标。
步骤S3、固定p,更新q,qj取可行区域内最接近的值能够最小化优化目标。
步骤S4、检查优化值是否收敛,若否,则返回步骤S2。
特别地,为了提高解的质量,需要多次调用该算法,并选择最佳解。
方案二、引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
本领域技术人员可以理解,相对便于实现的方法是将目标向量的最大/小值放缩到定点数的表示范围,即在不发生截断的情况下最大化放缩比例,但是这种方法容易受到少数离群点的影响。另一种方法即为此方案所引用的方法,即先将原向量x在指定值(例如99.7%分位数)处预截断以排除离群点的影响,然后再将截断后向量的分布范围放缩到定点数的表示范围,这种方法依赖于指定一个恰当的预截断界。
此方案优选实施方式如下:
本发明实施例中,前述方案一的约束条件不允许发生截断,但是进行简单的扩展后同样可以求解最佳的预截断界。设置权重矩阵W的预截断界t1和输入向量x的预截断界t2,则调整后的约束条件表示为:
其中,表示预截断后的输入向量x的各个维度的最大值,/>表示预截断后的权重矩阵/>第i行第j列的元素;a与b表示根据定点数类型设定的截断界。
由于存储了权重矩阵W,所以直接利用预截断界t1预截断后的权重矩阵中的权值进行计算,估计出方差σ1的上界;而输入向量x占用的存储空间一般远多于权重矩阵W,难以直接存储,所以仅存储输入向量x的分布直方图,据此估计出输入向量x中越过预截断界t2的数值的分布,进而估计出方差σ2的上界,利用方差σ1和σ2的上界,确定理论期望误差的上界;对每组给定的预截断界t1和t2,都能解出在当前预截断设置下的计算误差的上界。测试多组预截断界,并选择使得/>的上界最小的预截断界t1和t2。
本发明实施例中,此方案中定义优化问题与之前的相同表示为:
s.t.pqT≥D,p≥0,e≥q≥0
同样采用之前介绍的交替迭代的优化算法,获得最优对角矩阵L与R。区别主要在于,两个方案中由于有/无预截断,使得式子中p、q、c、a、b的具体取值不同。
以上为两个方案的主要原理,在应用过程中,所述语音识别任务深度神经网络模型实现,包括:通过VGG-Transformer模型或者Conformer模型。深度神经网络模型的结构依次设置的包括:线性层、一维卷积层、二维卷积层、多头自注意力层。
其中,对于卷积层,设卷积核维度为Co×Ci×h×w,则将其视为一个维度为Co×Cihw的权重矩阵进行量化压缩,此时和/>为张量的每个通道的放缩系数,其中,Co表示输出通道数,Ci表示输入通道数,h、w表示特征图的高度和宽度,角标Ci×Ci、Co×Co表示相应正实数对角阵R、L的维度。
本领域技术人员可以理解,不同输入通道的特征图展开拼成一维向量后相当于前述输入向量x,此处一个特征图内使用相同的放缩系数。
对于多头自注意力层,对涉及矩阵向量乘法计算的Q值、K值与V值自身的计算过程进行量化压缩,而计算过程由于涉及矩阵与矩阵间的乘法计算,所以不进行量化。
本发明实施例中,对于实现语音识别任务的深度神经网络模型,采取逐层优化策略,前一层经量化后计算得到的输出向量作为下一层的输入向量,如图2所示,展示了相关的原理,即对于每一层的权重矩阵和输入向量都采用前述步骤1~步骤2的方式确定最优对角矩阵L与R,再按照步骤1中的方式进行量化压缩,输出结果将作为下一层的输入向量x,模型最后一层输出结果作为输入语音数据对应的文本识别结果。
本发明另一实施例还提供一种语音识别任务中的训练后量化压缩***,其主要用于实现前述的方法,如图3所示,该***主要包括:
理论期望误差估计单元,用于根据语音识别模型量化压缩的截断误差分布性质,通过对角矩阵来分别放缩针对语音数据处理得到的输入向量,以及权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差;
最优对角矩阵计算单元,用于设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
为了说明本发明实施例上述方案的效果,下面结合具体示例进行说明。
本发明实施例中,主要围绕两组语音识别模型展开量化实验,均使用fairseq框架进行训练和解码。由于量化的优化求解过程存在随机性,所以以下展示的量化结果是10次重复实验的平均值,括号里的数字代表量化前后模型精度损失,取负值表明精度反而有所提升。
如图4所示,第一组实验采用VGG-Transformer模型和LibriSpeech英文语音数据集,精度指标为WER(词错误率)。对于不同训练方式、不同先验集选取策略,无预截断量化的平均精度损失均小于0.4%(最大精度损失小于0.5%);加入预截断的平均精度损失均小于0.3%(最大精度损失小于0.4%);其中test-clean测试集上平均精度损失多数小于0.1%,而test-other测试集上平均精度损失在引入预截断后也有明显改善。
如图5所示,第二组实验采用Conformer模型和业界中文语音数据集,精度指标为句准确率和字准确率。未对decoder部分的LSTM层进行量化、且未加入预截断时,对于不同先验集选取策略,句准确率平均损失均小于0.5%,字准确率平均损失均小于0.2%。由以上两组实验结果可知,精度损失都控制在0.5%以内,效果理想。
本发明实施例中,在计算两组实验模型的计算量时,取语音序列长度为平均长度、提取特征维度分别为80和40、解码搜索的beam_size均取1。通过理论计算,两组模型量化的空间压缩率(量化后参数量相比量化前参数量所减少的比例)分别为73.71%、60.03%,时间加速率(量化后计算量相比量化前计算量所减少的比例)分别为67.91%、69.17%,即推理效率提升均超过60%,减存加速效果显著。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将***的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (7)
1.一种语音识别任务中的训练后量化压缩方法,其特征在于,包括:
根据语音识别模型量化压缩的截断误差分布性质,通过对角矩阵来分别放缩针对语音数据处理得到的输入向量,以及权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差;
设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;
所述语音识别任务通过深度神经网络模型实现,包括:通过VGG-Transformer模型或者Conformer模型;深度神经网络模型的结构依次设置的包括:线性层、一维卷积层、二维卷积层、多头自注意力层;
对于实现语音识别任务的深度神经网络模型,采取逐层优化策略,前一层经量化后计算得到的输出向量作为下一层的输入向量;对于每一层的权重矩阵和输入向量各自确定最优对角矩阵L与R,再进行量化压缩,输出结果将作为下一层的输入向量,深度神经网络模型最后一层输出结果作为语音数据对应的文本识别结果;
其中,对于卷积层,设卷积核维度为Co×Ci×h×w,则将其视为一个维度为Co×Cihw的权重矩阵进行量化压缩;
对于多头自注意力层,对涉及矩阵向量乘法计算的Q值、K值与V值自身的计算过程进行量化压缩。
2.根据权利要求1所述的一种语音识别任务中的训练后量化压缩方法,其特征在于,所述通过对角矩阵来分别放缩权重矩阵的各个行列再进行量化包括:
设置权重矩阵为W,行数、列数分别为m、n,针对语音数据处理得到的输入向量为x,正实数对角阵L与R,通过正实数对角阵L与R分别放缩权重矩阵的各个行列以及输入向量的各个维度,表示为:
Wx=L(L-1WR-1)(Rx)
再进行量化,表示为:
Wx≈LQ(L-1WR-1)Q(Rx)
其中,Q表示量化函数,L=diag(l1,…,lm),L>0,R=diag(r1,…,rn),R>0,l、r各自表示正实数对角阵L、R中的对角元素,角标为对应的行列号。
3.根据权利要求2所述的一种语音识别任务中的训练后量化压缩方法,其特征在于,估计量化后计算结果的理论期望误差包括:
将量化过程改写为:
Wx≈L(L-1WR-1+ε1)(Rx+ε2)
其中,ε1与ε2是量化函数Q导致的误差;
则量化后计算结果的误差为:
ε3=L(L-1WR-1+ε1)(Rx+ε2)-Wx=WR-1ε2+Lε1Rx+Lε1ε2
其中,ε3表示量化后计算结果的误差;
将输入向量x以及量化函数Q导致的误差ε1与ε2视作随机变量,并设定:x、ε1与ε2相互独立;误差ε1中的各个元素独立同分布,期望为0,方差为ε2中的各个元素独立同分布,期望为0,方差为/>
定义量化后权重矩阵向量乘法计算的理论期望误差为经化简得到:
其中,(d1,…,dn)=diag(WtW),T为矩阵转置符号,d表示矩阵WTW的对角元素;输入向量x=(x1,…,xn),xj表示输入向量x中的一个特征,1≤j≤n,通过计算特征xj的平方和的均值,得到统计量并设定/>
4.根据权利要求3所述的一种语音识别任务中的训练后量化压缩方法,其特征在于,所述设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵包括:
设定放缩的权重矩阵量化后计算中Q(L-1WR-1)与Q(Rx)不发生截断,则对应的约束条件表示为:
Rxu≤|a|+b,Wij/lirj≥a,Wij/lirj≤b
其中,xu表示输入向量x的各个维度的最大值,Wij表示权重矩阵第i行第j列的元素;a与b表示根据定点数类型设定的截断界;
结合理论期望误差的表达式定义优化问题为:
s.t.pqT≥D,p≥0,e≥q≥0
其中,p=(p1,…,pm),q=(q1,…,qn),c=(c1,…,cn),pi、qj、cj是对表达式中对应部分的简记,c、D和e均已知且非负
针对上述优化问题,使用交替迭代的优化算法,获得最优对角矩阵L与R。
5.根据权利要求3所述的一种语音识别任务中的训练后量化压缩方法,其特征在于,所述引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵包括:
设置权重矩阵W的预截断界t1和输入向量x的预截断界t2,则调整后的约束条件表示为:
其中,表示预截断后的输入向量x的各个维度的最大值,/>表示预截断后的权重矩阵/>第i行第j列的元素;a与b表示根据定点数类型设定的截断界;
利用预截断界t1预截断后的权重矩阵中的权值估计方差σ1的上界;利用输入向量x的分布直方图,估计出方差σ2的上界,利用方差σ1和σ2的上界,确定理论期望误差/>的上界;对每组给定的预截断界t1和t2,都能解出在当前预截断设置下的计算误差/>的上界;测试多组预截断界,并选择使得/>的上界最小的预截断界t1和t2;
结合理论期望误差的表达式定义优化问题为:
s.t.pqT≥D,p≥0,e≥q≥0
其中,p=(p1,…,pm),q=(q1,…,qn),c=(c1,…,cn),pi、qj、cj是对表达式中对应部分的简记,c、D和e均已知且非负
针对上述优化问题,使用交替迭代的优化算法,获得最优对角矩阵L与R。
6.根据权利要求4或5所述的一种语音识别任务中的训练后量化压缩方法,其特征在于,交替迭代的优化算法的执行步骤包括:
步骤S1、随机初始化q;
步骤S2、固定q,更新p,当p取可行域内的下界能够最小化优化目标;
步骤S3、固定p,更新q,qj取可行区域内最接近的值能够最小化优化目标;
步骤S4、检查优化值是否收敛,若否,则返回步骤S2。
7.一种语音识别任务中的训练后量化压缩***,其特征在于,用于实现权利要求1~6任一项所述的方法,该***包括:
理论期望误差估计单元,用于根据语音识别模型量化压缩的截断误差分布性质,通过对角矩阵来分别放缩针对语音数据处理得到的输入向量,以及权重矩阵的各个行列,再进行量化,估计得到量化后计算结果的理论期望误差;
最优对角矩阵计算单元,用于设定放缩的权重矩阵量化后计算中不发生截断,并建立相应的约束条件,使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵;或者,引入预截断边界来调整约束条件,再使用交替迭代的优化算法,求解使理论期望误差最小的对角矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111150818.8A CN113887721B (zh) | 2021-09-29 | 2021-09-29 | 一种语音识别任务中的训练后量化压缩方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111150818.8A CN113887721B (zh) | 2021-09-29 | 2021-09-29 | 一种语音识别任务中的训练后量化压缩方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113887721A CN113887721A (zh) | 2022-01-04 |
CN113887721B true CN113887721B (zh) | 2024-02-27 |
Family
ID=79007940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111150818.8A Active CN113887721B (zh) | 2021-09-29 | 2021-09-29 | 一种语音识别任务中的训练后量化压缩方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113887721B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116957045B (zh) * | 2023-09-21 | 2023-12-22 | 第六镜视觉科技(西安)有限公司 | 基于最优传输理论的神经网络量化方法、***及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783961A (zh) * | 2020-07-10 | 2020-10-16 | 中国科学院自动化研究所 | 基于激活定点拟合的卷积神经网络训练后量化方法及*** |
CN112992129A (zh) * | 2021-03-08 | 2021-06-18 | 中国科学技术大学 | 语音识别任务中的保持注意力机制单调性方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832123B2 (en) * | 2016-08-12 | 2020-11-10 | Xilinx Technology Beijing Limited | Compression of deep neural networks with proper use of mask |
US11556775B2 (en) * | 2017-10-24 | 2023-01-17 | Baidu Usa Llc | Systems and methods for trace norm regularization and faster inference for embedded models |
-
2021
- 2021-09-29 CN CN202111150818.8A patent/CN113887721B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783961A (zh) * | 2020-07-10 | 2020-10-16 | 中国科学院自动化研究所 | 基于激活定点拟合的卷积神经网络训练后量化方法及*** |
CN112992129A (zh) * | 2021-03-08 | 2021-06-18 | 中国科学技术大学 | 语音识别任务中的保持注意力机制单调性方法 |
Non-Patent Citations (2)
Title |
---|
压缩传感理论、优化算法及其在***状态重构中应用;丛爽;张娇娇;;信息与控制(03);全文 * |
粒子群优化结构测量矩阵的遥感压缩成像;陶会锋;杨星;陈杰;凌永顺;殷松峰;;光学精密工程(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113887721A (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11270187B2 (en) | Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization | |
CN107622302B (zh) | 用于卷积神经网络的超像素方法 | |
US11645529B2 (en) | Sparsifying neural network models | |
JP7007488B2 (ja) | ハードウェアベースのプーリングのシステムおよび方法 | |
KR101880901B1 (ko) | 기계 학습 방법 및 장치 | |
WO2022006919A1 (zh) | 基于激活定点拟合的卷积神经网络训练后量化方法及*** | |
US20150170020A1 (en) | Reducing dynamic range of low-rank decomposition matrices | |
CN110874636B (zh) | 一种神经网络模型压缩方法、装置和计算机设备 | |
US11899744B2 (en) | Apparatus and method of performing matrix multiplication operation of neural network | |
US12014273B2 (en) | Low precision and coarse-to-fine dynamic fixed-point quantization design in convolution neural network | |
WO2019135274A1 (ja) | ニューラル・ネットワークを有するデータ処理システム | |
CN112288046B (zh) | 一种用于神经网络的基于混合粒度的联合稀疏方法 | |
CN113065653B (zh) | 面向移动端图像分类的轻量级卷积神经网络的设计方法 | |
CN115829024B (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN113887721B (zh) | 一种语音识别任务中的训练后量化压缩方法及*** | |
CN116363423A (zh) | 面向小样本学习的知识蒸馏方法、装置及存储介质 | |
CN106297778A (zh) | 数据驱动的基于奇异值分解的神经网络声学模型裁剪方法 | |
CN110222816B (zh) | 深度学习模型的建立方法、图像处理方法及装置 | |
CN111476362A (zh) | 确定fl值的方法及装置 | |
JP2020155010A (ja) | ニューラルネットワークのモデル縮約装置 | |
Kwak et al. | Quantization aware training with order strategy for CNN | |
Tai et al. | Learnable mixed-precision and dimension reduction co-design for low-storage activation | |
CN105117330A (zh) | Cnn代码测试方法及装置 | |
CN114781639A (zh) | 面向边缘设备多层共享码本向量量化的深度模型压缩方法 | |
JP2023077755A (ja) | モデル削減プログラム、装置、及び方法 |
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 |