CN116644781A - 模型压缩方法、数据处理方法、装置、存储介质及芯片 - Google Patents
模型压缩方法、数据处理方法、装置、存储介质及芯片 Download PDFInfo
- Publication number
- CN116644781A CN116644781A CN202310927731.XA CN202310927731A CN116644781A CN 116644781 A CN116644781 A CN 116644781A CN 202310927731 A CN202310927731 A CN 202310927731A CN 116644781 A CN116644781 A CN 116644781A
- Authority
- CN
- China
- Prior art keywords
- model
- compression
- information
- labeling information
- target
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 248
- 230000006835 compression Effects 0.000 title claims abstract description 235
- 238000000034 method Methods 0.000 title claims abstract description 221
- 238000002372 labelling Methods 0.000 claims abstract description 204
- 238000013138 pruning Methods 0.000 claims abstract description 105
- 238000004821 distillation Methods 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims description 132
- 238000003672 processing method Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 9
- 238000013136 deep learning model Methods 0.000 claims description 8
- 230000015556 catabolic process Effects 0.000 description 14
- 238000006731 degradation reaction Methods 0.000 description 14
- 244000141353 Prunus domestica Species 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000005070 sampling Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000013140 knowledge distillation Methods 0.000 description 4
- 238000012821 model calculation Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提出了一种模型压缩方法、数据处理方法、装置、存储介质及芯片,涉及计算机技术领域。模型压缩方法包括:获取第一模型;根据第一模型的历史输出信息和第一标注信息,对第一模型进行剪枝处理,得到第二模型,第一标注信息为第一模型的真实标注信息;根据第二模型的历史输出信息和第二标注信息,对第二模型进行自蒸馏处理,得到第三模型,第二标注信息为第二模型的真实标注信息。根据本申请提供的技术方案能够在保证网络模型具备较好性能的前提下,缩减网络模型的模型参数量,实现对网络模型的压缩。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种模型压缩方法、数据处理方法、装置、存储介质及芯片。
背景技术
深度神经网络模型通常包含大量参数以保证性能,但随着网络模型规模的不断增长,网络模型的计算成本和存储成本同样增加,因此,需要在不严重影响网络模型的性能的情况下,缩减网络模型的参数量,以对网络模型进行压缩。
目前,常见的模型压缩方法包括网络剪枝以及知识蒸馏。
然而,上述两种模型压缩方法均难以较好地兼顾缩减参数量以及保证模型性能这两个目的,模型压缩的效果较差。
发明内容
本申请旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本申请的第一个方面在于提出一种模型压缩方法。
本申请的第二个方面在于提出一种数据处理方法。
本申请的第三个方面在于提出一种模型压缩装置。
本申请的第四个方面在于提出一种数据处理装置。
本申请的第五个方面在于提出一种可读存储介质。
本申请的第六个方面在于提出一种计算机程序产品。
本申请的第七个方面在于提出一种芯片。
有鉴于此,根据本申请的一个方面,提出了一种模型压缩方法,该方法包括:获取第一模型;根据第一模型的历史输出信息和第一标注信息,对第一模型进行剪枝处理,得到第二模型,第一标注信息为第一模型的真实标注信息;根据第二模型的历史输出信息和第二标注信息,对第二模型进行自蒸馏处理,得到第三模型,第二标注信息为第二模型的真实标注信息。
本申请提供的模型压缩方法的技术方案的执行主体可以为电子设备,还可以为模型压缩装置,还可以根据实际使用需求进行确定,在此不作具体限定。为了更加清楚地描述本申请提供的模型压缩方法,下面以模型压缩方法的执行主体为模型压缩装置进行说明。
具体地,在本申请所提供的模型压缩方法中,在对网络模型进行压缩的过程中,模型压缩装置首先获取待压缩的第一模型,进而基于待压缩的第一模型的第一标注信息以及历史输出信息,对第一模型执行剪枝处理,以对第一模型的模型参数进行剪枝,从而缩减第一模型的模型参数量,得到模型参数缩减后的第二模型。其中,上述第一标注信息为第一模型的真实标注信息,也即,上述第一标注信息为第一模型的硬标签信息。在此基础上,模型压缩装置再基于剪枝处理后所得到的第二模型的第二标注信息以及历史输出信息,继续对得到的第二模型进行自蒸馏处理,以对第二模型进行训练。上述自蒸馏训练过程并不会改变第二模型的模型参数量,但可提高剪枝处理后所得到的第二模型的模型性能,在对剪枝处理后所得到的第二模型进行自蒸馏处理之后,即能够得到模型参数量缩减,并且模型性能较好的第三模型。其中,第二标注信息为第二模型的真实标注信息,也即,上述第二标注信息为第二模型的硬标签信息。这样,结合参数剪枝以及自蒸馏对第一模型进行压缩,在缩减了模型参数量,从而降低了模型计算成本以及存储成本的同时,保证了压缩后得到的第三模型具备较好性能,提升了模型压缩效果;并且,结合模型的硬标签信息以及历史输出信息,对待压缩模型进行剪枝和自蒸馏,缓解了被剪枝模型在完整数据集上自蒸馏的退化问题,以及解决了被剪枝模型难以快速从“硬标签”中学到知识的问题,减少了模型训练时长,提高了模型压缩的速度和效率。
根据本申请的上述模型压缩方法,还可以具有以下附加技术特征:
在一些技术方案中,可选地,根据第一模型的历史输出信息和第一标注信息,对第一模型进行剪枝处理,包括:按照第一迭代次数,迭代更新第一模型的模型参数;在每次迭代更新过程中,根据第一模型的历史输出信息和第一标注信息,确定第三标注信息,第三标注信息为第一模型的预测标注信息;根据第三标注信息和第一模型的当前输出信息,确定目标损失值;基于目标损失值,更新第一模型的模型参数。
在该技术方案中,在模型压缩装置基于第一模型的硬标签信息以及历史输出信息,基于自蒸馏原理,对第一模型进行参数剪枝的过程中,具体地,模型压缩装置根据设定的第一迭代次数,对第一模型的模型参数进行迭代更新,以对第一模型的模型参数进行剪枝,从而缩减第一模型的模型参数量,得到模型参数缩减后的第二模型。
其中,在对第一模型进行每次迭代更新的过程中,模型压缩装置从第一模型的样本数据集中随机采样进行运算。具体地,模型压缩装置根据第一模型的硬标签信息即第一标注信息,以及第一模型在上一次迭代更新中的历史输出信息,确定第一模型的第三标注信息。其中,该第三标注信息为第一模型的预测标注信息,也即,上述第三标注信息为第一模型的软标签信息。在此基础上,模型压缩装置再基于第一模型在本次迭代更新中的当前输出信息,以及上述确定的第一模型的软标签信息即第三标注信息,确定第一模型进行迭代更新的目标损失值,进而再基于该目标损失值,对第一模型的模型参数进行更新。这样,在对第一模型的模型参数进行剪枝的过程中,考虑到了第一模型数据间的相关性信息,从而缓解了由于随机采样小批量数据所导致的梯度偏差问题,保证了对第一模型进行剪枝的准确性,改善了被剪枝模型在完整数据集上的退化问题。
在一些技术方案中,可选地,基于目标损失值,更新第一模型的模型参数,包括:根据目标损失值,确定第一模型中每个模型参数的梯度值;根据每个模型参数的梯度值,确定每个模型参数的显著性分数;根据显著性分数,更新第一模型的模型参数。
在该技术方案中,模型压缩装置基于确定的目标损失值,对第一模型中的每个模型参数的梯度值进行确定,进而再根据第一模型中的每个模型参数的梯度值,对每个模型参数的显著性分数进行确定。模型参数的显著性分数,用于指示对应的模型参数的重要性程度。在此基础上,模型压缩装置再根据第一模型中各个模型参数的显著性分数,对第一模型的模型参数进行剪枝,具体地,模型压缩装置对第一模型中重要程度较低的模型参数进行删减,以完成对第一模型的模型参数的更新。这样,在获取上述梯度值的过程中考虑到了第一模型数据间的相关性信息,从而缓解了由于随机采样小批量数据所导致的梯度偏差问题。基于此,在通过上述梯度值进一步获取第一模型中每个模型参数的显著性分数,并基于该显著性分数对第一模型的模型参数进行剪枝时,可以准确地找到可用于后续训练的模型参数,从而保证了对第一模型进行剪枝的准确性,改善了被剪枝模型在完整数据集上的退化问题。
在一些技术方案中,可选地,根据显著性分数,更新第一模型的模型参数,包括:根据显著性分数,对第一模型的模型参数进行排序,得到目标顺序;按照目标顺序,根据目标压缩率删减第一模型的模型参数。
在该技术方案中,在模型压缩装置根据第一模型中各个模型参数的显著性分数,对第一模型的模型参数进行剪枝,以对第一模型的模型参数进行更新的过程中,具体地,模型压缩装置根据第一模型中各个模型参数的显著性分数,按照显著性分数从高到低的顺序,或者按照显著性分数从低到高的顺序,对第一模型中的各个模型参数进行排序,得到第一模型中各个模型参数的目标顺序。可以理解的是,模型参数的显著性分数用于指示对应的模型参数的重要性程度,显著性分数越高,对应的模型参数的重要性程度就越高。在此基础上,模型压缩装置再根据确定的目标顺序,对第一模型中重要程度较低的模型参数进行删减。具体地,模型压缩装置根据确定的目标顺序以及设定的目标压缩率,删除第一模型中显著性分数较低的一部分模型参数,以完成对第一模型的模型参数的更新。这样,基于显著性分数对第一模型的模型参数进行剪枝,可以准确地找到可用于后续训练的模型参数,保证了对第一模型进行剪枝的准确性。
在一些技术方案中,可选地,根据显著性分数,更新第一模型的模型参数,包括:在显著性分数小于目标分数的情况下,删除显著性分数对应的模型参数。
在该技术方案中,在模型压缩装置根据第一模型中各个模型参数的显著性分数,对第一模型的模型参数进行剪枝,以对第一模型的模型参数进行更新的过程中,具体地,模型压缩装置将第一模型中各个模型参数的显著性分数,与设定的目标分数进行比较。可以理解的是,模型参数的显著性分数用于指示对应的模型参数的重要性程度,显著性分数越高,对应的模型参数的重要性程度就越高。在此基础上,在设定的目标分数大于第一模型中某一个模型参数的显著性分数的情况下,说明该模型参数的显著性分数较低,也即说明该模型参数的重要性程度较低,此时,模型压缩装置会删除该模型参数。如此,模型压缩装置删除第一模型中显著性分数小于设定的目标分数的模型参数,以实现对第一模型的模型参数的更新。这样,基于显著性分数对第一模型的模型参数进行剪枝,可以准确地找到可用于后续训练的模型参数,保证了对第一模型进行剪枝的准确性。
在一些技术方案中,可选地,根据第二模型的历史输出信息和第二标注信息,对第二模型进行自蒸馏处理,包括:按照第二迭代次数,迭代训练第二模型;在每次迭代训练过程中,根据第二模型的历史输出信息和第二标注信息,确定第四标注信息,第四标注信息为第二模型的预测标注信息;根据第四标注信息训练第二模型。
在该技术方案中,在模型压缩装置基于第二模型的硬标签信息以及历史输出信息,基于自蒸馏原理,对第二模型进行训练的过程中,具体地,模型压缩装置根据设定的第二迭代次数,对第二模型进行迭代训练,以在不改变第二模型的模型参数量的情况下,提高剪枝处理后所得到的第二模型的模型性能,从得到模型参数量缩减,并且模型性能较好的第三模型。
其中,在对第二模型进行每次迭代训练的过程中,模型压缩装置根据第二模型的硬标签信息即上述第二标注信息,以及第二模型在上一轮次迭代训练中的历史输出信息,确定第二模型的第四标注信息。其中,该第四标注信息为第二模型的预测标注信息,也即,上述第四标注信息为第二模型的软标签信息。在此基础上,模型压缩装置再基于第二模型的软标签信息即第四标注信息,继续对第二模型进行迭代训练。这样,能够让第二模型从“软标签”中快速学习到自身产生的历史输出信息,解决了第二模型难以快速从“硬标签”中学到知识的问题,在提高第二模型的性能的同时,减少了模型训练时长,提高了模型压缩的速度和效率。
在一些技术方案中,可选地,根据第二模型的历史输出信息和第二标注信息,确定第四标注信息,包括:在每次迭代训练过程中,通过第二模型遍历样本数据集,以得到对应每个样本数据的模型输出信息;根据与每个样本数据对应的第二标注信息以及上一次迭代训练的模型输出信息,得到与每个样本数据对应的第四标注信息。
在该技术方案中,在根据第二模型的历史输出信息和第二标注信息,确定第四标注信息的过程中,具体地,在每次迭代训练过程中,通过第二模型遍历完整的样本数据集,并记录每次迭代训练过程中,对应每个样本数据的模型输出信息。在此基础上,在对第二模型的模型参数进行迭代训练时,在每次迭代训练过程中,对每个样本数据对应的硬标签信息即第二标注信息,以及每个样本数据在上一次迭代训练过程中对应的模型输出信息即历史输出信息进行融合,得到当前轮次迭代训练过程中与每个样本数据对应的软标签信息即第四标注信息。这样,在对第二模型的模型参数进行训练的过程中,能够让第二模型从“软标签”中快速学习到自身产生的历史输出信息,解决了第二模型难以快速从“硬标签”中学到知识的问题,在提高第二模型的性能的同时,减少了模型训练时长,提高了模型压缩的速度和效率。
在一些技术方案中,可选地,第四标注信息通过下述公式确定:Soft_target=(1-α)ygt+αye-1,其中,Soft_target表示与每个样本数据对应的第四标注信息,ygt表示与每个样本数据对应的第二标注信息,ye-1表示上一次迭代训练过程中与每个样本数据对应的模型输出信息,α为比例因子,α用于指示模型输出信息占第四标注信息的比例值。
在该技术方案中,在每次迭代训练过程中,与每个样本数据对应的软标签信息即第四标注信息,具体可通过下述公式确定:
Soft_target=(1-α)ygt+αye-1,
其中,Soft_target表示与每个样本数据对应的第四标注信息,ygt表示与每个样本数据对应的第二标注信息,ye-1表示上一次迭代训练过程中与每个样本数据对应的模型输出信息,α为比例因子,α用于指示模型输出信息占第四标注信息的比例值。这样,在对第二模型的模型参数进行训练的过程中,能够让第二模型从“软标签”中快速学习到自身产生的历史输出信息,在提高第二模型的性能的同时,减少了模型训练时长,提高了模型压缩的速度和效率。
在一些技术方案中,可选地,在每次迭代训练过程中,第二模型的历史输出信息占第四标注信息的目标比例值,与迭代次数成正比。
在该技术方案中,在对第二模型进行每次迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在本次迭代训练的第四标注信息中所占的目标比例值,与本次迭代训练的迭代轮次即迭代次数成正比。这样,随着迭代轮次的增加,第二模型在上一轮次迭代训练中的历史输出信息,在当前轮次迭代训练的第四标注信息中所占的目标比例值逐渐增加,也即,在对第二模型进行迭代训练的过程中,第二模型的历史输出信息占软标签信息的目标比例值逐渐增加,这缓解了第二模型在训练过程中可能产生的过拟合问题,保证了对第二模型进行训练的准确性,从而保证了第二模型的模型性能。
在一些技术方案中,可选地,在每次迭代训练过程中,目标比例值和预设比例值的比值,与当前迭代次数和第二迭代次数的比值相同。
在该技术方案中,在对第二模型进行每次迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在本次迭代训练的第四标注信息中所占的目标比例值,与设定的预设比例值之间的比值,以及第二模型当前迭代训练的迭代轮次即当前迭代次数,与设定的迭代训练的总次数即上述第二迭代次数之间的比值,两个比值的数值相同。可以理解的是,设定的预设比例值以及设定的迭代训练的总次数即上述第二迭代次数为固定值。这样,在对第二模型进行迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在当前轮次迭代训练的第四标注信息中所占的目标比例值,能够随着迭代次数的增加而增加,这缓解了第二模型在训练过程中可能产生的过拟合问题,保证了对第二模型进行训练的准确性,从而保证了第二模型的模型性能。
在一些技术方案中,可选地,目标比例值与迭代次数的关系为:αt=αT×(t/T);其中,t表示当前迭代次数,T表示第二迭代次数,αT表示预设比例值,αt表示当前轮次的迭代训练中,第二模型的历史输出信息占第四标注信息的目标比例值。
在该技术方案中,在对第二模型进行每次迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在本次迭代训练的第四标注信息中所占的目标比例值,具体可通过下述公式确定:
αt=αT×(t/T),
其中,αt表示在当前轮次的迭代训练中,第二模型在上一轮次迭代训练中的历史输出信息,占本次迭代训练的第四标注信息的目标比例值,t表示当前迭代次数,T表示设定的迭代训练的总次数即上述第二迭代次数,αT表示预设比例值,t/T表示t与T的比值。
这样,在对第二模型进行迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在当前轮次迭代训练的第四标注信息中所占的目标比例值,以动态线性增加的方式逐渐增加,这缓解了第二模型在训练过程中可能产生的过拟合问题,保证了对第二模型进行训练的准确性,从而保证了第二模型的模型性能。
在一些技术方案中,可选地,剪枝处理和自蒸馏处理为一次压缩处理,在获取第一模型之后,模型压缩方法包括:根据目标压缩率,对第一模型执行一次压缩处理;或者根据预设剪枝率,对第一模型循环执行目标次数的压缩处理。
在该技术方案中,上述自蒸馏处理以及剪枝处理可作为一次压缩处理流程,在对待压缩模型进行压缩的过程中,在获取待压缩的第一模型之后,具体可根据设置的目标压缩率,对第一模型进行单次压缩,即根据目标压缩率对第一模型执行一次压缩处理。也即,在对第一模型依次执行一次剪枝处理和一次自蒸馏处理之后,完成对第一模型的压缩操作。
在该技术方案中,在对待压缩模型进行压缩的过程中,在获取待压缩的第一模型之后,具体还可根据预设剪枝率,对第一模型进行迭代压缩,即根据预设剪枝率对第一模型循环执行目标次数的压缩处理。也即,按照“剪枝处理-自蒸馏处理-剪枝处理-自蒸馏处理”的处理顺序,循环处理第一模型,直至第一模型的剪枝率达到设定的预设剪枝率,完成对第一模型的压缩操作。
根据本申请的第二个方面,提出了一种数据处理方法,该方法包括:获取数据处理模型;根据上述第一个方面任一技术方案中的模型压缩方法,对数据处理模型进行压缩处理;将待处理的目标数据输入压缩处理后的数据处理模型;通过压缩处理后的数据处理模型处理目标数据,得到处理后的目标数据。
本申请提供的数据处理方法,在处理数据的过程中,获取用于处理数据的数据处理模型,并根据上述第一个方面任一技术方案中的模型压缩方法,对该数据处理模型进行压缩处理,以减少数据处理模型的模型参数量,得到压缩处理后的数据处理模型。在此基础上,将待处理的目标数据输入压缩处理后的数据处理模型中,并通过压缩处理后的数据处理模型,对输入的目标数据进行处理,从而得到处理后的目标数据。本申请提供的数据处理方法,包括上述第一个方面任一技术方案中的模型压缩方法,因此,本申请第二个方面所提出的数据处理方法具备上述第一个方面任一技术方案中的模型压缩方法的全部有益效果,在此不再赘述。
根据本申请的上述数据处理方法,还可以具有以下附加技术特征:
在一些技术方案中,可选地,数据处理模型包括以下至少一项:图像处理模型、语音降噪模型、语音识别模型以及深度学习模型。
在该技术方案中,上述数据处理模型具体可包括图像处理模型、语音降噪模型、语音识别模型以及深度学习模型。具体地,在通过本申请提出的数据处理方法,对图像数据、语音数据等待处理数据进行处理的过程中,均可先基于上述任一技术方案中的模型压缩方法,对相应的图像处理模型、语音降噪模型、语音识别模型以及深度学习模型等数据处理模型进行压缩,进而再通过压缩后的数据处理模型处理图像数据、语音数据等待处理数据。如此,在保证数据处理结果准确性的同时,还能够提高模型推理速度,从而提高数据处理效率。
根据本申请的第三个方面,提出了一种模型压缩装置,该装置包括:获取单元,用于获取第一模型;处理单元,用于根据第一模型的历史输出信息和第一标注信息,对第一模型进行剪枝处理,得到第二模型,第一标注信息为第一模型的真实标注信息;处理单元,还用于根据第二模型的历史输出信息和第二标注信息,对第二模型进行自蒸馏处理,得到第三模型,第二标注信息为第二模型的真实标注信息。
本申请所提供的模型压缩装置包括获取单元以及处理单元,在进行模型压缩的过程中,获取单元首先获取待压缩的第一模型,处理单元进而基于待压缩的第一模型的第一标注信息以及历史输出信息,对第一模型执行剪枝处理,以对第一模型的模型参数进行剪枝,从而缩减第一模型的模型参数量,得到模型参数缩减后的第二模型。其中,上述第一标注信息为第一模型的真实标注信息,也即,上述第一标注信息为第一模型的硬标签信息。在此基础上,处理单元再基于剪枝处理后所得到的第二模型的第二标注信息以及历史输出信息,继续对得到的第二模型进行自蒸馏处理,以对第二模型进行训练。上述自蒸馏训练过程并不会改变第二模型的模型参数量,但可提高剪枝处理后所得到的第二模型的模型性能,在对剪枝处理后所得到的第二模型进行自蒸馏处理之后,即能够得到模型参数量缩减,并且模型性能较好的第三模型。其中,第二标注信息为第二模型的真实标注信息,也即,上述第二标注信息为第二模型的硬标签信息。这样,结合参数剪枝以及自蒸馏对第一模型进行压缩,在缩减了模型参数量,从而降低了模型计算成本以及存储成本的同时,保证了压缩后得到的第三模型具备较好性能,提升了模型压缩效果;并且,结合模型的硬标签信息以及历史输出信息,对待压缩模型进行剪枝和自蒸馏,缓解了被剪枝模型在完整数据集上自蒸馏的退化问题,以及解决了被剪枝模型难以快速从“硬标签”中学到知识的问题,减少了模型训练时长,提高了模型压缩的速度和效率。
根据本申请的第四个方面,提出了一种数据处理装置,该装置包括:获取单元,用于获取数据处理模型;处理单元,用于根据上述第一个方面任一技术方案中的模型压缩方法,对数据处理模型进行压缩处理;处理单元,还用于将待处理的目标数据输入压缩处理后的数据处理模型;处理单元,还用于通过压缩处理后的数据处理模型处理目标数据,得到处理后的目标数据。
本申请提供的数据处理装置,在处理数据的过程中,通过获取单元获取用于处理数据的数据处理模型,并通过处理单元根据上述第一个方面任一技术方案中的模型压缩方法,对该数据处理模型进行压缩处理,以减少数据处理模型的模型参数量,得到压缩处理后的数据处理模型。在此基础上,处理单元将待处理的目标数据输入压缩处理后的数据处理模型中,并通过压缩处理后的数据处理模型,对输入的目标数据进行处理,从而得到处理后的目标数据。本申请提供的数据处理装置,能够实现上述第一个方面任一技术方案中的模型压缩方法,因此,本申请第四个方面所提出的数据处理装置具备上述第一个方面任一技术方案中的模型压缩方法的全部有益效果,在此不再赘述。
根据本申请的第五个方面,提出了一种可读存储介质,其上存储有程序或指令,该程序或指令被处理器执行时实现如上述任一技术方案中的模型压缩方法,或者,该程序或指令被处理器执行时实现如上述任一技术方案中的数据处理方法。因此,本申请第五个方面所提出的可读存储介质具备上述第一个方面任一技术方案中的模型压缩方法的全部有益效果,或者,本申请第五个方面所提出的可读存储介质具备上述第二个方面任一技术方案中的数据处理方法的全部有益效果,在此不再赘述。
根据本申请的第六个方面,提出了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述任一技术方案中的模型压缩方法,或者,该计算机程序被处理器执行时实现如上述任一技术方案中的数据处理方法。因此,本申请第六个方面所提出的计算机程序产品具备上述第一个方面任一技术方案中的模型压缩方法的全部有益效果,或者,本申请第六个方面所提出的计算机程序产品具备上述第二个方面任一技术方案中的数据处理方法的全部有益效果,在此不再赘述。
根据本申请的第七个方面,提出了一种芯片,芯片包括程序或指令,当芯片运行时,用于实现如上述任一技术方案中的模型压缩方法的步骤,或者,当芯片运行时,用于实现如上述任一技术方案中的数据处理方法的步骤。因此,本申请第七个方面所提出的芯片具备上述第一个方面任一技术方案中的模型压缩方法的全部有益效果,或者,本申请第七个方面所提出的芯片具备上述第二个方面任一技术方案中的数据处理方法的全部有益效果,在此不再赘述。
本申请的附加方面和优点将在下面的描述部分中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本申请实施例的模型压缩方法的流程示意图;
图2示出了本申请实施例的模型压缩方法的原理图之一;
图3示出了本申请实施例的模型压缩方法的原理图之二;
图4示出了本申请实施例的数据处理方法的流程示意图;
图5示出了本申请实施例的模型压缩装置的结构框图之一;
图6示出了本申请实施例的模型压缩装置的结构框图之二;
图7示出了本申请实施例的电子设备的结构框图;
图8示出了本申请实施例的数据处理装置的结构框图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不限于下面公开的具体实施例的限制。
下面结合图1至图8,通过具体的实施例及其应用场景对本申请实施例提供的模型压缩方法、数据处理方法、装置、存储介质及芯片进行详细地说明。
在本申请的一个实施例中,如图1所示,模型压缩方法具体可包括下述的步骤102至步骤106:
步骤102,获取第一模型;
步骤104,根据第一模型的历史输出信息和第一标注信息,对第一模型进行剪枝处理,得到第二模型;
步骤106,根据第二模型的历史输出信息和第二标注信息,对第二模型进行自蒸馏处理,得到第三模型;
其中,第一标注信息为第一模型的真实标注信息,第二标注信息为第二模型的真实标注信息。
本申请提供的模型压缩方法的技术方案的执行主体可以为电子设备,还可以为模型压缩装置,还可以根据实际使用需求进行确定,在此不作具体限定。为了更加清楚地描述本申请提供的模型压缩方法,下面以模型压缩方法的执行主体为模型压缩装置进行说明。
本申请提供的模型压缩方法,用于缩减网络模型的模型参数量,以对网络模型进行压缩。通过本申请所提供的模型压缩方法对网络模型进行压缩时,能够较好地兼顾缩减参数量以及保证模型性能这两个目的。也就是说,通过本申请所提供的模型压缩方法,能够在保证网络模型具备较好性能的前提下,缩减网络模型的模型参数量,实现对网络模型的压缩。
具体地,在本申请所提供的模型压缩方法中,在对网络模型进行压缩的过程中,模型压缩装置首先获取待压缩的第一模型,进而基于待压缩的第一模型的第一标注信息以及历史输出信息,对第一模型执行剪枝处理,以对第一模型的模型参数进行剪枝,从而缩减第一模型的模型参数量,得到模型参数缩减后的第二模型。其中,上述第一标注信息为第一模型的真实标注信息,也即,上述第一标注信息为第一模型的硬标签信息。在此基础上,模型压缩装置再基于剪枝处理后所得到的第二模型的第二标注信息以及历史输出信息,继续对得到的第二模型进行自蒸馏处理,以对第二模型进行训练。上述自蒸馏训练过程并不会改变第二模型的模型参数量,但可提高剪枝处理后所得到的第二模型的模型性能,在对剪枝处理后所得到的第二模型进行自蒸馏处理之后,即能够得到模型参数量缩减,并且模型性能较好的第三模型。其中,第二标注信息为第二模型的真实标注信息,也即,上述第二标注信息为第二模型的硬标签信息。
如此,在对待压缩的第一模型进行压缩的过程中,首先基于第一模型的硬标签信息以及历史输出信息,结合自蒸馏原理,对第一模型进行参数剪枝,以得到模型参数量缩减的第二模型,进而再基于第二模型的硬标签信息以及历史输出信息,基于自蒸馏原理,对第二模型进行训练,以得到模型参数量缩减且模型性能较好的第三模型。这样,结合参数剪枝以及自蒸馏对第一模型进行压缩,在缩减了模型参数量,从而降低了模型计算成本以及存储成本的同时,保证了压缩后得到的第三模型具备较好性能,提升了模型压缩效果;并且,结合模型的硬标签信息以及历史输出信息,对待压缩模型进行剪枝和自蒸馏,缓解了被剪枝模型在完整数据集上自蒸馏的退化问题,以及解决了被剪枝模型难以快速从“硬标签”中学到知识的问题,减少了模型训练时长,提高了模型压缩的速度和效率。
在本申请实施例中,可选地,上述步骤104具体可包括下述的步骤104a至步骤104d:
步骤104a,根据第一迭代次数,对第一模型的模型参数进行迭代更新;
步骤104b,在每次迭代更新过程中,根据第一模型的第一标注信息以及历史输出信息,确定第三标注信息;
步骤104c,根据第一模型的当前输出信息以及第三标注信息,确定目标损失值;
步骤104d,根据目标损失值,对第一模型的模型参数进行更新;
其中,第三标注信息为第一模型的预测标注信息。
上述实施例中,基于第一模型的硬标签信息以及历史输出信息,基于自蒸馏原理,对第一模型进行参数剪枝。具体地,模型压缩装置根据设定的第一迭代次数,对第一模型的模型参数进行迭代更新,以对第一模型的模型参数进行剪枝,从而缩减第一模型的模型参数量,得到模型参数缩减后的第二模型。
其中,在对第一模型进行每次迭代更新的过程中,模型压缩装置从第一模型的样本数据集中随机采样进行运算。具体地,模型压缩装置根据第一模型的硬标签信息即第一标注信息,以及第一模型在上一次迭代更新中的历史输出信息,确定第一模型的第三标注信息。其中,该第三标注信息为第一模型的预测标注信息,也即,上述第三标注信息为第一模型的软标签信息。在此基础上,模型压缩装置再基于第一模型在本次迭代更新中的当前输出信息,以及上述确定的第一模型的软标签信息即第三标注信息,确定第一模型进行迭代更新的目标损失值,进而再基于该目标损失值,对第一模型的模型参数进行更新。
如此,在对第一模型进行参数剪枝的过程中,对第一模型的样本数据集进行随机采样,结合第一模型的硬标签信息以及迭代更新过程中的历史输出信息,得到第一模型的软标签信息,进而再由第一模型的当前输出信息以及软标签信息,确定第一模型的目标损失值,进而再基于该目标损失值,对第一模型的模型参数进行更新。这样,在对第一模型的模型参数进行剪枝的过程中,考虑到了第一模型数据间的相关性信息,从而缓解了由于随机采样小批量数据所导致的梯度偏差问题,保证了对第一模型进行剪枝的准确性,改善了被剪枝模型在完整数据集上的退化问题。
其中,在实际的应用过程中,对于第一模型的软标签信息即第三标注信息,具体可通过下述的公式(1)确定:
Soft_target=(1-α)ygt+αye-1,(1)
其中,Soft_target表示第一模型的软标签信息即第三标注信息,ygt表示第一模型的硬标签信息即第一标注信息,ye-1表示第一模型在上一次迭代更新中的历史输出信息,α为比例因子,其用于指示历史输出信息占第三标注信息的比例值。
进一步地,在实际的应用过程中,对于上述目标损失值,具体可通过下述的公式(2)确定:
Lsd(x)=Lcls((1-α)ygt+αye-1,ye),(2)
其中,Lsd(x)表示目标损失值,Lcls表示第一模型的交叉熵损失函数,(1-α)ygt+αye -1为第一模型的软标签信息即第三标注信息,ygt表示第一模型的硬标签信息即第一标注信息,ye-1表示第一模型在上一次迭代更新中的历史输出信息,ye表示第一模型在本次迭代更新中的当前输出信息,α为比例因子。
另外,对于上述第一迭代次数的具体数值,本领域技术人员可根据实际情况进行设置,在此不作具体限制。
在本申请实施例中,可选地,上述步骤104d具体可包括下述的步骤104d1至步骤104d3:
步骤104d1,根据目标损失值,对第一模型中每个模型参数的梯度值进行确定;
步骤104d2,根据每个模型参数的梯度值,对每个模型参数的显著性分数进行确定;
步骤104d3,根据显著性分数,对第一模型的模型参数进行更新。
上述实施例中,模型压缩装置基于确定的目标损失值,对第一模型中的每个模型参数的梯度值进行确定,进而再根据第一模型中的每个模型参数的梯度值,对每个模型参数的显著性分数进行确定。模型参数的显著性分数,用于指示对应的模型参数的重要性程度。在此基础上,模型压缩装置再根据第一模型中各个模型参数的显著性分数,对第一模型的模型参数进行剪枝,具体地,模型压缩装置对第一模型中重要程度较低的模型参数进行删减,以完成对第一模型的模型参数的更新。这样,在获取上述梯度值的过程中考虑到了第一模型数据间的相关性信息,从而缓解了由于随机采样小批量数据所导致的梯度偏差问题。基于此,在通过上述梯度值进一步获取第一模型中每个模型参数的显著性分数,并基于该显著性分数对第一模型的模型参数进行剪枝时,可以准确地找到可用于后续训练的模型参数,从而保证了对第一模型进行剪枝的准确性,改善了被剪枝模型在完整数据集上的退化问题。
在实际的应用过程中,对于上述梯度值,具体可通过下述的公式(3)确定:
,(3)
其中,ω l 表示第一模型的第l个模型参数,Δ(ω l ,Ti)表示模型参数ω l 的软梯度值,Lsd表示第一模型的目标损失值,i表示迭代更新的轮次,Wi表示第i次迭代更新的参数权重,Ti表示第i次迭代更新采样的随机数据,m l 表示剪枝掩码,为偏导符号。
进一步地,在实际的应用过程中,对于上述显著性分数,具体可通过下述的公式(4)确定:
Sωl =(|Δ(ω l ,Ti)|)/(∑q|Δ(ωq,Ti)|),(4)
其中,Sωl 表示模型参数ω l 的显著性分数,|Δ(ω l ,Ti)|表示模型参数ω l 的软梯度值的绝对值,|Δ(ωq,Ti)|表示模型参数ωq的软梯度值的绝对值,∑q|Δ(ωq,Ti)|表示第一模型中全部模型参数的软梯度值的绝对值之和,q表示第一模型中模型参数的次序。
在本申请实施例中,可选地,上述步骤104d3具体可包括下述的步骤104d31和步骤104d32:
步骤104d31,根据显著性分数,对第一模型的模型参数进行排序,得到目标顺序;
步骤104d32,按照目标顺序,根据目标压缩率,对第一模型的模型参数进行删减。
上述实施例中,在模型压缩装置根据第一模型中各个模型参数的显著性分数,对第一模型的模型参数进行剪枝,以对第一模型的模型参数进行更新。具体地,模型压缩装置根据第一模型中各个模型参数的显著性分数,按照显著性分数从高到低的顺序,或者按照显著性分数从低到高的顺序,对第一模型中的各个模型参数进行排序,得到第一模型中各个模型参数的目标顺序。可以理解的是,模型参数的显著性分数用于指示对应的模型参数的重要性程度,显著性分数越高,对应的模型参数的重要性程度就越高。在此基础上,模型压缩装置再根据确定的目标顺序,对第一模型中重要程度较低的模型参数进行删减。具体地,模型压缩装置根据确定的目标顺序以及设定的目标压缩率,删除第一模型中显著性分数较低的一部分模型参数,以完成对第一模型的模型参数的更新。这样,基于显著性分数对第一模型的模型参数进行剪枝,可以准确地找到可用于后续训练的模型参数,保证了对第一模型进行剪枝的准确性。
其中,在实际的应用过程中,对于上述目标压缩率的具体取值,本领域技术人员可根据实际情况进行设置,在此不作具体限制。
在本申请实施例中,可选地,上述步骤104d3具体可包括下述的步骤104d33:
步骤104d33,在目标分数大于显著性分数的情况下,删除显著性分数对应的模型参数。
上述实施例中,根据第一模型中各个模型参数的显著性分数,对第一模型的模型参数进行剪枝,以对第一模型的模型参数进行更新。具体地,模型压缩装置将第一模型中各个模型参数的显著性分数,与设定的目标分数进行比较。可以理解的是,模型参数的显著性分数用于指示对应的模型参数的重要性程度,显著性分数越高,对应的模型参数的重要性程度就越高。在此基础上,在设定的目标分数大于第一模型中某一个模型参数的显著性分数的情况下,说明该模型参数的显著性分数较低,也即说明该模型参数的重要性程度较低,此时,模型压缩装置会删除该模型参数。如此,模型压缩装置删除第一模型中显著性分数小于设定的目标分数的模型参数,以实现对第一模型的模型参数的更新。这样,基于显著性分数对第一模型的模型参数进行剪枝,可以准确地找到可用于后续训练的模型参数,保证了对第一模型进行剪枝的准确性。
在本申请实施例中,可选地,上述步骤106具体可包括下述的步骤106a至步骤106c:
步骤106a,根据第二迭代次数,对第二模型进行迭代训练;
步骤106b,在每次迭代训练过程中,根据第二模型的第二标注信息以及历史输出信息,确定第四标注信息;
步骤106c,根据第四标注信息,对第二模型进行训练;
其中,第四标注信息为第二模型的预测标注信息。
上述实施例中,基于第二模型的硬标签信息以及历史输出信息,基于自蒸馏原理,对第二模型进行训练。具体地,模型压缩装置根据设定的第二迭代次数,对第二模型进行迭代训练,以在不改变第二模型的模型参数量的情况下,提高剪枝处理后所得到的第二模型的模型性能,从得到模型参数量缩减,并且模型性能较好的第三模型。
其中,在对第二模型进行每次迭代训练的过程中,模型压缩装置根据第二模型的硬标签信息即上述第二标注信息,以及第二模型在上一轮次迭代训练中的历史输出信息,确定第二模型的第四标注信息。其中,该第四标注信息为第二模型的预测标注信息,也即,上述第四标注信息为第二模型的软标签信息。在此基础上,模型压缩装置再基于第二模型的软标签信息即第四标注信息,继续对第二模型进行迭代训练。
具体地,模型压缩装置再基于第二模型在本次迭代训练中的当前输出信息,以及上述确定的第二模型的软标签信息即第四标注信息,确定第二模型进行迭代训练的损失值,并基于该损失值继续对第二模型进行迭代训练。如此,在对第二模型进行自蒸馏训练的过程中,使得第二模型遍历完整训练集,进而结合第二模型的硬标签信息以及迭代训练过程中的历史输出信息,得到第二模型的软标签信息,进而再由第二模型的当前输出信息以及软标签信息,确定第二模型的损失值,并基于损失值继续对第二模型进行迭代训练。这样,能够让第二模型从“软标签”中快速学习到自身产生的历史输出信息,解决了第二模型难以快速从“硬标签”中学到知识的问题,在提高第二模型的性能的同时,减少了模型训练时长,提高了模型压缩的速度和效率。
其中,在实际的应用过程中,对于第二模型在训练过程中的损失值,具体可通过下述的公式(5)确定:
Lsd(z)=Lcls((1-α)ygt+αye-1,ye),(5)
其中,Lsd(z)表示第二模型在训练过程中的损失值,Lcls表示第二模型的交叉熵损失函数,(1-α)ygt+αye-1为第二模型的软标签信息即第四标注信息,ygt表示第二模型的硬标签信息即第二标注信息,ye-1表示第二模型在上一次迭代训练中的历史输出信息,ye表示第二模型在本次迭代训练中的当前输出信息,α为比例因子。
另外,对于上述第二迭代次数的具体数值,本领域技术人员可根据实际情况进行设置,在此不作具体限制。
在本申请实施例中,可选地,上述根据第二模型的第二标注信息以及历史输出信息,确定第四标注信息的步骤,具体可包括下述的步骤108和步骤110:
步骤108,在每次迭代训练过程中,通过第二模型遍历样本数据集,以得到对应每个样本数据的模型输出信息;
步骤110,根据与每个样本数据对应的第二标注信息以及上一次迭代训练的模型输出信息,得到与每个样本数据对应的第四标注信息。
上述实施例中,根据第二模型的历史输出信息和第二标注信息,确定第四标注信息。具体地,在每次迭代训练过程中,通过第二模型遍历完整的样本数据集,并记录每次迭代训练过程中,对应每个样本数据的模型输出信息。在此基础上,在对第二模型的模型参数进行迭代训练时,在每次迭代训练过程中,对每个样本数据对应的硬标签信息即第二标注信息,以及每个样本数据在上一次迭代训练过程中对应的模型输出信息即历史输出信息进行融合,得到当前轮次迭代训练过程中与每个样本数据对应的软标签信息即第四标注信息。这样,在对第二模型的模型参数进行训练的过程中,能够让第二模型从“软标签”中快速学习到自身产生的历史输出信息,解决了第二模型难以快速从“硬标签”中学到知识的问题,在提高第二模型的性能的同时,减少了模型训练时长,提高了模型压缩的速度和效率。
在本申请实施例中,可选地,第四标注信息通过下述公式确定:Soft_target=(1-α)ygt+αye-1,其中,Soft_target表示与每个样本数据对应的第四标注信息,ygt表示与每个样本数据对应的第二标注信息,ye-1表示上一次迭代训练过程中与每个样本数据对应的模型输出信息,α为比例因子,α用于指示模型输出信息占第四标注信息的比例值。
上述实施例中,在每次迭代训练过程中,与每个样本数据对应的软标签信息即第四标注信息,具体可通过下述公式(6)确定:
Soft_target=(1-α)ygt+αye-1,(6)
其中,Soft_target表示与每个样本数据对应的第四标注信息,ygt表示与每个样本数据对应的第二标注信息,ye-1表示上一次迭代训练过程中与每个样本数据对应的模型输出信息,α为比例因子,α用于指示模型输出信息占第四标注信息的比例值。这样,在对第二模型的模型参数进行训练的过程中,能够让第二模型从“软标签”中快速学习到自身产生的历史输出信息,在提高第二模型的性能的同时,减少了模型训练时长,提高了模型压缩的速度和效率。
在本申请实施例中,可选地,在每次迭代训练过程中,第二模型的历史输出信息占第四标注信息的目标比例值,与迭代次数成正比。
上述实施例中,在对第二模型进行每次迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在本次迭代训练的第四标注信息中所占的目标比例值,与本次迭代训练的迭代轮次即迭代次数成正比。这样,随着迭代轮次的增加,第二模型在上一轮次迭代训练中的历史输出信息,在当前轮次迭代训练的第四标注信息中所占的目标比例值逐渐增加,也即,在对第二模型进行迭代训练的过程中,第二模型的历史输出信息占软标签信息的目标比例值逐渐增加,这缓解了第二模型在训练过程中可能产生的过拟合问题,保证了对第二模型进行训练的准确性,从而保证了第二模型的模型性能。
在本申请实施例中,可选地,在每次迭代训练过程中,预设比例值和目标比例值的比值,与第二迭代次数和当前迭代次数的比值相同。
上述实施例中,在对第二模型进行每次迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在本次迭代训练的第四标注信息中所占的目标比例值,与设定的预设比例值之间的比值,以及第二模型当前迭代训练的迭代轮次即当前迭代次数,与设定的迭代训练的总次数即上述第二迭代次数之间的比值,两个比值的数值相同。可以理解的是,设定的预设比例值以及设定的迭代训练的总次数即上述第二迭代次数为固定值。这样,在对第二模型进行迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在当前轮次迭代训练的第四标注信息中所占的目标比例值,能够随着迭代次数的增加而增加,这缓解了第二模型在训练过程中可能产生的过拟合问题,保证了对第二模型进行训练的准确性,从而保证了第二模型的模型性能。
其中,对于上述预设比例值以及第二迭代次数的具体数值,本领域技术人员可根据实际情况进行设置,在此不作具体限制。
在本申请实施例中,可选地,目标比例值与迭代次数的关系为:αt=αT×(t/T);其中,αt表示当前轮次的迭代训练中,第二模型的历史输出信息占第四标注信息的目标比例值,αT表示预设比例值,T表示第二迭代次数, t表示当前迭代次数。
上述实施例中,在对第二模型进行每次迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在本次迭代训练的第四标注信息中所占的目标比例值,具体可通过下述公式(7)确定:
αt=αT×(t/T),(7)
其中,αt表示在当前轮次的迭代训练中,第二模型在上一轮次迭代训练中的历史输出信息,占本次迭代训练的第四标注信息的目标比例值,t表示当前迭代次数,T表示设定的迭代训练的总次数即上述第二迭代次数,αT表示预设比例值,t/T表示t与T的比值。
这样,在对第二模型进行迭代训练的过程中,第二模型在上一轮次迭代训练中的历史输出信息,在当前轮次迭代训练的第四标注信息中所占的目标比例值,以动态线性增加的方式逐渐增加,这缓解了第二模型在训练过程中可能产生的过拟合问题,保证了对第二模型进行训练的准确性,从而保证了第二模型的模型性能。
在本申请实施例中,可选地,自蒸馏处理以及剪枝处理为一次压缩处理,在上述步骤102之后,模型压缩方法具体可包括下述的步骤112或者步骤114:
步骤112,根据目标压缩率,对第一模型执行一次压缩处理;
步骤114,根据预设剪枝率,对第一模型循环执行目标次数的压缩处理。
上述实施例中,上述自蒸馏处理以及剪枝处理可作为一次压缩处理流程,在对待压缩模型进行压缩的过程中,在获取待压缩的第一模型之后,具体可根据设置的目标压缩率,对第一模型进行单次压缩,即根据目标压缩率对第一模型执行一次压缩处理。也即,在对第一模型依次执行一次剪枝处理和一次自蒸馏处理之后,完成对第一模型的压缩操作。
上述实施例中,在对待压缩模型进行压缩的过程中,在获取待压缩的第一模型之后,具体还可根据预设剪枝率,对第一模型进行迭代压缩,即根据预设剪枝率对第一模型循环执行目标次数的压缩处理。也即,按照“剪枝处理-自蒸馏处理-剪枝处理-自蒸馏处理”的处理顺序,循环处理第一模型,直至第一模型的剪枝率达到设定的预设剪枝率,完成对第一模型的压缩操作。
其中,对于上述目标压缩率以及预设剪枝率的具体数值,本领域技术人员可根据实际情况进行设置,在此不作具体限制。
具体地,如图2和图3所示,在本申请所提出的模型压缩方法中,具体可包括基于自蒸馏剪枝以及基于自蒸馏训练这两个处理流程。
其中,基于自蒸馏剪枝的处理流程即为上述剪枝处理。具体地,如图2和图3所示,在基于自蒸馏剪枝的处理流程中,对待压缩的初始模型的样本数据集T进行随机采样,并在对模型参数进行初始化之后,基于待压缩模型的自我知识,按照自蒸馏原则,对待压缩模型的模型参数进行迭代更新,进而通过反向计算获取到掩码以及评估模型参数重要性的梯度值,并基于梯度值进一步获取待压缩模型中每个模型参数的显著性分数。在此基础上,再根据待压缩模型中每个模型参数的显著性分数,应用生成的掩码,对待压缩模型的模型参数进行剪枝,以得到剪枝后的模型参数。其中,在本申请中,图3中的“”表示初始化模型参数θ1与掩码m进行点乘运算。
进一步地,基于自蒸馏训练的处理流程即为上述自蒸馏处理。具体地,如图2和图3所示,在基于自蒸馏训练的处理流程中,获取待压缩模型剪枝后的模型参数,并对获取到的模型参数进行初始化。进一步地,使得待压缩模型遍历完整的样本数据集T,并对待压缩模型进行迭代训练。其中,在对待压缩模型进行迭代训练的过程后,会保存待压缩模型在每次迭代训练中的输出信息,并将待压缩模型在上一次迭代训练过程中的历史输出信息,应用于待压缩模型在当前轮次的迭代训练过程中。
具体地,如图2所示,在对待压缩模型进行每次迭代训练的过程中,根据待压缩模型的硬标签信息以及待压缩模型在上一轮次迭代训练中的历史输出信息,确定待压缩模型的软标签信息,进而再基于待压缩模型在本次迭代训练中的当前输出信息以及待压缩模型的软标签信息,确定待压缩模型进行迭代训练的损失值,并基于该损失值继续对第二模型进行迭代训练。
在此基础上,在通过本申请所提出的模型压缩方法对待压缩模型进行压缩的过程中,一次基于自蒸馏剪枝的处理流程以及一次基于自蒸馏训练的处理流程,可作为一次压缩处理流程。基于此,在对待压缩模型进行压缩时,可根据设定的目标压缩率,对待压缩模型执行单次压缩处理流程,也即对待压缩模型先后执行一次剪枝处理以及自蒸馏处理之后,即可完成对待压缩模型的压缩操作。
或者,如图2和图3所示,根据预设剪枝率,对训练后的模型参数重新进行初始化操作,进而循环对待压缩模型执行上述压缩处理流程。也即,按照“剪枝处理-自蒸馏处理-剪枝处理-自蒸馏处理”的循环流程,对剪枝后的模型参数进行训练,对训练后的模型参数进行剪枝,进而再对剪枝后的模型参数进行训练,如此循环往复,直至待压缩模型的剪枝率达到设定的预设剪枝率,完成对待压缩模型的压缩操作。
在本申请的一个实施例中,还提出了一种数据处理方法,如图4所示,数据处理方法具体可包括下述的步骤202至步骤208:
步骤202,获取数据处理模型;
步骤204,根据模型压缩方法,对数据处理模型进行压缩处理;
步骤206,将待处理的目标数据输入压缩处理后的数据处理模型;
步骤208,通过压缩处理后的数据处理模型处理目标数据,得到处理后的目标数据。
本申请提供的数据处理方法,在处理数据的过程中,获取用于处理数据的数据处理模型,并根据上述第一个方面任一实施例中的模型压缩方法,对该数据处理模型进行压缩处理,以减少数据处理模型的模型参数量,得到压缩处理后的数据处理模型。在此基础上,将待处理的目标数据输入压缩处理后的数据处理模型中,并通过压缩处理后的数据处理模型,对输入的目标数据进行处理,从而得到处理后的目标数据。本申请提供的数据处理方法,包括上述第一个方面任一实施例中的模型压缩方法,因此,本申请第二个方面所提出的数据处理方法具备上述第一个方面任一实施例中的模型压缩方法的全部有益效果,在此不再赘述。
在本申请实施例中,可选地,数据处理模型包括以下至少一项:图像处理模型、语音降噪模型、语音识别模型以及深度学习模型。
上述实施例中,上述数据处理模型具体可包括图像处理模型、语音降噪模型、语音识别模型以及深度学习模型。具体地,在通过本申请提出的数据处理方法,对图像数据、语音数据等待处理数据进行处理的过程中,均可先基于上述任一实施例中的模型压缩方法,对相应的图像处理模型、语音降噪模型、语音识别模型以及深度学习模型等数据处理模型进行压缩,进而再通过压缩后的数据处理模型处理图像数据、语音数据等待处理数据。如此,在保证数据处理结果准确性的同时,还能够提高模型推理速度,从而提高数据处理效率。
在一些实施例中,本申请还提供一种语音数据的处理方法,包括:获取语音数据和网络模型;通过网络模型,对语音数据进行处理,以得到语音数据的处理结果。其中,语音数据的处理结果可以是语音识别结果、语音唤醒结果、语音降噪结果等,网络模型可以是通过上述任意一个实施例中提供的模型压缩方法进行模型压缩后得到的网络模型。
在一些实施例中,本申请还提供一种图像处理方法,包括:获取图像数据和网络模型;通过网络模型,对图像数据进行处理,以得到图像数据的处理结果。其中,图像数据的处理结果可以是图像分类结果、图像增强结果等,网络模型可以是通过上述任意一个实施例中提供的模型压缩方法进行模型压缩后得到的网络模型。
在一些实施例中,本申请还提供一种分类任务处理方法,包括:获取待处理的分类数据和网络模型;通过网络模型,对待处理的分类数据进行处理,以得到分类结果,其中,该网络模型可以是通过上述任意一个实施例中提供的模型压缩方法进行模型压缩后得到的网络模型。
在本申请的一个实施例中,还提出了一种模型压缩装置。如图5所示,图5示出了本申请实施例的模型压缩装置300的结构框图。其中,该模型压缩装置300具体可包括下述的获取单元302以及处理单元304:
获取单元302,用于获取第一模型;
处理单元304,用于根据第一模型的第一标注信息以及历史输出信息,对第一模型进行剪枝处理,得到第二模型;
处理单元304,还用于根据第二模型的第二标注信息以及历史输出信息,对第二模型进行自蒸馏处理,得到第三模型;
其中,第一标注信息为第一模型的真实标注信息,第二标注信息为第二模型的真实标注信息。
本申请实施例提供的模型压缩装置300,用于缩减网络模型的模型参数量,以对网络模型进行压缩。通过本申请所提供的模型压缩装置对网络模型进行压缩时,能够较好地兼顾缩减参数量以及保证模型性能这两个目的。也就是说,通过本申请所提供的模型压缩装置,能够在保证网络模型具备较好性能的前提下,缩减网络模型的模型参数量,实现对网络模型的压缩。
具体地,本申请所提供的模型压缩装置300包括获取单元302以及处理单元304,在进行模型压缩的过程中,获取单元302首先获取待压缩的第一模型,处理单元304进而基于待压缩的第一模型的第一标注信息以及历史输出信息,对第一模型执行剪枝处理,以对第一模型的模型参数进行剪枝,从而缩减第一模型的模型参数量,得到模型参数缩减后的第二模型。其中,上述第一标注信息为第一模型的真实标注信息,也即,上述第一标注信息为第一模型的硬标签信息。在此基础上,处理单元304再基于剪枝处理后所得到的第二模型的第二标注信息以及历史输出信息,继续对得到的第二模型进行自蒸馏处理,以对第二模型进行训练。上述自蒸馏训练过程并不会改变第二模型的模型参数量,但可提高剪枝处理后所得到的第二模型的模型性能,在对剪枝处理后所得到的第二模型进行自蒸馏处理之后,即能够得到模型参数量缩减,并且模型性能较好的第三模型。其中,第二标注信息为第二模型的真实标注信息,也即,上述第二标注信息为第二模型的硬标签信息。
如此,在对待压缩的第一模型进行压缩的过程中,首先基于第一模型的硬标签信息以及历史输出信息,结合自蒸馏原理,对第一模型进行参数剪枝,以得到模型参数量缩减的第二模型,进而再基于第二模型的硬标签信息以及历史输出信息,基于自蒸馏原理,对第二模型进行训练,以得到模型参数量缩减且模型性能较好的第三模型。这样,结合参数剪枝以及自蒸馏对第一模型进行压缩,在缩减了模型参数量,从而降低了模型计算成本以及存储成本的同时,保证了压缩后得到的第三模型具备较好性能,提升了模型压缩效果;并且,结合模型的硬标签信息以及历史输出信息,对待压缩模型进行剪枝和自蒸馏,缓解了被剪枝模型在完整数据集上自蒸馏的退化问题,以及解决了被剪枝模型难以快速从“硬标签”中学到知识的问题,减少了模型训练时长,提高了模型压缩的速度和效率。
在本申请实施例中,可选地,处理单元304具体用于:根据第一迭代次数,对第一模型的模型参数进行迭代更新;在每次迭代更新过程中,根据第一模型的第一标注信息以及历史输出信息,确定第三标注信息;根据第一模型的当前输出信息以及第三标注信息,确定目标损失值;基于目标损失值,更新第一模型的模型参数;其中,第三标注信息为第一模型的预测标注信息。
在本申请实施例中,可选地,处理单元304具体用于:根据目标损失值,对第一模型中每个模型参数的梯度值进行确定;根据每个模型参数的梯度值,对每个模型参数的显著性分数进行确定;根据显著性分数,对第一模型的模型参数进行更新。
在本申请实施例中,可选地,处理单元304具体用于:根据显著性分数,对第一模型的模型参数进行排序,得到目标顺序;按照目标顺序,根据目标压缩率,对第一模型的模型参数进行删减。
在本申请实施例中,可选地,处理单元304具体用于:在目标分数大于显著性分数的情况下,删除显著性分数对应的模型参数。
在本申请实施例中,可选地,处理单元304具体用于:根据第二迭代次数,对第二模型进行迭代训练;在每次迭代训练过程中,根据第二模型的第二标注信息以及历史输出信息,确定第四标注信息;根据第四标注信息,对第二模型进行训练;其中,第四标注信息为第二模型的预测标注信息。
在本申请实施例中,可选地,处理单元304具体用于:在每次迭代训练过程中,通过第二模型遍历样本数据集,以得到对应每个样本数据的模型输出信息;根据与每个样本数据对应的第二标注信息以及上一次迭代训练的模型输出信息,得到与每个样本数据对应的第四标注信息。
在本申请实施例中,可选地,第四标注信息通过下述公式确定:Soft_target=(1-α)ygt+αye-1,其中,Soft_target表示与每个样本数据对应的第四标注信息,ygt表示与每个样本数据对应的第二标注信息,ye-1表示上一次迭代训练过程中与每个样本数据对应的模型输出信息,α为比例因子,α用于指示模型输出信息占第四标注信息的比例值。
在本申请实施例中,可选地,在每次迭代训练过程中,第二模型的历史输出信息占第四标注信息的目标比例值,与迭代次数成正比。
在本申请实施例中,可选地,在每次迭代训练过程中,预设比例值和目标比例值的比值,与第二迭代次数和当前迭代次数的比值相同。
在本申请实施例中,可选地,目标比例值与迭代次数的关系为:αt=αT×(t/T);其中,αt表示当前轮次的迭代训练中,第二模型的历史输出信息占第四标注信息的目标比例值,αT表示预设比例值,T表示第二迭代次数,t表示当前迭代次数。
在本申请实施例中,可选地,自蒸馏处理以及剪枝处理为一次压缩处理,在获取第一模型之后,处理单元304具体用于:根据目标压缩率,对第一模型执行一次压缩处理;或者根据预设剪枝率,对第一模型循环执行目标次数的压缩处理。
在本申请的一个实施例中,还提出了另一种模型压缩装置。如图6所示,图6示出了本申请实施例提供的模型压缩装置400的结构框图。其中,该模型压缩装置400包括:
存储器402,存储器402上存储有程序或指令;
处理器404,处理器404执行上述程序或指令时实现如上述任一实施例中的模型压缩方法的步骤。
本实施例提供的模型压缩装置400包括存储器402和处理器404,存储器402中的程序或指令被处理器404执行时实现如上述任一实施例中的模型压缩方法的步骤,因此该模型压缩装置400具备上述任一实施例中的模型压缩方法的全部有益效果,在此不再赘述。
本申请针对已有的模型压缩算法训练时间长、周期慢的问题,提出了高效的模型压缩方案。具体地,本申请针对剪枝时使用的梯度标准难以有效评估出适用于完整数据集的模型参数,从而导致剪枝后的模型在完整数据集上的性能退化问题,以及被剪枝模型难以快速从“硬标签”中学到知识的问题,本申请提出一种基于训练前剪枝和自蒸馏的高效模型压缩方案,能够用于多种应用场景中。
本申请提供的技术方案中,在模型剪枝时,模型参数会在少量更新后由更新过程中产生的历史输出信息和硬标签信息结合得到软标签信息,再由模型的当前输出信息与软标签信息计算目标损失值后,获取到评估模型参数重要性的软梯度值。该软梯度值相较于现有技术中的梯度,囊括了样本数据间的相关性信息,从而缓解了由于随机采样小批量数据所导致的梯度偏差问题,继而改善了被剪枝模型在完整数据集上的退化问题。并且,本申请提供的技术方案中,在已剪枝模型的训练过程中,通过记录模型在前一训练阶段的输出信息来软化模型在当前训练阶段的真实标签即硬标签信息,让已剪枝模型从“软标签”中快速学习到自身产生的历史信息,从而提高已剪枝模型的性能。
在一些实施例中,本申请提供的技术方案针对实际生产过程中的模型压缩问题,主要包括两部分内容。第一部分是基于软梯度的模型剪枝技术,第二部分是基于自蒸馏的已剪枝模型的训练技术。本技术方案的完整过程可参见图2,包括了对应的剪枝技术以及自蒸馏训练技术。首先,为了获取评估参数重要性的软梯度,在剪枝时模型参数会进行少量迭代更新。更新过程中,每次迭代都会将输入数据对应的模型输出结果保存,并在下一次迭代时用于构建软标签,每次迭代时,利用软标签与模型当前输出信息计算损失值,计算得到的损失值会被用来进一步计算得到软梯度。这样,获取软梯度的过程考虑到了样本数据间的相关性信息,从而缓解了由于随机采样小批量数据导致的梯度偏差问题。因此,在将获取到的软梯度用于进一步计算评估模型参数重要性的显著性分数后,可以更加准确地找到可训练的参数,改善了已剪枝模型在完整数据集上的退化问题。
进一步地,针对已剪枝模型的训练阶段,会保存模型在每次迭代过程中的输出信息,并将其用于模型的下一次迭代训练中。具体来说,模型在遍历完整的训练数据集时,对应于每一个数据的模型输出都会被保存在计算机内存中,并在模型下一次遍历整个训练数据集时进行读取,并与对应数据的硬标签进行融合,从而得到用于当前训练阶段的软标签。在实际的训练过程中,为了缓解模型可能产生的过拟合问题,对于模型输出的历史信息在软标签中所占的比重,采用动态线性增加的方式逐渐增加历史信息所占比重。
在实际应用中,本技术方案中的剪枝和自蒸馏训练可以按照两种方式执行:其一为单次压缩,在给定压缩率后,剪枝和自蒸馏训练各先后执行一次即可完成模型的压缩过程;其二为迭代压缩,即迭代执行“剪枝-自蒸馏训练-剪枝”的循环过程,直到达到预设的剪枝率为止。
可以理解的是,模型剪枝和知识蒸馏往往依赖大量的训练成本。本申请提供的技术方案将训练前剪枝与自蒸馏两种技术以一种新颖的方式进行结合,以进行更加高效的模型压缩。针对剪枝时使用的梯度标准难以有效评估出适用于完整数据集的模型参数而导致的模型性能退化问题,本申请提出的技术方案由模型的历史输出信息和硬标签信息融合产生软标签信息,继而生成软梯度来筛选出模型中的可训练参数,缓解了被剪枝模型在完整数据集上的退化问题。针对已剪枝模型难以快速从“硬标签”中学到知识的问题,本申请提出的技术方案在减少模型中的冗余参数的基础上,采用自蒸馏技术从模型输出的历史信息中学习,从而提升已剪枝模型的性能。
本申请为了解决由于剪枝导致的模型性能退化问题,以及知识蒸馏无法灵活应用于实际的模型压缩问题,提出了一种能够有效结合训练前剪枝和自蒸馏的模型压缩方案。通过使用本申请提供的技术方案,既能保证已剪枝模型的性能可以进一步提升,也使得知识蒸馏技术灵活地应用于模型压缩的过程中。
本申请提供的技术方案可以应用于linux/rtos/android/ios等不同边端系统,面向armv7/v8及dsp等不同边端平台提供指令级加速。本申请的技术方案展现出轻量级部署、通用性强、易用性强、高性能推理等特点,全面解决智能设备低资源瓶颈的问题,大幅缩短了AI模型部署周期,在边端AI部署领域达到业界领先水平。并且,本申请提供的技术方案可以应用于自研芯片中,例如可以应用于业界首款支持语音、连接、显示三合一芯片FL119中。相关成果已全面赋能语音冰箱、空调、机器人等智能家电量产落地,提升了智能家电工作的智能性以及增加了智能家电的工作效率。
具体地,存储器402和处理器404可以通过总线或者其它方式连接。处理器404可包括一个或多个处理单元,处理器404可以为中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable GateArray,FPGA)等芯片。
在本申请的一个实施例中,还提出了一种电子设备。如图7所示,图7示出了本申请实施例提供的电子设备500的结构框图。其中,电子设备500包括上述实施例中的模型压缩装置400。因此,该电子设备500具备上述实施例中的模型压缩装置400的全部技术效果,在此不再赘述。
在本申请的一个实施例中,还提出了一种数据处理装置。如图8所示,图8示出了本申请实施例的数据处理装置600的结构框图。其中,该数据处理装置600具体可包括下述的获取单元602以及处理单元604:
获取单元602,用于获取数据处理模型;
处理单元604,用于根据上述第一个方面任一实施例中的模型压缩方法,对数据处理模型进行压缩处理;
处理单元604,还用于将待处理的目标数据输入压缩处理后的数据处理模型;
处理单元604,还用于通过压缩处理后的数据处理模型处理目标数据,得到处理后的目标数据。
本申请提供的数据处理装置600,在处理数据的过程中,通过获取单元602获取用于处理数据的数据处理模型,并通过处理单元604根据上述第一个方面任一实施例中的模型压缩方法,对该数据处理模型进行压缩处理,以减少数据处理模型的模型参数量,得到压缩处理后的数据处理模型。在此基础上,处理单元604将待处理的目标数据输入压缩处理后的数据处理模型中,并通过压缩处理后的数据处理模型,对输入的目标数据进行处理,从而得到处理后的目标数据。本申请提供的数据处理装置600,能够实现上述第一个方面任一实施例中的模型压缩方法,因此,本申请第四个方面所提出的数据处理装置600具备上述第一个方面任一实施例中的模型压缩方法的全部有益效果,在此不再赘述。
在本申请实施例中,可选地,数据处理模型包括以下至少一项:图像处理模型、语音降噪模型、语音识别模型以及深度学习模型。
在本申请的一个实施例中,还提出了一种可读存储介质。其上存储有程序或指令,程序或指令被处理器执行时实现如上述任一实施例中的模型压缩方法的步骤,或者,程序或指令被处理器执行时实现如上述任一实施例中的数据处理方法的步骤。
本申请实施例提供的可读存储介质,其存储的程序或指令被处理器执行时,可实现如上述任一实施例中的模型压缩方法或者数据处理方法的步骤。因此,该可读存储介质具备上述任一实施例中的模型压缩方法或者数据处理方法的全部有益效果,在此不再赘述。
具体地,上述可读存储介质可以包括能够存储或传输信息的任何介质。可读存储介质的例子包括电子电路、半导体存储器设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、光盘只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)、闪存、可擦除ROM(EROM)、磁带、软盘、光盘、硬盘、光纤介质、射频(RF)链路、光数据存储设备等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
在本申请的一个实施例中,还提出了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现如上述任一实施例中的模型压缩方法或者数据处理方法。因此,本申请所提出的计算机程序产品具备上述第一个方面任一实施例中的模型压缩方法的全部有益效果,或者,本申请所提出的计算机程序产品具备上述第二个方面任一实施例中的数据处理方法的全部有益效果,在此不再赘述。
在本申请的一个实施例中,还提出了一种芯片,芯片包括程序或指令,当芯片运行时,用于实现如上述任一实施例中的模型压缩方法的步骤,或者,当芯片运行时,用于实现如上述任一实施例中的数据处理方法的步骤。因此,本申请所提出的芯片具备上述第一个方面任一实施例中的模型压缩方法的全部有益效果,或者,本申请所提出的芯片具备上述第二个方面任一实施例中的数据处理方法的全部有益效果,在此不再赘述。
在本说明书的描述中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性,除非另有明确的规定和限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种模型压缩方法,其特征在于,包括:
获取第一模型;
根据所述第一模型的历史输出信息和第一标注信息,对所述第一模型进行剪枝处理,得到第二模型,所述第一标注信息为所述第一模型的真实标注信息;
根据所述第二模型的历史输出信息和第二标注信息,对所述第二模型进行自蒸馏处理,得到第三模型,所述第二标注信息为所述第二模型的真实标注信息。
2.根据权利要求1所述的模型压缩方法,其特征在于,所述根据所述第一模型的历史输出信息和第一标注信息,对所述第一模型进行剪枝处理,包括:
按照第一迭代次数,迭代更新所述第一模型的模型参数;
在每次迭代更新过程中,根据所述第一模型的历史输出信息和所述第一标注信息,确定第三标注信息,所述第三标注信息为所述第一模型的预测标注信息;
根据所述第三标注信息和所述第一模型的当前输出信息,确定目标损失值;
基于所述目标损失值,更新所述第一模型的模型参数。
3.根据权利要求2所述的模型压缩方法,其特征在于,所述基于所述目标损失值,更新所述第一模型的模型参数,包括:
根据所述目标损失值,确定所述第一模型中每个模型参数的梯度值;
根据每个模型参数的梯度值,确定每个模型参数的显著性分数;
根据所述显著性分数,更新所述第一模型的模型参数。
4.根据权利要求3所述的模型压缩方法,其特征在于,所述根据所述显著性分数,更新所述第一模型的模型参数,包括:
根据所述显著性分数,对所述第一模型的模型参数进行排序,得到目标顺序;
按照所述目标顺序,根据目标压缩率删减所述第一模型的模型参数。
5.根据权利要求3所述的模型压缩方法,其特征在于,所述根据所述显著性分数,更新所述第一模型的模型参数,包括:
在所述显著性分数小于目标分数的情况下,删除所述显著性分数对应的模型参数。
6.根据权利要求1所述的模型压缩方法,其特征在于,所述根据所述第二模型的历史输出信息和第二标注信息,对所述第二模型进行自蒸馏处理,包括:
按照第二迭代次数,迭代训练所述第二模型;
在每次迭代训练过程中,根据所述第二模型的历史输出信息和所述第二标注信息,确定第四标注信息,所述第四标注信息为所述第二模型的预测标注信息;
根据所述第四标注信息训练所述第二模型。
7.根据权利要求6所述的模型压缩方法,其特征在于,所述根据所述第二模型的历史输出信息和所述第二标注信息,确定第四标注信息,包括:
在每次迭代训练过程中,通过所述第二模型遍历样本数据集,以得到对应每个样本数据的模型输出信息;
根据与每个样本数据对应的第二标注信息以及上一次迭代训练的模型输出信息,得到与每个样本数据对应的所述第四标注信息。
8.根据权利要求7所述的模型压缩方法,其特征在于,所述第四标注信息通过下述公式确定:
Soft_target=(1-α)ygt+αye-1,
其中,Soft_target表示与每个样本数据对应的所述第四标注信息,ygt表示与每个样本数据对应的所述第二标注信息,ye-1表示上一次迭代训练过程中与每个样本数据对应的模型输出信息,α为比例因子,α用于指示模型输出信息占第四标注信息的比例值。
9.根据权利要求6所述的模型压缩方法,其特征在于,在每次迭代训练过程中,所述第二模型的历史输出信息占所述第四标注信息的目标比例值,与迭代次数成正比。
10.根据权利要求9所述的模型压缩方法,其特征在于,在每次迭代训练过程中,所述目标比例值和预设比例值的比值,与当前迭代次数和所述第二迭代次数的比值相同。
11.根据权利要求10所述的模型压缩方法,其特征在于,所述目标比例值与迭代次数的关系为:
αt=αT×(t/T);
其中,t表示当前迭代次数,T表示第二迭代次数,αT表示预设比例值,αt表示当前轮次的迭代训练中,所述第二模型的历史输出信息占所述第四标注信息的目标比例值。
12.根据权利要求1至11中任一项所述的模型压缩方法,其特征在于,所述剪枝处理和所述自蒸馏处理为一次压缩处理,在获取第一模型之后,所述模型压缩方法包括:
根据目标压缩率,对所述第一模型执行一次压缩处理;或者
根据预设剪枝率,对所述第一模型循环执行目标次数的所述压缩处理。
13.一种数据处理方法,其特征在于,包括:
获取数据处理模型;
根据如权利要求1至12中任一项所述的模型压缩方法,对所述数据处理模型进行压缩处理;
将待处理的目标数据输入压缩处理后的所述数据处理模型;
通过压缩处理后的所述数据处理模型处理所述目标数据,得到处理后的目标数据。
14.根据权利要求13所述的数据处理方法,其特征在于,所述数据处理模型包括以下至少一项:图像处理模型、语音降噪模型、语音识别模型以及深度学习模型。
15.一种模型压缩装置,其特征在于,包括:
获取单元,用于获取第一模型;
处理单元,用于根据所述第一模型的历史输出信息和第一标注信息,对所述第一模型进行剪枝处理,得到第二模型,所述第一标注信息为所述第一模型的真实标注信息;
所述处理单元,还用于根据所述第二模型的历史输出信息和第二标注信息,对所述第二模型进行自蒸馏处理,得到第三模型,所述第二标注信息为所述第二模型的真实标注信息。
16.一种数据处理装置,其特征在于,包括:
获取单元,用于获取数据处理模型;
处理单元,用于根据如权利要求1至12中任一项所述的模型压缩方法,对所述数据处理模型进行压缩处理;
所述处理单元,还用于将待处理的目标数据输入压缩处理后的所述数据处理模型;
所述处理单元,还用于通过压缩处理后的所述数据处理模型处理所述目标数据,得到处理后的目标数据。
17.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如权利要求1至12中任一项所述的模型压缩方法的步骤,或者,所述程序或指令被处理器执行时实现如权利要求13或14所述的数据处理方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的模型压缩方法的步骤,或者,所述计算机程序被处理器执行时实现如权利要求13或14所述的数据处理方法的步骤。
19.一种芯片,其特征在于,所述芯片包括程序或指令,当所述芯片运行时,用于实现如权利要求1至12中任一项所述的模型压缩方法的步骤,或者,当所述芯片运行时,用于实现如权利要求13或14所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310927731.XA CN116644781B (zh) | 2023-07-27 | 2023-07-27 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310927731.XA CN116644781B (zh) | 2023-07-27 | 2023-07-27 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116644781A true CN116644781A (zh) | 2023-08-25 |
CN116644781B CN116644781B (zh) | 2023-09-29 |
Family
ID=87643805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310927731.XA Active CN116644781B (zh) | 2023-07-27 | 2023-07-27 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644781B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488986A (zh) * | 2020-04-13 | 2020-08-04 | 商汤集团有限公司 | 一种模型压缩方法、图像处理方法以及装置 |
CN111783948A (zh) * | 2020-06-24 | 2020-10-16 | 北京百度网讯科技有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
CN113011581A (zh) * | 2021-02-23 | 2021-06-22 | 北京三快在线科技有限公司 | 神经网络模型压缩方法、装置、电子设备及可读存储介质 |
CN114817473A (zh) * | 2022-05-09 | 2022-07-29 | 北京百度网讯科技有限公司 | 用于压缩语义理解模型的方法、装置、设备、介质和产品 |
CN114881227A (zh) * | 2022-05-13 | 2022-08-09 | 北京百度网讯科技有限公司 | 模型压缩方法、图像处理方法、装置和电子设备 |
CN115511071A (zh) * | 2021-06-23 | 2022-12-23 | 北京字跳网络技术有限公司 | 模型训练方法、装置及可读存储介质 |
CN116452861A (zh) * | 2023-03-29 | 2023-07-18 | 北京百度网讯科技有限公司 | 目标模型训练方法、装置及电子设备 |
-
2023
- 2023-07-27 CN CN202310927731.XA patent/CN116644781B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488986A (zh) * | 2020-04-13 | 2020-08-04 | 商汤集团有限公司 | 一种模型压缩方法、图像处理方法以及装置 |
CN111783948A (zh) * | 2020-06-24 | 2020-10-16 | 北京百度网讯科技有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
CN113011581A (zh) * | 2021-02-23 | 2021-06-22 | 北京三快在线科技有限公司 | 神经网络模型压缩方法、装置、电子设备及可读存储介质 |
CN115511071A (zh) * | 2021-06-23 | 2022-12-23 | 北京字跳网络技术有限公司 | 模型训练方法、装置及可读存储介质 |
CN114817473A (zh) * | 2022-05-09 | 2022-07-29 | 北京百度网讯科技有限公司 | 用于压缩语义理解模型的方法、装置、设备、介质和产品 |
CN114881227A (zh) * | 2022-05-13 | 2022-08-09 | 北京百度网讯科技有限公司 | 模型压缩方法、图像处理方法、装置和电子设备 |
CN116452861A (zh) * | 2023-03-29 | 2023-07-18 | 北京百度网讯科技有限公司 | 目标模型训练方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116644781B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175527B (zh) | 行人再识别方法及装置、计算机设备及可读介质 | |
CN107103903B (zh) | 基于人工智能的声学模型训练方法、装置及存储介质 | |
CN110443222B (zh) | 用于训练脸部关键点检测模型的方法和装置 | |
CN110647920A (zh) | 机器学习中的迁移学习方法及装置、设备与可读介质 | |
CN109800717B (zh) | 基于强化学习的行为识别视频帧采样方法及系统 | |
CN111160191A (zh) | 一种视频关键帧提取方法、装置及存储介质 | |
CN110929848A (zh) | 基于多挑战感知学习模型的训练、跟踪方法 | |
CN112101547B (zh) | 一种对网络模型的剪枝方法、装置、电子设备及存储介质 | |
CN106802888B (zh) | 词向量训练方法和装置 | |
CN112258557B (zh) | 一种基于空间注意力特征聚合的视觉跟踪方法 | |
CN108830295A (zh) | 基于多时间尺度回声状态网络的多变量时间序列分类方法 | |
CN113239702A (zh) | 意图识别方法、装置、电子设备 | |
CN115116559A (zh) | 氨基酸中原子坐标的确定及训练方法、装置、设备和介质 | |
CN116244647A (zh) | 一种无人机集群的运行状态估计方法 | |
CN114925938A (zh) | 一种基于自适应svm模型的电能表运行状态预测方法、装置 | |
CN116644781B (zh) | 模型压缩方法、数据处理方法、装置、存储介质及芯片 | |
CN110675879A (zh) | 基于大数据的音频评估方法、系统、设备及存储介质 | |
CN112200862A (zh) | 目标检测模型的训练方法、目标检测方法及装置 | |
CN112949433A (zh) | 视频分类模型的生成方法、装置、设备和存储介质 | |
CN116128044A (zh) | 一种模型剪枝方法、图像处理方法及相关装置 | |
CN115062769A (zh) | 基于知识蒸馏的模型训练方法、装置、设备及存储介质 | |
CN115512693A (zh) | 音频识别方法、声学模型训练方法、装置和存储介质 | |
CN111797984A (zh) | 一种用于多任务神经网络的量化和硬件加速方法及装置 | |
CN115204381A (zh) | 弱监督模型训练方法及装置、电子设备 | |
WO2023168813A1 (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 |