CN113762510B - 针对目标模型的数据处理方法、装置、电子设备和介质 - Google Patents
针对目标模型的数据处理方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113762510B CN113762510B CN202111058702.1A CN202111058702A CN113762510B CN 113762510 B CN113762510 B CN 113762510B CN 202111058702 A CN202111058702 A CN 202111058702A CN 113762510 B CN113762510 B CN 113762510B
- Authority
- CN
- China
- Prior art keywords
- model
- data type
- model parameters
- target
- data
- 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
Images
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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开公开了一种针对目标模型的数据处理方法、装置、设备、介质和产品,涉及深度学习领域。针对目标模型的数据处理方法包括:获取目标模型,其中,目标模型包括至少一个网络层,至少一个网络层中的每个网络层包括多个模型参数;针对至少一个网络层中的目标网络层,将目标网络层的多个模型参数划分为多个分组;分别将多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及深度学习领域,更具体地,涉及一种针对目标模型的数据处理方法、装置、电子设备、介质和程序产品。
背景技术
深度学习技术在视觉、自然语言处理等领域应用广泛。回顾深度学习模型的发展历程,可以发现深度学习模型的网络结构越来越复杂,相应模型的参数越来越多、计算量也越来越大,导致深度学习模型的使用需要耗费大量的资源。
发明内容
本公开提供了一种针对目标模型的数据处理方法、装置、电子设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种针对目标模型的数据处理方法,包括:获取目标模型,其中,所述目标模型包括至少一个网络层,所述至少一个网络层中的每个网络层包括多个模型参数;针对所述至少一个网络层中的目标网络层,将所述目标网络层的多个模型参数划分为多个分组;分别将所述多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
根据本公开的另一方面,提供了一种针对目标模型的数据处理方法,包括:从目标模型的至少一个网络层中确定目标网络层,其中,所述至少一个网络层中的每个网络层包括多个模型参数;确定所述目标网络层中的多个模型参数所属的多个分组;分别将所述多个分组中的模型参数的数据类型由第二数据类型调整为第一数据类型,得到处理后的目标模型。
根据本公开的另一方面,提供了一种针对目标模型的数据处理装置,包括:获取模块、划分模块以及第一调整模块。获取模块,用于获取目标模型,其中,所述目标模型包括至少一个网络层,所述至少一个网络层中的每个网络层包括多个模型参数;划分模块,用于针对所述至少一个网络层中的目标网络层,将所述目标网络层的多个模型参数划分为多个分组;第一调整模块,用于分别将所述多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
根据本公开的另一方面,提供了一种针对目标模型的数据处理装置,包括:第一确定模块、第二确定模块以及第二调整模块。第一确定模块,用于从目标模型的至少一个网络层中确定目标网络层,其中,所述至少一个网络层中的每个网络层包括多个模型参数;第二确定模块,用于确定所述目标网络层中的多个模型参数所属的多个分组;第二调整模块,用于分别将所述多个分组中的模型参数的数据类型由第二数据类型调整为第一数据类型,得到处理后的目标模型。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的针对目标模型的数据处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述的针对目标模型的数据处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的针对目标模型的数据处理方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开一实施例的针对目标模型的数据处理方法和装置的系统架构;
图2示意性示出了根据本公开一实施例的针对目标模型的数据处理方法的流程图;
图3示意性示出了根据本公开另一实施例的针对目标模型的数据处理方法的流程图;
图4示意性示出了根据本公开一实施例的针对目标模型的数据处理方法的示意图;
图5示意性示出了根据本公开一实施例的针对目标模型的数据处理装置的框图;
图6示意性示出了根据本公开另一实施例的针对目标模型的数据处理装置的框图;以及
图7是用来实现本公开实施例的用于执行针对目标模型的数据处理的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种针对目标模型的数据处理方法。针对目标模型的数据处理方法包括:获取目标模型,其中,目标模型包括至少一个网络层,至少一个网络层中的每个网络层包括多个模型参数。然后,针对至少一个网络层中的目标网络层,将目标网络层的多个模型参数划分为多个分组。接下来,分别将多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
图1示意性示出了根据本公开一实施例的针对目标模型的数据处理方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括客户端101、102、103,网络104和电子设备105。网络104用以在客户端101、102、103和电子设备105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用客户端101、102、103通过网络104与电子设备105交互,以接收或发送消息等。客户端101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
客户端101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。示例性地,客户端101、102、103可以包括边缘设备。
电子设备105可以是提供各种服务的服务器,例如对用户利用客户端101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给客户端。另外,电子设备105还可以是云服务器,即电子设备105具有云计算功能。
需要说明的是,本公开实施例所提供的针对目标模型的数据处理方法例如包括对目标模型的模型参数进行压缩处理,以及对目标模型的模型参数进行还原处理。
例如,对目标模型的模型参数进行压缩处理的方法可以由电子设备105执行。相应地,对目标模型的模型参数进行压缩处理的装置可以设置于电子设备105中。
例如,对目标模型的模型参数进行还原处理的方法可以由客户端101、102、103执行。相应地,对目标模型的模型参数进行还原处理的装置可以设置于客户端101、102、103中。
例如,目标模型106包括多个模型参数,当电子设备105获取目标模型106之后,可以对目标模型106的模型参数进行压缩处理,得到处理后的目标模型。然后,电子设备105可以将处理后的目标模型通过网络104发送给客户端101、102、103。客户端101、102、103接收到处理后的目标模型之后,可以对处理后的目标模型的模型参数进行还原处理,并利用还原后的目标模型处理相关数据。
应该理解,图1中的客户端、网络和电子设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、网络和电子设备。
本公开实施例提供了一种针对目标模型的数据处理方法,下面结合图1的系统架构,参考图2来描述根据本公开示例性实施方式的针对目标模型的数据处理方法。本公开实施例的针对目标模型的数据处理方法例如可以由图1所示的电子设备105来执行。
图2示意性示出了根据本公开一实施例的针对目标模型的数据处理方法的流程图。
如图2所示,本公开实施例的针对目标模型的数据处理方法200例如可以包括操作S210~操作S230。
在操作S210,获取目标模型,目标模型包括至少一个网络层,至少一个网络层中的每个网络层包括多个模型参数。
在操作S220,针对至少一个网络层中的目标网络层,将目标网络层的多个模型参数划分为多个分组。
在操作S230,分别将多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
示例性地,目标模型例如包括深度学习模型。深度学习模型可以包括卷积神经网络模型、人工神经网络模型等具有预测功能的模型。示例性地,目标模型例如为经训练的模型。
以卷积神经网络模型为例,卷积神经网络模型例如包括卷积层、池化层、全连接层等多个网络层。每个网络层包括例如包括多个模型参数,模型参数例如也称为模型的权重。
针对多个网络层中的目标网络层,该目标网络层例如包括多个模型参数,将该多个模型参数划分为多个分组,每个分组中例如包括至少一个模型参数,模型参数的数据类型例如为第一数据类型。目标网络层例如是根据需求从多个网络层中指定的一个或多个网络层。
在将目标网络层的模型参数划分为多个分组之后,可以分别将每个分组中的模型参数的数据类型由第一数据类型调整为第二数据类型。第一数据类型的模型参数占用存储资源例如大于第二数据类型的模型参数占用的存储资源。
在本公开的实施例中,由于经训练的目标模型的模型参数占用较大的存储资源,导致存储目标模型时需要耗费较大的存储空间。或者,将目标模型发送给边缘设备时需要耗费较多的数据传输资源,并且边缘设备的存储空间有限从而导致目标模型占用边缘设备过多的存储空间。因此,本公开的实施例通过调整模型参数的数据类型,以便实现对模型参数的进行压缩或量化,降低模型参数的存储空间占用率。
另外,在调整模型参数的数据类型时,由于模型参数所属的数值区间较大,因此可以将模型参数划分为多个分组,不同分组的模型参数所属数值区间之间的差异较大。针对数值区间差异较大的多个分组,分别调整多个分组中的模型参数的数据类型,以降低调整误差,从而保证处理后的目标模型的模型精度。
示例性地,为了更清除地说明如何将多个模型参数划分为多个分组,以目标模型为卷积神经网络为例进行说明。以卷积神经网络中的卷积层作为目标网络层,目标网络层的多个模型参数例如包括多个通道的模型参数。针对多个通道中的每个通道,将每个通道的模型参数确定为一个分组。
例如,目标模型的输入数据的数据维度例如为M*K,卷积层包括的模型参数的数据维度例如为K*N,将输入数据输入卷积层进行卷积处理后,输出数据的数据维度例如为M*N,其中,M、K、N均为正整数。其中,卷积层例如包括K*N个模型参数,该K*N个模型参数例如包括N个通道,N个通道中的每个通道例如包括K个模型参数。例如,当K*N个模型参数为K*N的数据矩阵时,数据矩阵中每一行的K个模型参数对应一个通道,将每个通道的K个模型参数作为一个分组,从而得到与N个通道一一对应的N个分组。
由于不同分组的模型参数所属数值区间的差异较大,为了提高模型参数的调整精度,针对数值区间差异较大的多个分组,确定多个分组中每个分组的调整比例,从而得到与多个分组一一对应的多个调整比例。
然后,基于多个调整比例,分别将多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。即,针对每个分组,利用与该分组对应的调整比例,调整该分组中的模型参数的数据类型。
示例性地,第一数据类型例如包括浮点类型,第二数据类型例如包括整数类型。第一数据类型的模型参数占用存储资源例如大于第二数据类型的模型参数占用的存储资源。例如,当将一个32bit的浮点数调整为8bit的整数后,数据占用的存储资源例如可以减少4倍。
示例性地,针对多个分组中每个分组的调整比例,可以从每个分组包含的模型参数中确定目标模型参数,以便基于目标模型参数来确定针对每个分组的调整比例。其中,目标模型参数例如为每个分组包含的模型参数中绝对值最大的模型参数。
从每个分组中确定绝对值最大的模型参数作为目标模型参数,并基于目标模型参数来确定针对每个分组的调整比例,使得调整比例适应于每个分组,后续在基于调整比例调整每个分组的模型参数时,保证了模型参数的精度。
然后,基于目标模型参数和与每个分组对应的预设数据长度,计算针对每个分组的调整比例。
例如,每个分组对应的预设数据长度例如为8或16,8例如表示调整后的模型参数为8bit的整数,16例如表示调整后的模型参数为16bit的整数。
在得到针对每个分组的调整比例之后,可以将每个分组的第一数据类型的模型参数除以与每个分组对应的调整比例,得到第二数据类型的模型参数。
以下以一个具体的实施方式来阐述利用动态离线量化方法调整模型参数的数据类型。本领域技术人员可以理解,该实施方式仅用于理解本公开实施例,而不应被认为限制本公开实施例。
首先,可以获取预先指定的目标网络层和预设数据长度bit_Length。网络层也可称为OP,OP表示运算方式,例如卷积计算是一种OP、池化计算也是一种OP。指定的目标网络层可以是目标模型中模型参数维度较大的OP,例如是Conv2d(卷积函数)、FC(全连接)等等。
当获取到经训练的目标模型之后,遍历目标模型的拓扑结构,确定出目标网络层,以便对目标网络层中的模型参数进行处理。
将目标网络层中的多个模型参数划分为与多个通道一一对应的多个分组。针对多个分组中的第i个分组,确定第i个分组中数值绝对值最大的模型参数,该模型参数的绝对值例如表示为Ti,针对第i个分组的调整比例参见公式(1)所示。
在得到针对第i个分组的调整比例scalei之后,利用公式(2)对第i个分组中每个模型参数进行处理,以将模型参数的数据类型由第一数据类型转换为第二数据类型。
其中,x表示第i个分组中任意一个数据类型为第一数据类型模型参数,q表示数据类型为第二数据类型的模型参数,round例如表示四舍五入计算。
对每个已经压缩量化的目标网络层(OP),将计算得到针对每个目标网络层的多个调整比例(与该目标网络层的多个分组对应)保存到目标网络层的属性文件中。针对处理后的(压缩)目标模型,该处理后的目标模型例如包括拓扑结构、常规的模型参数(没有被压缩量化的模型参数)、压缩量化的模型参数、调整比例等。
在将模型参数的数据类型由第一数据类型调整为第二数据类型之后,模型参数的存储空间减小,此时可以将处理后的目标模型发送给边缘设备进行存储或使用。边缘设备对处理后的目标模型进行存储或使用可以参考下图3所示。
下面结合图1的系统架构,参考图3来描述根据本公开示例性实施方式的针对目标模型的数据处理方法。本公开实施例的针对目标模型的数据处理方法例如可以由图1所示的客户端101、102、103来执行,客户端101、102、103也可以称为边缘设备。
图3示意性示出了根据本公开另一实施例的针对目标模型的数据处理方法的流程图。
如图3所示,本公开实施例的针对目标模型的数据处理方法300例如可以包括操作S310~操作S330。
在操作S310,从目标模型的至少一个网络层中确定目标网络层,至少一个网络层中的每个网络层包括多个模型参数。
在操作S320,确定目标网络层中的多个模型参数所属的多个分组。
在操作S330,分别将多个分组中的模型参数的数据类型由第二数据类型调整为第一数据类型,得到处理后的目标模型。
在边缘设备获取到经过压缩量化处理的目标模型之后,将目标模型进行存储。在使用目标模型来进行相关计算时,加载目标模型,并从目标模型中确定目标网络层,目标网络层中的多个模型参数的数据类型例如为第二数据类型。
示例性地,目标网络层中的多个模型参数被划分为多组,确定多个模型参数所属的多个分组,然后分别将多个分组中的模型参数的数据类型由第二数据类型调整为第一数据类型。第一数据类型的数据精度例如大于第二数据类型的数据精度。然后,利用具有第一数据类型的模型参数的目标模型来进行相关计算。例如,当目标模型为预测模型时,可以利用具有第一数据类型的模型参数的目标模型进行预测处理。
根据本公开的实施例,在接收到具有第二数据类型的模型参数的目标模型之后,可以将接收到的目标模型进行存储,减小存储空间。在需要使用目标模型时,可以对目标模型的模型参数进行处理,以便将模型参数调整为精度较高的参数,便于在利用目标模型进行相关计算时,可以保证计算的精度和准确性。
针对目标网络层的多个分组,每个分组具有对应的调整比例。基于多个分组中每个分组对应的调整比例,将每个分组的模型参数的数据类型由第二数据类型调整为第一数据类型。例如,将每个分组的第二数据类型的模型参数乘以与每个分组对应的调整比例,得到第一数据类型的模型参数。
例如,针对多个分组中的第i个分组,第i个分组的调整比例为scalei,第一数据类型的模型参数的计算过程如公式(3)。
x=q*scalei 公式(3)
其中,q表示第i个分组中任意一个数据类型为第二数据类型模型参数,x表示数据类型为第一数据类型的模型参数。
图4示意性示出了根据本公开一实施例的针对目标模型的数据处理方法的示意图。
如图4所示,本公开实施例的针对目标模型的数据处理方法400例如由电子设备420和边缘设备430执行。
电子设备420例如利用训练样本410训练预测模型,得到经训练的第一目标模型421,第一目标模型421例如包括拓扑结构和浮点型模型参数。
由于浮点型模型参数的数据存储空间较大,因此,电子设备420可以将浮点型模型参数调整为整数型模型参数,以降低模型参数的数据存储空间。其中,将浮点型模型参数调整为整数型模型参数之后,得到第二目标模型422。
接下来,由电子设备420将第二目标模型422发送给边缘设备430,或者边缘设备430可以主动从电子设备420处获取第二目标模型422。在边缘设备430得到第二目标模型422之后,将第二目标模型422作为第三目标模型431存储至第一存储空间中,第一存储空间可以是硬盘。由于第三目标模型431中的模型参数为整数型模型参数,因此,第三目标模型431对第一存储空间的占用率较小。
然后,边缘设备430可以基于第三目标模型431来执行预测任务。例如,当边缘设备430接收到待预测数据440之后,将整数型模型参数加载至第二存储空间中,并将整数型模型参数调整为浮点型模型参数,以便得到第四目标模型432。第四目标模型432中的浮点型模型参数例如也暂时存储于第二存储空间中,第二存储空间例如为内存。接下来,边缘设备430利用第四目标模型432对待预测数据440进行预测处理,得到预测结果450。
图5示意性示出了根据本公开一实施例的针对目标模型的数据处理装置的框图。
如图5所示,本公开实施例的针对目标模型的数据处理装置500例如包括获取模块510、划分模块520以及第一调整模块530。
获取模块510可以用于获取目标模型,其中,目标模型包括至少一个网络层,至少一个网络层中的每个网络层包括多个模型参数。根据本公开实施例,获取模块510例如可以执行上文参考图2描述的操作S210,在此不再赘述。
划分模块520可以用于针对至少一个网络层中的目标网络层,将目标网络层的多个模型参数划分为多个分组。根据本公开实施例,划分模块520例如可以执行上文参考图2描述的操作S220,在此不再赘述。
第一调整模块530可以用于分别将多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。根据本公开实施例,第一调整模块530例如可以执行上文参考图2描述的操作S230,在此不再赘述。
根据本公开的实施例,第一调整模块530包括:确定子模块和调整子模块。确定子模块,用于确定多个分组中每个分组的调整比例,得到多个调整比例;调整子模块,用于基于多个调整比例,分别将多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
根据本公开的实施例,确定子模块包括:确定单元和计算单元。确定单元,用于从每个分组包含的模型参数中确定目标模型参数;计算单元,用于基于目标模型参数和与每个分组对应的预设数据长度,计算针对每个分组的调整比例。
根据本公开的实施例,目标模型参数为每个分组包含的模型参数中绝对值最大的模型参数。
根据本公开的实施例,基于调整子模块还用于:将每个分组的第一数据类型的模型参数除以与每个分组对应的调整比例,得到第二数据类型的模型参数。
根据本公开的实施例,第一数据类型包括浮点类型,第二数据类型包括整数类型。
根据本公开的实施例,目标网络层的多个模型参数包括多个通道的模型参数;划分模块520还用于:针对多个通道中的每个通道,将每个通道的模型参数确定为一个分组。
图6示意性示出了根据本公开另一实施例的针对目标模型的数据处理装置的框图。
如图6所示,本公开实施例的针对目标模型的数据处理装置600例如包括第一确定模块610、第二确定模块620以及第二调整模块630。
第一确定模块610可以用于从目标模型的至少一个网络层中确定目标网络层,其中,至少一个网络层中的每个网络层包括多个模型参数。根据本公开实施例,第一确定模块610例如可以执行上文参考图3描述的操作S310,在此不再赘述。
第二确定模块620可以用于确定目标网络层中的多个模型参数所属的多个分组。根据本公开实施例,第二确定模块620例如可以执行上文参考图3描述的操作S320,在此不再赘述。
第二调整模块630可以用于分别将多个分组中的模型参数的数据类型由第二数据类型调整为第一数据类型,得到处理后的目标模型。根据本公开实施例,第二调整模块630例如可以执行上文参考图3描述的操作S330,在此不再赘述。
根据本公开的实施例,第二调整模块630还用于:基于多个分组中每个分组对应的调整比例,将每个分组的模型参数的数据类型由第二数据类型调整为第一数据类型。
根据本公开的实施例,第二调整模块630还用于:将每个分组的第二数据类型的模型参数乘以与每个分组对应的调整比例,得到第一数据类型的模型参数。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
以下图7中示出的电子设备,可以是图1中所示的电子设备,也可以是图1中所示的客户端。
图7是用来实现本公开实施例的用于执行针对目标模型的数据处理的电子设备的框图。
图7示出了可以用来实施本公开实施例的示例电子设备700的示意性框图。电子设备700旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如针对目标模型的数据处理方法。例如,在一些实施例中,针对目标模型的数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的针对目标模型的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行针对目标模型的数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程针对目标模型的数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (20)
1.一种针对目标模型的数据处理方法,应用于电子设备,包括:
利用训练样本训练模型得到目标模型,其中,所述目标模型包括至少一个网络层,所述至少一个网络层中的每个网络层包括多个模型参数,所述多个模型参数的数据类型为第一数据类型;
针对所述至少一个网络层中的目标网络层,将所述目标网络层的多个模型参数划分为多个分组包括:针对所述目标网络层的多个模型参数所包括的多个通道的模型参数,将每个通道的模型参数确定为一个分组,得到与所述多个通道一一对应的多个分组;
基于与所述多个分组一一对应的多个调整比例,分别将所述多个分组的模型参数的数据类型由所述第一数据类型调整为第二数据类型,得到处理后的目标模型,其中,所述第一数据类型的模型参数占用的存储资源多于所述第二数据类型的模型参数占用的存储资源;其中,所述多个调整比例中的每个调整比例是基于目标模型参数确定的,所述目标模型参数是从与所述每个调整比例对应的分组所包含的模型参数中确定的;以及
将所述处理后的目标模型发送给边缘设备,以便于所述边缘设备在接收到待预测数据时将存储于硬盘中的所述第二数据类型的模型参数加载到内存中并调整为所述第一数据类型的模型参数。
2.根据权利要求1所述的方法,其中,所述分别将所述多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型包括:
确定所述多个分组中每个分组的调整比例,得到多个调整比例;以及
基于所述多个调整比例,分别将所述多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
3.根据权利要求2所述的方法,其中,所述确定所述多个分组中每个分组的调整比例包括:
从所述每个分组包含的模型参数中确定目标模型参数;以及
基于所述目标模型参数和与所述每个分组对应的预设数据长度,计算针对所述每个分组的调整比例。
4.根据权利要求3所述的方法,其中,所述目标模型参数为所述每个分组包含的模型参数中绝对值最大的模型参数。
5.根据权利要求2所述的方法,其中,所述基于所述多个调整比例,分别将所述多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型包括:
将所述每个分组的第一数据类型的模型参数除以与所述每个分组对应的调整比例,得到第二数据类型的模型参数。
6.根据权利要求1-5中任意一项所述的方法,其中,所述第一数据类型包括浮点类型,所述第二数据类型包括整数类型。
7.一种针对目标模型的数据处理方法,应用于边缘设备,包括:
响应于获取到来自电子设备的目标模型,将所述目标模型的模型参数存储至所述边缘设备的硬盘中,其中,所述目标模型的模型参数的数据类型为第二数据类型;
响应于接收到待预测数据,将所述目标模型从所述硬盘加载到所述边缘设备的内存中;
从所述目标模型的至少一个网络层中确定目标网络层,其中,所述至少一个网络层中的每个网络层包括多个模型参数;
确定所述目标网络层中的多个模型参数所属的多个分组,其中,所述目标网络层的多个模型参数包括多个通道的模型参数,所述多个通道与所述多个分组一一对应,每个通道的模型参数为一个分组;
基于所述多个分组中每个分组对应的调整比例,分别将所述多个分组中的模型参数的数据类型由所述第二数据类型调整为第一数据类型,得到处理后的目标模型,其中,所述处理后的目标模型的模型参数存储于所述内存中,所述第二数据类型的模型参数占用的存储资源少于所述第一数据类型的模型参数占用的存储资源;多个调整比例中的每个调整比例是基于目标模型参数确定的,所述目标模型参数是从与所述每个调整比例对应的分组所包含的模型参数中确定的;以及
利用所述处理后的目标模型对所述待预测数据进行预测,得到预测结果。
8.根据权利要求7所述的方法,其中,所述分别将所述多个分组中的模型参数的数据类型由第二数据类型调整为第一数据类型包括:
基于所述多个分组中每个分组对应的调整比例,将所述每个分组的模型参数的数据类型由第二数据类型调整为第一数据类型。
9.根据权利要求8所述的方法,其中,所述基于所述多个分组中每个分组对应的调整比例,将所述每个分组的模型参数的数据类型由第二数据类型调整为第一数据类型包括:
将所述每个分组的第二数据类型的模型参数乘以与所述每个分组对应的调整比例,得到第一数据类型的模型参数。
10.一种针对目标模型的数据处理装置,应用于电子设备,包括:
获取模块,用于利用训练样本训练模型得到目标模型,其中,所述目标模型包括至少一个网络层,所述至少一个网络层中的每个网络层包括多个模型参数,所述多个模型参数的数据类型为第一数据类型;
划分模块,用于针对所述至少一个网络层中的目标网络层,将所述目标网络层的多个模型参数划分为多个分组包括:针对所述目标网络层的多个模型参数所包括的多个通道的模型参数,将每个通道的模型参数确定为一个分组,得到与所述多个通道一一对应的多个分组;
第一调整模块,用于基于与所述多个分组一一对应的多个调整比例,分别将所述多个分组的模型参数的数据类型由所述第一数据类型调整为第二数据类型,得到处理后的目标模型,其中,所述第一数据类型的模型参数占用的存储资源多于所述第二数据类型的模型参数占用的存储资源;所述多个调整比例中的每个调整比例是基于目标模型参数确定的,所述目标模型参数是从与所述每个调整比例对应的分组所包含的模型参数中确定的;以及
发送模块,用于将所述处理后的目标模型发送给边缘设备,以便于所述边缘设备在接收到待预测数据时将存储于硬盘中的所述第二数据类型的模型参数加载到内存中并调整为所述第一数据类型的模型参数。
11.根据权利要求10所述的装置,其中,所述第一调整模块包括:
确定子模块,用于确定所述多个分组中每个分组的调整比例,得到多个调整比例;以及
调整子模块,用于基于所述多个调整比例,分别将所述多个分组的模型参数的数据类型由第一数据类型调整为第二数据类型,得到处理后的目标模型。
12.根据权利要求11所述的装置,其中,所述确定子模块包括:
确定单元,用于从所述每个分组包含的模型参数中确定目标模型参数;以及
计算单元,用于基于所述目标模型参数和与所述每个分组对应的预设数据长度,计算针对所述每个分组的调整比例。
13.根据权利要求12所述的装置,其中,所述目标模型参数为所述每个分组包含的模型参数中绝对值最大的模型参数。
14.根据权利要求11所述的装置,其中,所述基于调整子模块还用于:
将所述每个分组的第一数据类型的模型参数除以与所述每个分组对应的调整比例,得到第二数据类型的模型参数。
15.根据权利要求10-14中任意一项所述的装置,其中,所述第一数据类型包括浮点类型,所述第二数据类型包括整数类型。
16.一种针对目标模型的数据处理装置,应用于边缘设备,包括:
存储模块,用于响应于获取到来自电子设备的目标模型,将所述目标模型的模型参数存储至所述边缘设备的硬盘中,其中,所述目标模型的模型参数的数据类型为第二数据类型;
加载模块,用于响应于接收到待预测数据,将所述目标模型从所述硬盘加载到所述边缘设备的内存中;
第一确定模块,用于从所述目标模型的至少一个网络层中确定目标网络层,其中,所述至少一个网络层中的每个网络层包括多个模型参数;
第二确定模块,用于确定所述目标网络层中的多个模型参数所属的多个分组,其中,所述目标网络层的多个模型参数包括多个通道的模型参数,所述多个通道与所述多个分组一一对应,每个通道的模型参数为一个分组;
第二调整模块,用于基于所述多个分组中每个分组对应的调整比例,分别将所述多个分组中的模型参数的数据类型由所述第二数据类型调整为第一数据类型,得到处理后的目标模型,其中,所述处理后的目标模型的模型参数存储于所述内存中,所述第二数据类型的模型参数占用的存储资源少于所述第一数据类型的模型参数占用的存储资源;多个调整比例中的每个调整比例是基于目标模型参数确定的,所述目标模型参数是从与所述每个调整比例对应的分组所包含的模型参数中确定的;以及
预测模块,用于利用所述处理后的目标模型对所述待预测数据进行预测,得到预测结果。
17.根据权利要求16所述的装置,其中,所述第二调整模块还用于:
基于所述多个分组中每个分组对应的调整比例,将所述每个分组的模型参数的数据类型由第二数据类型调整为第一数据类型。
18.根据权利要求17所述的装置,其中,所述第二调整模块还用于:
将所述每个分组的第二数据类型的模型参数乘以与所述每个分组对应的调整比例,得到第一数据类型的模型参数。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111058702.1A CN113762510B (zh) | 2021-09-09 | 2021-09-09 | 针对目标模型的数据处理方法、装置、电子设备和介质 |
US17/939,697 US20230009941A1 (en) | 2021-09-09 | 2022-09-07 | Method of processing data for target model, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111058702.1A CN113762510B (zh) | 2021-09-09 | 2021-09-09 | 针对目标模型的数据处理方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762510A CN113762510A (zh) | 2021-12-07 |
CN113762510B true CN113762510B (zh) | 2022-12-09 |
Family
ID=78794526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111058702.1A Active CN113762510B (zh) | 2021-09-09 | 2021-09-09 | 针对目标模型的数据处理方法、装置、电子设备和介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230009941A1 (zh) |
CN (1) | CN113762510B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229646A (zh) * | 2017-08-08 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型压缩方法、装置、存储介质和电子设备 |
CN110874635B (zh) * | 2018-08-31 | 2023-06-30 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络模型压缩方法及装置 |
US10558738B1 (en) * | 2019-03-15 | 2020-02-11 | Amazon Technologies, Inc. | Compression of machine learned models |
CN111898484A (zh) * | 2020-07-14 | 2020-11-06 | 华中科技大学 | 生成模型的方法、装置、可读存储介质及电子设备 |
-
2021
- 2021-09-09 CN CN202111058702.1A patent/CN113762510B/zh active Active
-
2022
- 2022-09-07 US US17/939,697 patent/US20230009941A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN113762510A (zh) | 2021-12-07 |
US20230009941A1 (en) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114329201A (zh) | 深度学习模型的训练方法、内容推荐方法和装置 | |
CN115378859B (zh) | 用于确定极限状态信息的方法、装置、设备、介质和产品 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
CN112508768B (zh) | 单算子多模型流水线推理方法、系统、电子设备及介质 | |
CN112560996A (zh) | 用户画像识别模型训练方法、设备、可读存储介质及产品 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN112488060A (zh) | 目标检测方法、装置、设备、介质和程序产品 | |
CN114819084A (zh) | 模型推理方法、装置、设备及存储介质 | |
CN113205189A (zh) | 训练预测模型的方法、预测方法及装置 | |
CN112817660A (zh) | 扩展小程序能力的方法、装置、设备以及存储介质 | |
CN113762510B (zh) | 针对目标模型的数据处理方法、装置、电子设备和介质 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
CN115438007A (zh) | 一种文件合并方法、装置、电子设备及介质 | |
CN114817845A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115567602A (zh) | Cdn节点回源方法、设备及计算机可读存储介质 | |
CN114265692A (zh) | 服务调度方法、装置、设备以及存储介质 | |
CN112632384A (zh) | 针对应用程序的数据处理方法、装置、电子设备和介质 | |
CN113905040A (zh) | 文件传输方法、装置、系统、设备以及存储介质 | |
CN114021642A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113961797A (zh) | 资源推荐方法、装置、电子设备和可读存储介质 | |
CN113656689A (zh) | 模型生成方法和网络信息的推送方法 | |
CN113361621A (zh) | 用于训练模型的方法和装置 | |
CN113220555B (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN113360770B (zh) | 内容推荐的方法、装置、设备以及存储介质 | |
CN115860077B (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 |