本技术实施例涉及人工智能,尤其涉及一种模型量化方法、装置、电子设备、车辆及存储介质。
背景技术:
1、在将神经网络模型部署到终端设备(如智能手机、智能汽车等)上时,由于终端设备的硬件资源限制,需要对神经网络模型进行量化处理,以减少模型的内存占用和提高模型在推理时的运算速度。现有的量化处理技术主要是量化感知训练和训练后量化,为了使得量化后模型的精度损失较小,可以采用混合量化(结合量化感知训练和训练后量化)对模型进行量化处理。
2、但采用混合量化对模型进行量化处理时,由于量化感知训练需要在模型训练过程中进行,采用真实数据对模型进行量化感知训练,存在泄露用户隐私信息的风险。
3、因此,如何在确保量化后的神经网络模型的精度损失较小的同时,保护用户的隐私信息,成为亟须解决的问题。
技术实现思路
1、本技术实施例提供了一种模型量化方法、装置、电子设备、车辆及存储介质,能够确保量化后的神经网络模型的精度损失较小的同时,保护用户的隐私信息。
2、第一方面,本技术实施例提供了一种模型量化方法,应用于服务器,包括:对预训练神经网络模型进行训练后量化处理,得到量化模型;基于量化模型,执行下述步骤s1,得到目标模型,步骤s1包括:向多个终端发送量化模型,以使多个终端中的每个终端通过本地私有数据,对量化模型进行训练和量化,得到每个终端对应的量化参数和梯度;接收多个终端中的至少一个终端发送的量化参数和梯度;融合至少一个终端对应的量化参数得到目标量化参数;融合至少一个终端对应的梯度得到目标梯度;基于目标量化参数和目标梯度,对量化模型进行量化感知训练,得到目标模型;在目标模型的精度大于精度阈值的情况下,将目标模型发送至每个终端,以使每个终端将目标模型部署到本地。
3、本技术一些实施例中,基于量化模型,执行下述步骤s1,得到目标模型之后,该方法还包括:在目标模型的精度小于或者等于精度阈值的情况下,将目标模型作为量化模型,返回执行步骤s1。
4、本技术一些实施例中,在对预训练神经网络模型进行训练后量化处理,得到量化模型之前,该方法还包括:通过非私有数据,对神经网络模型进行训练,得到预训练神经网络模型。
5、本技术一些实施例中,接收多个终端中的至少一个终端发送的量化参数和梯度,包括:接收至少一个终端发送的目标信息,目标信息为至少一个终端将对应的量化参数和梯度进行加密后得到的;对至少一个终端发送的目标信息进行解密,得到至少一个终端对应的量化参数和梯度。
6、本技术一些实施例中,在目标模型的精度大于精度阈值的情况下,将目标模型发送至每个终端,包括:在目标模型的精度大于精度阈值,且目标模型的运行速度大于速度阈值的情况下,将目标模型发送至每个终端;该方法还包括:在目标模型的精度大于精度阈值,且目标模型的运行速度小于或者等于速度阈值的情况下,将目标模型作为量化模型,返回执行步骤s1。
7、第二方面,本技术实施例提供了一种模型量化方法,应用于终端,包括:接收服务器发送的量化模型,量化模型为服务器对预训练神经网络模型进行训练后量化处理得到的;通过本地私有数据,对量化模型进行训练和量化,得到量化参数和梯度;向服务器发送量化参数和梯度,以使服务器融合多个终端中的至少一个终端对应的量化参数得到目标量化参数,以及融合至少一个终端对应的梯度得到目标梯度,并基于目标量化参数和目标梯度,对量化模型进行量化感知训练,得到精度大于精度阈值的目标模型;接收服务器发送的目标模型;在本地部署目标模型。
8、本技术一些实施例中,通过本地私有数据,对量化模型进行训练和量化,得到量化参数和梯度,包括:通过本地私有数据,对量化模型进行量化感知训练,得到量化参数和梯度。
9、本技术一些实施例中,通过本地私有数据,对量化模型进行训练和量化,得到量化参数和梯度,包括:通过本地私有数据,对量化模型进行训练,得到训练后模型;对训练后模型进行训练后量化,得到量化参数和梯度。
10、本技术一些实施例中,向服务器发送量化参数和梯度,包括:对量化参数和梯度进行加密,得到目标信息;向服务器发送目标信息。
11、第三方面,本技术实施例提供了一种模型量化装置,包括:处理模块,用于对预训练神经网络模型进行训练后量化处理,得到量化模型;执行模块,用于基于量化模型,执行下述步骤s1,得到目标模型,步骤s1包括:向多个终端发送量化模型,以使多个终端中的每个终端通过本地私有数据,对量化模型进行训练和量化,得到每个终端对应的量化参数和梯度;接收多个终端中的至少一个终端发送的量化参数和梯度;融合各至少一个终端对应的量化参数得到目标量化参数;融合至少一个终端对应的梯度得到目标梯度;基于目标量化参数和目标梯度,对量化模型进行量化感知训练,得到目标模型;发送模块,用于在目标模型的精度大于精度阈值的情况下,将目标模型发送至每个终端,以使每个终端将目标模型部署到本地。
12、第四方面,本技术实施例提供了一种模型量化装置,包括:接收模块,用于接收服务器发送的量化模型,量化模型为服务器对预训练神经网络模型进行训练后量化处理得到的;训练和量化模块,用于通过本地私有数据,对量化模型进行训练和量化,得到量化参数和梯度;发送模块,用于向服务器发送量化参数和梯度,以使服务器融合多个终端中的至少一个终端对应的量化参数得到目标量化参数,以及融合至少一个终端对应的梯度得到目标梯度,并基于目标量化参数和目标梯度,对量化模型进行量化感知训练,得到精度大于精度阈值的目标模型;接收模块,还用于接收服务器发送的目标模型;部署模块,用于在本地部署目标模型。
13、第五方面,本技术实施例提供了一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一种方法的步骤。
14、第六方面,本技术实施例提供了一种车辆,包括:第三方面或者第四方面提供的模型量化装置,或者第五方面提供的电子设备。
15、第七方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面提供的任一种方法的步骤。
16、本技术实施例提供的技术方案中,本技术实施例中,对预训练神经网络模型进行训练后量化处理,得到量化模型;基于量化模型,执行下述步骤s1,得到目标模型,步骤s1包括:向多个终端发送量化模型,以使多个终端中每个终端通过本地私有数据,对量化模型进行训练和量化,得到每个终端对应的量化参数和梯度;接收多个终端中的至少一个终端发送的量化参数和梯度;融合至少一个终端对应的量化参数得到目标量化参数;融合至少一个终端对应的梯度得到目标梯度;基于目标量化参数和目标梯度,对量化模型进行量化感知训练,得到目标模型;在目标模型的精度大于精度阈值的情况下,将目标模型发送至每个终端,以使每个终端将目标模型部署到本地。如此,结合训练后量化和量化感知训练对预训练神经网络模型进行量化处理,以降低模型的内存占用,以及提升模型的推理速度,并且,在终端使用本地私有数据(用户的真实数据)对模型进行训练和量化,仅将得到的量化参数和梯度(未发送用户的真实数据)发送到服务器,不仅使得最终模型的预测准确率更高,而且避免了用户本地私有数据被泄露的风险。
1.一种模型量化方法,应用于服务器,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述量化模型,执行下述步骤s1,得到目标模型之后,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在所述对预训练神经网络模型进行训练后量化处理,得到量化模型之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述接收所述多个终端中的至少一个终端发送的所述量化参数和所述梯度,包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述在所述目标模型的精度大于所述精度阈值的情况下,将所述目标模型发送至所述每个终端,包括:
6.一种模型量化方法,应用于终端,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述通过本地私有数据,对所述量化模型进行训练和量化,得到量化参数和梯度,包括:
8.根据权利要求6所述的方法,其特征在于,所述通过本地私有数据,对所述量化模型进行训练和量化,得到量化参数和梯度,包括:
9.根据权利要求6至8任一项所述的方法,其特征在于,所述向服务器发送所述量化参数和所述梯度,包括:
10.一种模型量化装置,其特征在于,包括:
11.一种模型量化装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行权利要求1-5中任一项所述的模型量化方法和权利要求6-9中任一项所述的模型量化方法。
13.一种车辆,其特征在于,包括:权利要求10所述的模型量化装置、权利要求11所述的模型量化装置、权利要求12所述的电子设备中的任一项。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的模型量化方法和权利要求6-9中任一项所述的模型量化方法。