数据处理方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:37584218 阅读:21 留言:0更新日期:2023-05-15 07:57
本申请实施例公开了一种数据处理方法、装置、电子设备以及存储介质。所述方法包括:获取待压缩模型,所述待压缩模型包括多个网络层;获取所述待压缩模型的每个网络层对应的量化比特位,所述量化比特位为基于网络层在前向推理时的模拟功率确定;在每一轮训练过程中,基于所述对应的量化比特位对所述多个网络层分别进行量化处理,得到待调整模型;并获取目标损失函数,所述目标损失函数为基于所述待压缩模型的损失函数以及新增的损失函数确定;以及基于所述目标损失函数更新所述待调整模型的参数,直至满足预设条件。本方法实现了使得量化感知训练后的量化误差更小,模型的推理精度也仍然在较好的范围内,同时也减小了模型的规模。模。模。

【技术实现步骤摘要】
数据处理方法、装置、电子设备以及存储介质


[0001]本申请涉及人工智能
,更具体地,涉及一种数据处理方法、装置、电子设备以及存储介质。

技术介绍

[0002]Transformer(转换器)在计算机视觉领域已经有了越来越广泛的应用,除了基本的应用图像分类以外,在目标检测、语义分割等较为挑战的任务中也表现出了和传统卷积神经网络不同的性能优势。相比于卷积神经网络来说,视觉转换器(v i s i on Transformer)具有更加复杂的结构和更庞大的参数量,在内存资源受限的边缘设备上的部署难度较大。

技术实现思路

[0003]鉴于上述问题,本申请提出了一种数据处理方法、装置、电子设备以及存储介质,以改善上述问题。
[0004]第一方面,本申请实施例提供了一种数据处理方法,应用于电子设备,所述方法包括:获取待压缩模型,所述待压缩模型包括多个网络层;获取所述待压缩模型的每个网络层对应的量化比特位,所述量化比特位为基于网络层在前向推理时的模拟功率确定;在每一轮训练过程中,基于所述对应的量化比特位对所述多个网络层分别进行量化处理,得到待调整模型;并获取目标损失函数,所述目标损失函数为基于所述待压缩模型的损失函数以及新增的损失函数确定;以及基于所述目标损失函数更新所述待调整模型的参数,直至满足预设条件。
[0005]第二方面,本申请实施例提供了一种数据处理装置,运行于电子设备,所述装置包括:模型获取模块,用于获取待压缩模型,所述待压缩模型包括多个网络层;量化比特位获取模块,用于获取所述待压缩模型的每个网络层对应的量化比特位,所述量化比特位为基于网络层在前向推理时的模拟功率确定;量化处理模块,用于在每一轮训练过程中,基于所述对应的量化比特位对所述多个网络层分别进行量化处理,得到待调整模型;损失函数获取模块,用于并获取目标损失函数,所述目标损失函数为基于所述待压缩模型的损失函数以及新增的损失函数确定;参数更新模块,用于以及基于所述目标损失函数更新所述待调整模型的参数,直至满足预设条件。
[0006]第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面所述的方法。
[0007]第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述第一方面所述的方法。
[0008]本申请提供的一种数据处理方法、装置、电子设备以及存储介质,通过获取待压缩模型,所述待压缩模型包括多个网络层;获取所述待压缩模型的每个网络层对应的量化比
特位,所述量化比特位为基于网络层在前向推理时的模拟功率确定;在每一轮训练过程中,基于所述对应的量化比特位对所述多个网络层分别进行量化处理,得到待调整模型;并获取目标损失函数,所述目标损失函数为基于所述待压缩模型的损失函数以及新增的损失函数确定;以及基于所述目标损失函数更新所述待调整模型的参数,直至满足预设条件。从而通过上述方式实现了相比于传统的量化感知训练方法,根据待压缩模型的网络层对应的量化比特位对网络层进行量化处理,以及通过基于待压缩模型的损失函数以及新增的损失函数确定的目标损失函数对待调整模型的参数进行更新,使得量化感知训练后的量化误差更小,模型的推理精度也仍然在较好的范围内,同时也减小了模型的规模,进而减少了内存占用,提升了在内存资源受限的边缘设备上的部署的可能性。
附图说明
[0009]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1示出了本申请一实施例提出的一种数据处理方法的方法流程图。
[0011]图2示出了本申请另一实施例提出的一种数据处理方法的方法流程图。
[0012]图3示出了本申请实施例提供的对待压缩模型进行基于混合精度的量化感知训练的流程图。
[0013]图4示出了本申请又一实施例提出的一种数据处理方法的方法流程图。
[0014]图5示出了本申请实施例提供的向所述多头自注意模块加入次序损失函数的加入位置示例图。
[0015]图6示出了本申请实施例提出的一种数据处理装置的结构框图。
[0016]图7示出了本申请的用于执行根据本申请实施例的一种数据处理方法的电子设备的结构框图。
[0017]图8是本申请实施例的用于保存或者携带实现根据本申请实施例的一种数据处理方法的程序代码的存储单元。
具体实施方式
[0018]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0019]模型压缩方法能够有效减少硬件内存的占用并提高运算速度。目前较为通用的模型压缩算法包括量化、剪枝、蒸馏等等。其中,剪枝和蒸馏是通过减少模型参数达到模型压缩的目的,压缩后的模型结构通常与压缩前有很大差别。量化是通过减少模型参数表达的比特数,比如将32位的浮点数量化到4,8或16bit(比特位)定点数,这使得模型结构已经得到优化的时候仍然可以进一步压缩模型。
[0020]量化策略可以分为训练后量化(PTQ)以及训练感知量化(QAT)。其中,PTQ是在深度
学习网络训练后直接对参数进行量化,即将32位浮点数变成定点数,而QAT则是在PTQ的基础之上,继续训练若干个迭代,在训练过程中前向推理用量化后的参数,再根据损失函数反向更新浮点参数,QAT相较于PTQ有更高的精度。然而,对于带有转换器的模型结构,采用现有的量化策略对模型进行压缩后,仍具有复杂的结构和庞大的数据量,难以在内存资源受限的边缘设备上部署。
[0021]为了便于理解本申请实施例所描述的方案,下面对本申请实施例中所涉及的术语进行简要说明:
[0022]AI(Art ifi c ia l I nte l l igence):表征人工智能。
[0023]PTQ(Post Tra i n i ng Quant i zat ion):表征训练后量化。
[0024]QAT(Quant i zat ion Aware Tra i n i ng):表征量化感知训练。
[0025]Transformer:表征转换器。
[0026]MSA(Mu lt i

head se l f

attent ion):表征多头自注意模块。
[0027]MLP(Mu lt i

layer percept ion):表征多层感知机。
[0028]下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于电子设备,所述方法包括:获取待压缩模型,所述待压缩模型包括多个网络层;获取所述待压缩模型的每个网络层对应的量化比特位,所述量化比特位为基于网络层在前向推理时的模拟功率确定;在每一轮训练过程中,基于所述对应的量化比特位对所述多个网络层分别进行量化处理,得到待调整模型;并获取目标损失函数,所述目标损失函数为基于所述待压缩模型的损失函数以及新增的损失函数确定;以及基于所述目标损失函数更新所述待调整模型的参数,直至满足预设条件。2.根据权利要求1所述的方法,其特征在于,所述待压缩模型包括转换器层,所述转换器层包括非线性参数,所述获取所述待压缩模型的每个网络层对应的量化比特位之前,还包括:根据目标估算方式将所述转换器层的非线性参数转换为线性参数。3.根据权利要求2所述的方法,其特征在于,所述根据目标估算方式将所述转换器层的非线性参数转换为线性参数,包括:若所述电子设备的剩余内存大于内存阈值,根据第一估算方式将所述转换器层的非线性参数转换为线性参数;若所述电子设备的剩余内存小于内存阈值,根据第二估算方式将所述转换器层的非线性参数转换为线性参数。4.根据权利要求2所述的方法,其特征在于,所述转换器层包括多头自注意模块,所述获取目标损失函数,包括:向所述多头自注意模块加入次序损失函数;将所述次序损失函数与所述待压缩模型的损失函数进行加权平均,得到所述目标损失函数。5.根据权利要求1所述的方法,其特征在于,所述基于所述对应的量化比特位对所述多个网络层分别进行量化处理,包括:将所述多个网络层各自的参数分别量化为所述对应的量化比特位的整数;对于所述多个网络层中的每一个网络层,将所述整数反量化为浮点数,并用所述...

【专利技术属性】
技术研发人员:张环宇
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1