本发明涉及智能语音领域,尤其涉及一种基于知识蒸馏和量化的预训练模型压缩方法及系统。
背景技术:
1、利用大量数据预训练语音识别模型,然后在特定的语音下游任务中对预训练的语音识别模型进行微调。这已经成为常用的语音识别模型的训练方法。这些预训练模型在各种asr(automatic speech recognition,自动语音识别)任务中都取得了优异的识别结果。然而,这些预训练模型中的编码器通常是以无监督或自监督的方式训练的,并且缺乏用于生成有用输出的具有可比性能的解码器。虽然预训练提供了高质量的语音表示,但对微调的需求限制了它的实用性和影响。
2、为了避免这种情况,现有技术通常会使用基于transformer的编码器-解码器模型whisper在大量多语言弱监督数据上进行了训练,并在各种基准上获得了高质量的识别结果,而无需对特定数据集进行微调。然而,whisper具有大量参数和较长的推理时间,不适用于手机等资源受限的轻量级设备。
3、现有技术通常会进行压缩处理,包括:
4、1、基于知识蒸馏的预训练模型压缩:通过知识蒸馏将大的预训练模型的知识迁移到小模型,从而降低模型的大小并且不会过度损失原有模型性能。
5、2、基于量化的预训练模型压缩:通过对预训练模型中的层进行8比特的量化,将原来的预训练模型中占用存储较大的高精度的参数用占用存储较小的低精度的参数替换,从而能够压缩模型并且加速推理。
6、在实现本发明过程中,发明人发现相关技术中至少存在如下问题:
7、1、基于知识蒸馏的预训练模型的压缩原有知识蒸馏的模型压缩太过于局限,不能从教师模型中有效发现适合学生模型的信息,从而导致压缩到小模型之后性能急剧下降。
8、2、基于量化的预训练模型压缩的模型量化的方式对模型压缩来说会损失精度,而且模型每层对量化的敏感性也不同,直接量化也会导致性能的急剧下降。
技术实现思路
1、为了至少解决现有技术中原有知识蒸馏的模型压缩只能静态选取固定层进行知识的蒸馏,这些固定的层可能不适合学生模型导致学生模型不能有效从教师模型中学到有用知识的问题。第一方面,本发明实施例提供一种基于知识蒸馏和量化的预训练模型压缩方法,包括:
2、将预训练模型确定为教师模型,对所述教师模型的预测层和中间隐层进行量化操作,确定出所述教师模型与用于表示压缩后模型的学生模型的量化损失,其中,所述量化操作包括:确定所述教师模型内隐层的量化前权重与量化后权重的最小变量;
3、通过所述量化损失确定所述教师模型至所述学生模型的隐层匹配映射函数,基于所述隐层匹配映射函数从所述教师模型中动态选择所述学生模型需要学习的蒸馏层,并确定对应的蒸馏损失;
4、至少基于所述量化损失以及所述蒸馏损失对所述学生模型进行量化训练,得到压缩后模型。
5、第二方面,本发明实施例提供一种基于知识蒸馏和量化的预训练模型压缩系统,包括:
6、量化损失确定程序模块,用于将预训练模型确定为教师模型,对所述教师模型的预测层和中间隐层进行量化操作,确定出所述教师模型与用于表示压缩后模型的学生模型的量化损失,其中,所述量化操作包括:确定所述教师模型内隐层的量化前权重与量化后权重的最小变量;
7、蒸馏损失确定程序模块,用于通过所述量化损失确定所述教师模型至所述学生模型的隐层匹配映射函数,基于所述隐层匹配映射函数从所述教师模型中动态选择所述学生模型需要学习的蒸馏层,并确定对应的蒸馏损失;
8、压缩训练程序模块,用于至少基于所述量化损失以及所述蒸馏损失对所述学生模型进行量化训练,得到压缩后模型。
9、第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的基于知识蒸馏和量化的预训练模型压缩方法的步骤。
10、第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的基于知识蒸馏和量化的预训练模型压缩方法的步骤。
11、本发明实施例的有益效果在于:在知识蒸馏和量化互相指导的过程中通过量化损失来指导蒸馏层的选取,选取对学生模型最适合量化的层来进行蒸馏;通过蒸馏损失来指导量化层的选取,选取最适合量化的层来进行量化,选取进一步压缩模型的同时保证性能没有损失。
1.一种基于知识蒸馏和量化的预训练模型压缩方法,包括:
2.根据权利要求1所述的方法,其中,所述至少基于所述量化损失以及所述蒸馏损失对所述学生模型进行量化训练包括:
3.根据权利要求1所述的方法,其中,所述至少基于所述量化损失以及所述蒸馏损失对所述学生模型进行量化训练包括:
4.根据权利要求1所述的方法,其中,所述隐层匹配映射函数的映射方式包括:静态匹配、动态匹配以及约束动态匹配。
5.一种基于知识蒸馏和量化的预训练模型压缩系统,包括:
6.根据权利要求5所述的系统,其中,所述压缩训练程序模块用于:
7.根据权利要求5所述的系统,其中,所述压缩训练程序模块用于:
8.根据权利要求5所述的系统,其中,所述隐层匹配映射函数的映射方式包括:静态匹配、动态匹配以及约束动态匹配。
9.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。