CN114339252B - 一种数据压缩方法及装置 - Google Patents
一种数据压缩方法及装置 Download PDFInfo
- Publication number
- CN114339252B CN114339252B CN202111677416.3A CN202111677416A CN114339252B CN 114339252 B CN114339252 B CN 114339252B CN 202111677416 A CN202111677416 A CN 202111677416A CN 114339252 B CN114339252 B CN 114339252B
- Authority
- CN
- China
- Prior art keywords
- gradient
- parameter
- parameters
- target
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013144 data compression Methods 0.000 title claims abstract description 18
- 238000007906 compression Methods 0.000 claims abstract description 62
- 230000006835 compression Effects 0.000 claims abstract description 62
- 238000013139 quantization Methods 0.000 claims abstract description 31
- 239000011159 matrix material Substances 0.000 claims description 62
- 230000014759 maintenance of location Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000004220 aggregation Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据压缩方法及装置。本申请中通过对待发送的目标全局模型的目标梯度参数进行稀疏化得到待发送梯度参数,以提高传输模型过程中的待传输模型数据的压缩率;以及,本申请权衡压缩率和准确率,通过对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,可以得到较为精确的压缩梯度参数,从而降低对模型的梯度参数进行压缩所导致的对模型准确率的影响。这样,本申请所提供的方法可以保证在客户端与服务器传输模型的过程中不仅可以降低数据的通信量,还可以降低模型精确度的损失。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种数据压缩方法及装置。
背景技术
近年来,基于深度神经网络的推荐系统有着很好的应用前景,与传统的推荐系统相比,基于深度神经网络的推荐系统能够从文本、图像、声音等不同的信息学习更多的特征,从而给出更精确的推荐结果。但随着互联网的发展,互联网用户急剧增多,使得推荐系统面临着服务器资源的难题。再加上近年来,国家和个人对隐私数据的重视程度不断上升,使得企业不能直接获取用户的个人数据用以训练推荐系统,也给推荐系统的训练带来难题。
目前,采用联邦学习的方式将模型训练的环节转移到客户端侧,客户端可以使用本地的数据进行模型训练,再将训练好的梯度上传至服务器。一方面,用户客户端的数据不需要离开本地的设备,保证了隐私数据的安全。另一方面,模型由客户端训练,也解决了服务器资源不足的难题。但由于用户小型设备的带宽限制,如何在客户端与服务器传输模型的过程中能够提高数据的传输速度且不损失模型的精确度成为了联邦学习推荐系统的瓶颈问题。
发明内容
有鉴于此,本申请实施例提供了一种数据压缩方法、装置、计算机设备及计算机可读存储介质,以解决如何在客户端与服务器传输模型的过程中能够提高数据的传输速度且不损失模型的精确度的问题。
本申请实施例的第一方面,提供了一种数据压缩方法,所述方法应用于客户端,所述方法包括:
获取目标全局模型;
根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;
根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;
对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。
可选的,所述获取目标全局模型,包括:
获取服务器发送的全局梯度;
根据所述全局梯度,确定所述全局梯度对应的目标模型;
利用所述客户端的本地训练数据对所述目标模型进行训练,得到所述目标全局模型。
可选的,所述根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数,包括:
根据所述目标梯度参数和预设的阈值参数量,确定梯度参数阈值;
根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵;
根据所述待发送矩阵和所述目标梯度参数,确定待发送梯度参数。
可选的,所述根据所述目标梯度参数和预设的阈值参数量,确定梯度参数阈值,包括:
获取历史保留梯度参数;
根据所述历史保留梯度参数和所述目标梯度参数的参数量,以及,所述预设的阈值参数量,确定梯度参数阈值;
可选的,在所述根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵的步骤之后,所述方法还包括:
根据所述待发送矩阵,确定保留矩阵;
根据所述保留矩阵和所述目标梯度参数,确定保留梯度参数,并将所述保留梯度参数作为当前的历史保留梯度参数。
可选的,所述对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,包括:
根据所述待发送梯度参数中的所有梯度参数,确定所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值;
对所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,得到所述目标全局模型对应的压缩梯度参数。
可选的,所述方法还包括:
将所述目标全局模型对应的压缩梯度参数向服务器发送,以便所述服务器根据多个客户端发送的压缩梯度参数进行平均聚合,得到全局梯度更新模型,以及向所述客户端返回所述全局梯度更新模型。
本申请实施例的第二方面,提供了一种数据压缩装置,所述装置应用于客户端,所述装置包括:
模型获取单元,用于获取目标全局模型;
第一确定单元,用于根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;
第二确定单元,用于根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;
参数量化单元,用于对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。
可选的,所述模型获取单元,用于:
获取服务器发送的全局梯度;
根据所述全局梯度,确定所述全局梯度对应的目标模型;
利用所述客户端的本地训练数据对所述目标模型进行训练,得到所述目标全局模型。
可选的,所述第二确定单元,用于:
根据所述目标梯度参数和预设的阈值参数量,确定梯度参数阈值;
根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵;
根据所述待发送矩阵和所述目标梯度参数,确定待发送梯度参数。
可选的,所述第二确定单元,用于:
获取历史保留梯度参数;
根据所述历史保留梯度参数和所述目标梯度参数的参数量,以及,所述预设的阈值参数量,确定梯度参数阈值;
可选的,所述装置还包括梯度保留单元,用于:
根据所述待发送矩阵,确定保留矩阵;
根据所述保留矩阵和所述目标梯度参数,确定保留梯度参数,并将所述保留梯度参数作为当前的历史保留梯度参数。
可选的,所述参数量化单元,用于:
根据所述待发送梯度参数中的所有梯度参数,确定所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值;
对所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,得到所述目标全局模型对应的压缩梯度参数。
可选的,所述装置还包括发送单元,用于:
将所述目标全局模型对应的压缩梯度参数向服务器发送,以便所述服务器根据多个客户端发送的压缩梯度参数进行平均聚合,得到全局梯度更新模型,以及向所述客户端返回所述全局梯度更新模型。
本申请实施例的第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并且可以在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请与现有技术相比存在的有益效果是:本申请所提供的方法应用于客户端,所述方法包括:获取目标全局模型;根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。可见,在本申请中通过对待发送的目标全局模型的目标梯度参数进行稀疏化得到待发送梯度参数,以提高传输模型过程中的待传输模型数据的压缩率;以及,本申请权衡压缩率和准确率,通过对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,可以得到较为精确的压缩梯度参数,从而降低对模型的梯度参数进行压缩所导致的对模型准确率的影响。这样,本申请所提供的方法可以保证在客户端与服务器传输模型的过程中不仅可以降低数据的通信量,还可以降低模型精确度的损失。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例的应用场景的场景示意图;
图2是本申请实施例提供的数据压缩方法的流程图;
图3是本申请实施例提供的数据压缩装置的框图;
图4是本申请实施例提供的计算机设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面将结合附图详细说明根据本申请实施例的一种数据压缩方法和装置。
在现有技术中,由于目前采用联邦学习的方式将模型训练的环节转移到客户端侧,客户端可以使用本地的数据进行模型训练,再将训练好的梯度上传至服务器。一方面,用户客户端的数据不需要离开本地的设备,保证了隐私数据的安全。另一方面,模型由客户端训练,也解决了服务器资源不足的难题。但由于用户小型设备的带宽限制,如何在客户端与服务器传输模型的过程中能够提高数据的传输速度且不损失模型的精确度成为了联邦学习推荐系统的瓶颈问题。故此,亟需一种新的数据压缩方法。
为了解决上述问题。本发明提供了一种数据压缩方法,所述方法可以应用于客户端,所述方法包括:获取目标全局模型;根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。可见,在本申请中通过对待发送的目标全局模型的目标梯度参数进行稀疏化得到待发送梯度参数,以提高传输模型过程中的待传输模型数据的压缩率;以及,本申请权衡压缩率和准确率,通过对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,可以得到较为精确的压缩梯度参数,从而降低对模型的梯度参数进行压缩所导致的对模型准确率的影响。这样,本申请所提供的方法可以保证在客户端与服务器传输模型的过程中不仅可以降低数据的通信量,还可以降低模型精确度的损失。
举例说明,本发明实施例可以应用到如图1所示的应用场景。在该场景中,可以包括终端设备1和数据处理设备2,其中,在一种实现方式中,终端设备1可以为支持数据处理的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等,数据处理设备2可以为服务器。
具体地,在图1所示的应用场景中,终端设备1可以先获取目标全局模型。然后,终端设备1可以根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数。接着,终端设备1可以根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量。紧接着,终端设备1可以对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。最后,终端设备1可以将目标全局模型对应的压缩梯度参数向数据处理设备2发送,这样,便完成了联邦学习的方式。可见,在本申请中通过对待发送的目标全局模型的目标梯度参数进行稀疏化得到待发送梯度参数,以提高传输模型过程中的待传输模型数据的压缩率;以及,本申请权衡压缩率和准确率,通过对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,可以得到较为精确的压缩梯度参数,从而降低对模型的梯度参数进行压缩所导致的对模型准确率的影响。这样,本申请所提供的方法可以保证在客户端与服务器传输模型的过程中不仅可以降低数据的通信量,还可以降低模型精确度的损失。
需要说明的是,终端设备1和数据处理设备2的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本申请实施例对此不作限制。
需要注意的是,上述应用场景仅是为了便于理解本申请而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
图2是本申请实施例提供的一种数据压缩方法的流程图。图2的一种数据压缩方法可以由图1的终端设备1执行,其中,终端设备1可以为一客户端。
如图2所示,该数据压缩方法包括:
S 201:客户端获取目标全局模型。
在本实施例中,目标全局模型可以为客户端利用本地数据对待更新的模型进行训练得到的。例如,假设待更新的模型为视频推荐模型,则可以利用本地的历史视频播放记录数据对待更新的模型进行训练得到目标全局模型;假设待更新的模型为应用程序推荐模型,则可以利用本地的应用程序历史使用记录数据对待更新的模型进行训练得到目标全局模型。
具体地,在本实施例的一种实现方式中,客户端可以先获取服务器发送的全局梯度。然后,客户端根据所述全局梯度,确定所述全局梯度对应的目标模型,即根据所述全局梯度,对本地的模型进行更新,得到所述全局梯度对应的目标模型。接着,客户端可以利用所述客户端的本地训练数据对所述目标模型进行训练,得到所述目标全局模型。具体地,客户端可以先获取目标模型的类型,接着,可以根据目标模型的类型,调用该类型对应的本地训练数据对目标模型进行训练,得到所述目标全局模型。比如,目标模型的类型为视频推荐,客户端可以先调用视频推荐对应的本地历史视频播放记录数据,并利用本地历史视频播放记录数据对待更新的模型进行训练得到目标全局模型。
S202:客户端根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数。
客户端在获取到目标全局模型后,可以确定目标全局模型对应的目标梯度参数。例如,可以利用梯度下降法,计算目标全局模型对应的目标梯度参数。
S203:客户端根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数。
在本实施例中,可以先根据所述目标梯度参数和预设的阈值参数量,确定梯度参数阈值。其中,预设的阈值参数量可以理解为用于表示需要向服务器发送的数据中梯度参数的数量的一个预设参数。在一种实现方式中,可以先获取历史保留梯度参数,其中,历史保留梯度参数可以理解为上一次客户端向服务器发送压缩梯度参数后所剩下的未发送梯度参数。然后,可以根据所述历史保留梯度参数和所述目标梯度参数的参数量(即历史保留梯度参数中的梯度参数和目标梯度参数中的梯度参数的数量总和),以及,所述预设的阈值参数量,确定梯度参数阈值,具体地,可以先计算所述历史保留梯度参数和所述目标梯度参数的参数量与所述预设的阈值参数量的积,接着,将目标梯度参数中的排序与该积对应的梯度参数作为梯度参数阈值;举例来说,例如预设的阈值参数量p为0.01,而所述历史保留梯度参数和所述目标梯度参数的参数量N为100000,由于N*p=100,因此,可以根据目标梯度参数中各个梯度参数的绝对值的大小由小到大进行排序,选择前100个梯度参数,此时可以将第100个梯度参数的梯度值作为梯度参数阈值thr的大小。
在确定梯度参数阈值后,可以根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵。具体地,可以先确定目标梯度参数对应的选择矩阵,其中该矩阵中的每个参数与目标梯度参数中的每个梯度参数一一对应;针对目标梯度参数中的每一个梯度参数,若该梯度参数的绝对值大于或等于梯度参数阈值,则将选择矩阵中与该梯度参数对应的参数设置为1,若该梯度参数的绝对值小于梯度参数阈值,则将选择矩阵中与该梯度参数对应的参数设置为0;这样,便可以将目标梯度参数中的每一个梯度参数与梯度参数阈值比对结束后所得到的选择矩阵作为待发送矩阵。例如,可以利用下列公式(1)确定待发送矩阵:
其中,Mask指的是一个待发送矩阵,里面只包含0和1,选择矩阵的大小与目标梯度参数的大小一一对应,当待发送矩阵中的某个位置的值为1,表示该位置对应的梯度参数被选择作为待发送的梯度参数,当待发送矩阵中的某个位置的值为0,表示该位置对应的梯度参数被舍弃(即不作为待发送的梯度参数);abs()是一个取绝对值函数,即将w[i]的值取绝对值;W指的是目标梯度参数,w[i]指的是目标梯度参数中位置为i的梯度参数;Mask[i]是指待发送矩阵中位置为i的参数。
在确定待发送梯度参数后,可以根据所述待发送矩阵和所述目标梯度参数,确定待发送梯度参数。在一种实现方式中,可以将所述待发送矩阵和所述目标梯度参数进行哈达玛积运算,得到待发送梯度参数,其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量,从而实现了将目标梯度参数进行稀疏化,以提高传输模型过程中的待传输模型数据的压缩率。例如,可以通过公式(2)将待发送矩阵Mask和目标梯度w参数进行哈达玛积得到待发送梯度参数
在一种实现方式中,在所述根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵的步骤之后,所述方法还包括:
根据所述待发送矩阵,确定保留矩阵;
根据所述保留矩阵和所述目标梯度参数,确定保留梯度参数,并将所述保留梯度参数作为当前的历史保留梯度参数。
在确定待发送矩阵后,可以根据所述待发送矩阵,确定保留矩阵,例如,可以将待发送矩阵中的全部参数全部进行按位取反处理,即将待发送矩阵中的0替换为1,将待发送矩阵中的1替换为0。也就是说,可以将待发送矩阵Mask按位取反可以得到保留矩阵
然后,可以根据所述保留矩阵和所述目标梯度参数,确定保留梯度参数。在一种实现方式中,可以将所述保留矩阵和所述目标梯度参数进行哈达玛积运算,得到保留梯度参数。例如,可以通过公式(3)将保留矩阵和目标梯度w参数进行哈达玛积得到保留梯度参数/>
这样,便可以将保留梯度参数作为当前的历史保留梯度参数进行存储,以便下次对梯度参数进行压缩时使用。
S204:客户端对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。
在本实施例中,客户端获取到待发送梯度参数后,为了降低对模型的梯度参数进行压缩所导致的对模型准确率的影响,在本实施例中,客户端可以对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,这样,可以权衡压缩率和准确率,通过对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,可以得到较为精确的压缩梯度参数,从而降低对模型的梯度参数进行压缩所导致的对模型准确率的影响。其中,准确率指的是:客户端的数据会分成训练集和测试集,使用训练集训练模型,将训练的模型预测测试集得到的预测结果与测试机中的真实结果进行对比(得到的结果是否正确),从而得到模型对于测试集的准确率。
作为一种示例,可以先根据所述待发送梯度参数中的所有梯度参数,确定所述待发送梯度参数的梯度参数均值(例如正梯度参数均值、负梯度参数均值)、梯度参数最大值(例如正梯度参数最大值、负梯度参数最大值)和梯度参数最小值(例如正梯度参数最小值、负梯度参数最小值)。需要说明的是,待发送梯度参数的梯度参数均值是对待发送梯度参数中的全部梯度参数取绝对值,再计算全部梯度参数的绝对值的均值。
接着,可以对所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,得到所述目标全局模型对应的压缩梯度参数。需要说明的是,本实施例权衡了压缩率和准确率,使用3bit量化,对比其他量化方案(如1bit量化),可以得到较为精确的梯度,从而降低对模型准确率的影响。具体地,可以将待发送梯度参数中的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,并用一个与/>同样大小但每位数据占3bit的Sign矩阵表示。其中,表1展示了Sign矩阵中不同编码对应的具体含义。
表1
如表1所示,Sign矩阵不仅能够保存权值中的最值信息以及对应的关系和符号等细节信息,还具有校验的功能。当服务器发现客户端发送来的压缩信息(即压缩梯度参数)在解码后得到的sign矩阵中存在000或010时,会立即丢弃所接收到的压缩信息,并要求客户端重新发送。
需要说明的是,由于神经网络参数量大,而客户端设备内存有限,因此在训练全局梯度更新模型时先用神经连接剪枝算法对全局梯度更新模型进行压缩,再使用图2对应的方法实施例进行压缩。
可见,本申请与现有技术相比存在的有益效果是:本申请所提供的方法应用于客户端,所述方法包括:获取目标全局模型;根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。可见,在本申请中通过对待发送的目标全局模型的目标梯度参数进行稀疏化得到待发送梯度参数,以提高传输模型过程中的待传输模型数据的压缩率;以及,本申请权衡压缩率和准确率,通过对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数,可以得到较为精确的压缩梯度参数,从而降低对模型的梯度参数进行压缩所导致的对模型准确率的影响。这样,本申请所提供的方法可以保证在客户端与服务器传输模型的过程中不仅可以降低数据的通信量,还可以降低模型精确度的损失。
在本实施例的一种实现方式中,所述方法还包括:
客户端将所述目标全局模型对应的压缩梯度参数向服务器发送,以便所述服务器根据多个客户端发送的压缩梯度参数进行平均聚合,得到全局梯度更新模型,以及向所述客户端返回所述全局梯度更新模型。作为一种示例,各个客户端完成梯度压缩得到目标全局模型对应的压缩梯度参数后,可以将目标全局模型对应的压缩梯度参数向服务器发送,服务器可以将收到的多个客户端的梯度进行平均聚合,得到全局梯度(即全局梯度更新模型),接着,服务器可以随机挑选一部分客户端,将全局梯度下发到选择的客户端。
可以理解的,在一种实现方式中,S201中的目标全局模型是服务器根据多个客户端发送的压缩梯度参数进行平均聚合所得到的。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3是本申请实施例提供的数据压缩装置的示意图。如图3所示,所述装置应用于客户端,所述装置包括:
模型获取单元301,用于获取目标全局模型;
第一确定单元302,用于根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;
第二确定单元303,用于根据所述目标梯度参数和预设的阈值参数量,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;
参数量化单元304,用于对所述待发送梯度参数进行量化处理,得到所述目标全局模型对应的压缩梯度参数。
可选的,所述模型获取单元301,用于:
获取服务器发送的全局梯度;
根据所述全局梯度,确定所述全局梯度对应的目标模型;
利用所述客户端的本地训练数据对所述目标模型进行训练,得到所述目标全局模型。
可选的,所述第二确定单元303,用于:
根据所述目标梯度参数和预设的阈值参数量,确定梯度参数阈值;
根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵;
根据所述待发送矩阵和所述目标梯度参数,确定待发送梯度参数。
可选的,所述第二确定单元303,用于:
获取历史保留梯度参数;
根据所述历史保留梯度参数和所述目标梯度参数的参数量,以及,所述预设的阈值参数量,确定梯度参数阈值;
可选的,所述装置还包括梯度保留单元,用于:
根据所述待发送矩阵,确定保留矩阵;
根据所述保留矩阵和所述目标梯度参数,确定保留梯度参数,并将所述保留梯度参数作为当前的历史保留梯度参数。
可选的,所述参数量化单元304,用于:
根据所述待发送梯度参数中的所有梯度参数,确定所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值;
对所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,得到所述目标全局模型对应的压缩梯度参数。
可选的,所述装置还包括发送单元,用于:
将所述目标全局模型对应的压缩梯度参数向服务器发送,以便所述服务器根据多个客户端发送的压缩梯度参数进行平均聚合,得到全局梯度更新模型,以及向所述客户端返回所述全局梯度更新模型。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4是本申请实施例提供的计算机设备4的示意图。如图4所示,该实施例的计算机设备4包括:处理器401、存储器402以及存储在该存储器402中并且可以在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/模块的功能。
示例性地,计算机程序403可以被分割成一个或多个模块/模块,一个或多个模块/模块被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在计算机设备4中的执行过程。
计算机设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算机设备。计算机设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是计算机设备4的示例,并不构成对计算机设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,计算机设备还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理模块(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402可以是计算机设备4的内部存储模块,例如,计算机设备4的硬盘或内存。存储器402也可以是计算机设备4的外部存储设备,例如,计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器402还可以既包括计算机设备4的内部存储模块也包括外部存储设备。存储器402用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块、模块完成,即将装置的内部结构划分成不同的功能模块或模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块、模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中模块、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块/模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (6)
1.一种数据压缩方法,其特征在于,所述方法应用于客户端,所述方法包括:
获取目标全局模型;
根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;
获取历史保留梯度参数;
根据所述历史保留梯度参数、所述目标梯度参数的参数量以及预设的阈值参数量,确定梯度参数阈值;
根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵,以及,对所述待发送矩阵中所有梯度参数进行按位取反处理,得到保留矩阵;对所述保留矩阵和所述目标梯度参数进行哈达玛积运算,得到保留梯度参数,并将所述保留梯度参数作为当前的历史保留梯度参数;
根据所述待发送矩阵和所述目标梯度参数,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;
根据所述待发送梯度参数中的所有梯度参数,确定所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值;
对所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,得到所述目标全局模型对应的压缩梯度参数;其中,所述压缩梯度参数包括最值信息与编码信息的对应关系,具有校验的功能。
2.根据权利要求1所述的方法,其特征在于,所述获取目标全局模型,包括:
获取服务器发送的全局梯度;
根据所述全局梯度,确定所述全局梯度对应的目标模型;
利用所述客户端的本地训练数据对所述目标模型进行训练,得到所述目标全局模型。
3.根据权利要求1至2中任一所述的方法,其特征在于,所述方法还包括:
将所述目标全局模型对应的压缩梯度参数向服务器发送,以便所述服务器根据多个客户端发送的压缩梯度参数进行平均聚合,得到全局梯度更新模型,以及向所述客户端返回所述全局梯度更新模型。
4.一种数据压缩装置,其特征在于,所述装置应用于客户端,所述装置包括:
模型获取单元,用于获取目标全局模型;
第一确定单元,用于根据所述目标全局模型,确定所述目标全局模型对应的目标梯度参数;
第二确定单元,用于获取历史保留梯度参数;
根据所述历史保留梯度参数、所述目标梯度参数的参数量以及预设的阈值参数量,确定梯度参数阈值;
根据所述梯度参数阈值和所述目标梯度参数,确定待发送矩阵,以及,对所述待发送矩阵中所有梯度参数进行按位取反处理,得到保留矩阵;对所述保留矩阵和所述目标梯度参数进行哈达玛积运算,得到保留梯度参数,并将所述保留梯度参数作为当前的历史保留梯度参数;
根据所述待发送矩阵和所述目标梯度参数,确定待发送梯度参数;其中,所述待发送梯度参数的参数数量少于所述目标梯度参数的参数数量;
参数量化单元,用于根据所述待发送梯度参数中的所有梯度参数,确定所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值;对所述待发送梯度参数的梯度参数均值、梯度参数最大值和梯度参数最小值进行3-bit量化处理,得到所述目标全局模型对应的压缩梯度参数;其中,所述压缩梯度参数包括最值信息与编码信息的对应关系,具有校验的功能。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111677416.3A CN114339252B (zh) | 2021-12-31 | 2021-12-31 | 一种数据压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111677416.3A CN114339252B (zh) | 2021-12-31 | 2021-12-31 | 一种数据压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114339252A CN114339252A (zh) | 2022-04-12 |
CN114339252B true CN114339252B (zh) | 2023-10-31 |
Family
ID=81022600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111677416.3A Active CN114339252B (zh) | 2021-12-31 | 2021-12-31 | 一种数据压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339252B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115278709B (zh) * | 2022-07-29 | 2024-04-26 | 南京理工大学 | 一种基于联邦学习的通信优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111553483A (zh) * | 2020-04-30 | 2020-08-18 | 同盾控股有限公司 | 基于梯度压缩的联邦学习的方法、装置及系统 |
CN112257774A (zh) * | 2020-10-20 | 2021-01-22 | 平安科技(深圳)有限公司 | 基于联邦学习的目标检测方法、装置、设备及存储介质 |
CN112449009A (zh) * | 2020-11-12 | 2021-03-05 | 深圳大学 | 一种基于svd的联邦学习推荐系统通信压缩方法及装置 |
WO2021179720A1 (zh) * | 2020-10-12 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于联邦学习的用户数据分类方法、装置、设备及介质 |
WO2021204040A1 (zh) * | 2020-10-29 | 2021-10-14 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049321B (zh) * | 2018-01-16 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111677416.3A patent/CN114339252B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111553483A (zh) * | 2020-04-30 | 2020-08-18 | 同盾控股有限公司 | 基于梯度压缩的联邦学习的方法、装置及系统 |
WO2021179720A1 (zh) * | 2020-10-12 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于联邦学习的用户数据分类方法、装置、设备及介质 |
CN112257774A (zh) * | 2020-10-20 | 2021-01-22 | 平安科技(深圳)有限公司 | 基于联邦学习的目标检测方法、装置、设备及存储介质 |
WO2021204040A1 (zh) * | 2020-10-29 | 2021-10-14 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、设备及存储介质 |
CN112449009A (zh) * | 2020-11-12 | 2021-03-05 | 深圳大学 | 一种基于svd的联邦学习推荐系统通信压缩方法及装置 |
Non-Patent Citations (1)
Title |
---|
董业,等.基于秘密分享和梯度选择的高效安全联邦学习.计算机研究与发展.2020,第57卷(第10期),第2241-2250页. * |
Also Published As
Publication number | Publication date |
---|---|
CN114339252A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950723B (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
US6895410B2 (en) | Method and apparatus for providing a multimedia data stream | |
US20180204562A1 (en) | Method and device for image recognition | |
WO2021135715A1 (zh) | 一种图像压缩方法及装置 | |
CN107908998B (zh) | 二维码解码方法、装置、终端设备及计算机可读存储介质 | |
CN114339252B (zh) | 一种数据压缩方法及装置 | |
CN114492854A (zh) | 训练模型的方法、装置、电子设备以及存储介质 | |
CN113011210B (zh) | 视频处理方法和装置 | |
CN114333862B (zh) | 音频编码方法、解码方法、装置、设备、存储介质及产品 | |
CN115205736A (zh) | 视频数据的识别方法和装置、电子设备和存储介质 | |
CN110113660A (zh) | 一种转码时长估计的方法、装置、终端和存储介质 | |
CN110430424A (zh) | Fov的测试方法、装置、存储介质及电子设备 | |
CN116108810A (zh) | 文本数据增强方法及装置 | |
CN115205089A (zh) | 图像加密方法、网络模型的训练方法、装置及电子设备 | |
CN110996128B (zh) | 在线教学视频推送管理系统 | |
CN114548421A (zh) | 一种针对联邦学习通信开销的优化处理方法及装置 | |
CN113033373A (zh) | 用于训练人脸识别模型及识别人脸的方法及相关装置 | |
CN114710692B (zh) | 多媒体文件处理方法和装置 | |
CN111405293A (zh) | 一种视频传输方法及装置 | |
US20240152755A1 (en) | Machine Learning | |
CN113965750B (zh) | 一种图像编码方法、存储介质及终端设备 | |
WO2022205893A1 (zh) | 图像特征的传输方法、装置和系统 | |
CN110366004B (zh) | 一种二次成像混合帧信息解析方法及系统 | |
CN116962821A (zh) | 视频内容的处理方法和装置、存储介质及电子设备 | |
CN113935830A (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 |