联邦学习模型压缩方法、用户端、服务器及系统与流程
未命名
08-22
阅读:95
评论:0

1.本技术实施例涉及通信技术领域,尤其涉及一种联邦学习模型压缩方法、用户端、服务器及系统。
背景技术:
2.随着数字科技的飞速发展,用户使用的视频播放器、音频播放器、阅读器、社交软件等应用多种多样,在各类应用的使用过程中,多种类型的数据亟待上传或下载。
3.联邦学习是一种数据分布在不同实体下的学习方式,客户端利用本地数据训练出本地模型,之后将本地模型的模型参数传输到中央服务器,由中央服务器对所有客户端的本地模型参数进行聚合处理,并将更新的模型参数下发给客户端,以使各客户端使用更新的模型参数进行本地模型的训练。由于客户端和中央服务器的存储资源有限,并且大量客户端参与联邦学习,其网络连接速度不稳定,因而导致本地模型无法完整的被发送到中央服务器进行全局聚合,因此,通过对传输的本地模型进行压缩处理,以提高客户端与中央服务器之间的通信效率。
4.然而,各类应用的数据类型、数据大小以及对数据处理的需求均有所差异,现有技术中,对客户端运行的所有应用模型通常采用同一压缩方式,其模型压缩的效果并不理想,精确度相对较低,从而影响用户的体验感。
技术实现要素:
5.本技术实施例提供了一种联邦学习模型压缩方法、用户端、服务器及系统,以至少解决现有技术中,对客户端运行的所有应用模型采用同一压缩方式,其模型压缩的效果并不理想,精确度相对较低的问题。
6.为了解决上述技术问题,本技术是这样实现的:
7.第一方面,本技术实施例提供了一种联邦学习模型压缩方法,应用于用户端,包括:
8.获取至少一个目标应用对应的本地模型;
9.基于所述目标应用的性能指标,确定所述本地模型的压缩策略;
10.基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;
11.将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数;
12.基于所述全局模型参数,更新所述本地模型。
13.在一种可能的实施方式中,所述获取至少一个目标应用对应的本地模型,包括:
14.获取至少一个目标应用的本地数据集;
15.基于所述本地数据集训练预设的初始化模型,得到所述目标应用对应的本地模型。
16.在一种可能的实施方式中,所述性能指标至少包括以下之一:用于表征实时性的性能指标、用于表征精确度的性能指标、用于表征容错率的性能指标。
17.在一种可能的实施方式中,所述基于所述目标应用的性能指标,确定所述本地模型的压缩策略,包括:
18.获取预设的多个压缩策略;
19.基于所述目标应用的性能指标,选取多个所述压缩策略中的一个作为本地模型的压缩策略。
20.第二方面,本技术实施例提供了一种机器学习模型压缩方法,应用于服务器,包括:
21.获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;
22.基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;
23.将所述全局模型参数下发至所述用户端。
24.在一种可能的实施方式中,所述基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数,包括:
25.保留所述压缩标识与预设标识相匹配的本地压缩模型,并确定为目标压缩模型;
26.对所述目标压缩模型进行聚合处理,得到全局模型参数。
27.在一种可能的实施方式中,所述将所述全局模型参数下发至所述用户端,包括:
28.将所述全局模型参数下发至与目标压缩模型相对应的目标用户端。
29.第三方面,本技术实施例提供了一种用户端,包括:
30.第一获取模块,用于获取至少一个目标应用对应的本地模型;
31.确定模块,用于基于所述目标应用的性能指标,确定所述本地模型的压缩策略;
32.压缩模块,用于基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;
33.第一传输模块,用于将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数;
34.更新模块,用于基于所述全局模型参数,更新所述本地模型。
35.第四方面,本技术实施例提供了一种服务器,包括:
36.第二获取模块,用于获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;
37.聚合模块,用于基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;
38.第二传输模块,用于将所述全局模型参数下发至所述用户端。
39.第五方面,本技术实施例提供了一种联邦学习模型压缩系统,其特征在于,包括至少一个如第三方面所述的终端和至少一个如第四方面所述的服务器;所述终端与服务器之间相互通信连接。
40.本技术实施例提供的联邦学习模型压缩方法,用户端获取至少一个目标应用对应的本地模型;基于目标应用的性能指标,确定本地模型的压缩策略;基于压缩策略对本地模
型进行压缩处理,得到本地压缩模型和本地压缩模型对应的压缩标识;将本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取服务器下发的全局模型参数;基于全局模型参数,更新本地模型。这样,根据应用的性能指标,选取合适的压缩策略进行模型压缩,在联邦学习模型部署至众多个设备的基础上,可以降低通信成本,同时最大化联邦学习模型参数的精确度,显著提高用户的体验感。
41.并且,服务器获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;将所述全局模型参数下发至所述用户端。这样,根据压缩标识对本地压缩模型进行聚合处理,得到全局模型参数,能够满足用户对不同类别应用的性能需求,提高用户的体验感。
42.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
43.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
44.图1示出了本技术实施例提供的一种联邦学习模型压缩系统的结构示意图;
45.图2示出了本技术实施例提供的一种联邦学习模型压缩方法的流程示意图;
46.图3示出了本技术实施例提供的另一种联邦学习模型压缩方法的流程示意图;
47.图4示出了本技术实施例提供的一种用户端的结构示意图;
48.图5示出了本技术实施例提供的一种服务器的结构示意图;
49.图6示出了本技术实施例提供的电子设备的结构示意图。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
51.图1示出了本技术实施例提供的一种联邦学习模型压缩系统的结构示意图,如图中所示,该系统包括用户端101、102、103、104、105,以及服务器106和107,用户端与服务器之间相互通信连接,用户端用于向服务器发送本地压缩模型,并接收服务器下发的全局模型。
52.用户端101、102、103、104、105可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等,也可以是边缘设备;用户端安装有各种通讯应用,例如,知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
53.服务器106、107可以是提供各种服务的各种类型的服务器,例如,云服务器,分布式系统的服务器,或者是结合了区块链的服务器。
54.现有技术中,对客户端运行的所有应用模型(如网页浏览器、视频播放器等)通常采用同一压缩方式,由于各类应用的数据类型、数据大小以及对数据处理的需求均有所差
异,因此,通过现有方法进行本地模型的压缩,存在模型压缩的效果并不理想,精确度相对较低的问题。
55.基于此,本技术实施例提供了一种联邦学习模型压缩方法,根据应用的性能指标,选取合适的压缩策略进行模型压缩,在降低通信成本的同时,最大化联邦学习模型参数的精确度,提高用户的体验感。
56.图2示出了本技术实施例提供的一种联邦学习模型压缩方法的流程示意图,该方法200可以由用户端101、102、103、104、105执行,具体包括以下步骤:
57.s201:获取至少一个目标应用对应的本地模型。
58.在具体实施中,可以选择当前在用户端正处于运行状态的应用作为目标应用,目标应用与本地模型一一对应。可选地,为本地模型分配特定比特位的模型标识,模型标识用于指示本地模型对应的应用。
59.其中,目标应用包括但不限于知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等。
60.在一种可能的实施方式中,在s201中,所述获取至少一个目标应用对应的本地模型,包括:
61.获取至少一个目标应用的本地数据集;
62.基于所述本地数据集训练预设的初始化模型,得到所述目标应用对应的本地模型。
63.在具体实施中,在用户端运行的一个或多个目标应用分别提供相应的本地数据,组成本地数据集,基于本地数据集训练预设的初始化模型,得到与目标应用相对应的本地模型。这里,本地模型与目标应用一一对应。由于用户端在基于本地数据集进行的训练都是依赖本地数据的特点进行的个性化训练,因此各本地模型能够包含对应的目标应用的特点,将本地模型压缩并上传至服务器进行聚合处理,得到相应的全局模型参数,可以使本地模型的适应性更强。
64.s202:基于所述目标应用的性能指标,确定所述本地模型的压缩策略。
65.其中,所述性能指标至少包括以下之一:用于表征实时性的性能指标、用于表征精确度的性能指标、用于表征容错率的性能指标。
66.在具体实施中,本技术根据目标应用的性能指标,确定本地模型的压缩策略,例如,音频、视频数据的数据量相对较大,可以选择传输质量更高的压缩策略;即时通信工具的数据需要较高的实时性,可以选择速度较快的压缩策略。
67.在一种可能的实施方式中,所述基于所述目标应用的性能指标,确定所述本地模型的压缩策略,包括:
68.获取预设的多个压缩策略;
69.基于所述目标应用的性能指标,选取多个所述压缩策略中的一个作为本地模型的压缩策略。
70.在具体实施中,压缩策略可以包括fetchsgd,qsgd和动态剪枝。其中,fetchsgd可以实现在高压缩率下的有损压缩,其本身在压缩和解压时的随机性情况,导致该方案无法提供较快收敛性的保证,在使用该方案时,需要根据实际的模型花费大量的时间来调整哈希表的长宽结构及哈希表的最终大小,才有可能实现较高的压缩率;qsgd基于边界及量化
等级来实现一次量化,进而压缩和还原,实现快速收敛,由于所述方案采取的一次量化的算法,在高压缩率下,量化后联邦学习模型的参数和原始参数的误差过大,其精度测试效果往往较低;动态剪枝采取了剪枝与拼接相结合、训练与压缩相同步的策略完成联邦学习模型压缩,通过拼接操作的引入,避免了错误剪枝所造成的性能损失,从而逼近理论极限,部分关键参数的值在不同的模型以及不同的层中无法确定,并且容易受到稀疏矩阵算法以及带宽的限制。
71.基于目标应用的性能指标,从预设的压缩策略中选取与目标应用相匹配的压缩策略作为本地模型的压缩策略,以满足用户对应用数据的性能需求,提高用户的体验感。
72.s203:基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略。
73.在具体实施中,通过上述s202中选取的压缩策略对本地模型进行压缩处理,得到本地压缩模型和本地压缩模型对应的压缩标识。这里,每个本地模型分别对应一个本地压缩模型,各本地模型采用的压缩策略与其对应的目标应用的性能指标相适应。
74.s204:将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数。
75.在具体实施中,每个本地压缩模型能够包含其原始完整的本地模型的结构,各本地压缩模型具有固定比特位的压缩标识,用于指示对应的压缩策略,以便于服务器解压缩。服务器接收到用户端上传的本地压缩模型,根据压缩标识确定本地压缩模型采用的压缩策略,并根据其他用户端的模型数据,对本地压缩模型进行聚合处理,得到全局模型参数,将该全局模型参数下发至用户端进行新一轮的迭代训练,直到达到预设条件,完成联邦学习聚合。
76.s205:基于所述全局模型参数,更新所述本地模型。
77.在具体实施中,用户端基于获取到的全局模型参数,更新本地模型,并进行新一轮的迭代训练,将更新后的本地模型进行压缩并上传至服务器。
78.通过上述步骤,用户端根据应用的性能指标,选取合适的压缩策略进行模型压缩,在联邦学习模型部署至众多个设备的基础上,可以降低通信成本,同时最大化联邦学习模型参数的精确度,显著提高用户的体验感。
79.图3示出了本技术实施例提供的另一种联邦学习模型压缩方法的流程示意图,该方法300可以由服务器106和107执行,具体包括以下步骤:
80.s301:获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略。
81.在具体实施中,服务器获取用户端发送的本地压缩模型和本地压缩模型对应的压缩标识,根据该压缩标识可以确定本地压缩模型对应的压缩策略。
82.s302:基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数。
83.在具体实施中,可以通过设置一个服务器对具有相同类别压缩标识的本地压缩模型进行聚合处理,得到全局模型参数;也可以设置多个服务器,每个服务器仅处理其中的一种压缩标识,这样,服务器的数量与压缩标识的类别数量相等。
84.在一种可能的实施方式中,在s302中,所述基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数,包括:
85.保留所述压缩标识与预设标识相匹配的本地压缩模型,并确定为目标压缩模型;对所述目标压缩模型进行聚合处理,得到全局模型参数。
86.在具体实施中,服务器可以基于来自各用户端的本地压缩模型所对应的压缩标识,识别与预设标识相匹配的本地压缩模型,并清除其它类型压缩策略对应的本地压缩模型;也可以确定本地压缩模型是否存在与预设标识相匹配的压缩标识,若存在,则将本地压缩模型加载到存储器;若不存在,则清除其它类型压缩策略对应的本地压缩模型。
87.s303:将所述全局模型参数下发至所述用户端。
88.在具体实施中,将聚合处理后的全局模型下发至用户端。
89.在一种可能的实施方式中,在s303中,所述将所述全局模型参数下发至所述用户端,包括:将所述全局模型参数下发至与目标压缩模型相对应的目标用户端。
90.这样,根据压缩标识对本地压缩模型进行聚合处理,得到全局模型参数,能够满足用户对不同类别应用的性能需求,提高用户的体验感。
91.下面以fetchsgd、qsgd和动态剪枝为例,分别对上述方法进行进一步说明:
92.通用的字母符号及其含义包括:w表示用户端的数量,t表示总迭代次数,c表示待压缩的完整模型的层数,l(
·
)表示网络的损失函数,
⊙
表示hadamard乘积算子,β表示学习速率。
93.a、fetchsgd基于哈希表实现联邦学习模型中参数的压缩和还原,具体地,用户端根据其本地数据计算梯度;使用count sketch数据结构压缩梯度,上传本地压缩模型;服务器保存有动量和误差累积count sketch,可从误差累积count sketch中提取每轮训练的权重更新。其具体应用示例如下:
94.输入参数包括:压缩函数解压缩函数本地模型批次的大小l,动量参数ρ。
95.(1)将将压缩函数的相关参数初始化为0。
96.(2)各用户端下载新的全局模型的权重w
t-w0,全局模型可能是稀疏的。
97.(3)训练所述用户端的batch bi,计算随机梯度,本地模型更新公式如下:
[0098][0099]
其中,t为当前的迭代次数,为本地模型,为用于表示损失的函数,为该损失函数关于w的偏导数,zj为第j个用户的本地数据。
[0100]
使用压缩函数将本地模型压缩后得到本地压缩模型并上传至所有服务器。
[0101]
(4)各服务器将其接收的来自所有用户端的本地压缩模型进行聚合,通过top-k引入偏置,计算出下一轮的权重。同时,计算下一轮累积误差,以便于后续误差反馈。执行表达式如下:
[0102]
聚合各用户端的本地压缩模型
[0103]
计算动量
[0104]
计算本轮的误差
[0105]
基于误差,重构压缩模型,计算偏置
[0106]
计算误差累计
[0107]
更新权重基于误差,w
t+1
=w
t-δ
t
;
[0108]
重复上述步骤(2)-(4)t次,t为预设的最大迭代次数,直到联邦学习模型训练结束为止。
[0109]
b、qsgd算法应用的随机量化是一种通用可参数化的随机梯度向量有损压缩方式,具体包括:首先,给定所述用户端上的梯度向量,通过随机选取一组离散值来量化每个分量,保留原始值的统计特性;其次,执行一种有效的量化梯度无损编码,利用梯度的统计特性来生成有效的编码。客户端可以权衡每次迭代传输的比特数与进程中增加的方差。其具体应用示例如下:
[0110]
对于任意不为零向量的v,量化函数qs(v)的表达式如下:
[0111]qs
(vi)=||v||2·
sgn(vi)
·
ξi(v,s)
[0112]
其中,s是表示量化级别的可调参数,取值大于等于1,其对应的量化级别服从(0,1)之间的均匀分布;||
·
||2表示向量的模;sgn(
·
)表示符号函数。
[0113]
量化取值保持了量化级别的数学期望,并将最小方差考虑在内。
[0114]
其中,ξi(v,s)是独立随机变量,定义式如下:
[0115][0116]
其中,l是整数,[l/s,(l+1)/s]是对应于|vi|/||v||2的量化区间。
[0117]
其中,对于任意a∈[0,1],p(a,s)=as-l。
[0118]
遍历{0,1/s,
…
,1},ξi(v,s)具有最小方差,其数学期望满足
[0119]
该算法应用的编码是一种高效的梯度编码,具体实现流程如下:
[0120]
输入含有s个量化等级的三重梯度向量(||v||2,σ,ζ),编码输出的字符串定义如下:
[0121]
第一,使用32位比特对||v||2进行编码。
[0122]
第二,使用elias递归编码对ζ的第一个非零项的位置进行编码。
[0123]
第三,使用1位比特表示σi,然后,使用elias递归编码对其后的(s
·
ξi(v,s))进行编码。
[0124]
迭代地,使用elias递归编码对当前ζ到下一个非零项的距离进行编码,并以相同的方式对当前ζ的σi和(s
·
ξi(v,s))进行编码。
[0125]
所述编码对应的解码方法如下:
[0126]
首先,读取32位来构造||v||2。
[0127]
然后,迭代使用elias递归编码的解码方案来读取ζ和σ的非零位置和数值。
[0128]
该算法具体流程如下:
[0129]
步骤1:将每个epoch的第1次迭代的本地模型初始化为任意值y
(1)
=x0;
[0130]
用户端计算未量化的本地模型的梯度并基于接收到的全局模型进行聚合
[0131]
用户端更新第p个epoch的第t次迭代的本地压缩模型表达公式如下:
[0132][0133]
各用户端上传至所有服务器。
[0134]
步骤2:各服务器计算得到更新的本地模型
[0135]
各服务器更新全局模型
[0136]
迭代t次,各服务器计算第(p+1)个epoch的供所有用户端下载。
[0137]
步骤3:每个epoch重复以上步骤,直至联邦学习模型训练结束。
[0138]
c、动态剪枝基于剪枝和拼接两种操作,剪枝操作将初步判定为不重要的权重裁掉,以压缩联邦学习模型;然而,无法最终断定权重的重要性,通常出现过度的剪枝;因此,拼接操作是将重要但被误裁掉的权重重新整合到模型中,从而恢复层与层之间的有效连接。由于必要时更新模型参数的重要性,这两个操作集同时进行,使该方案具有动态性。其具体应用示例如下:
[0139]
由于互连单元之间的相互影响和激活,网络中的参数重要性极难测量。某个网络连接可能由于其他连接的存在而冗余。然而,一旦其他连接被移除,所述网络连接会变得至关重要。因此,应适当地进行学习过程并持续维护网络架构。
[0140]
以第k层为例,优化问题表示如下:
[0141][0142]
其中,是一个二进制矩阵,代表网络连接的状态,即当前是否被修剪。因此,这些矩阵可以被视为掩码矩阵。
[0143]
其中,集合由矩阵wk中的所有项的索引组成。
[0144]
其中,hk(
·
)是判别函数,公式如下:
[0145][0146]
由于参数重要性的度量会影响网络连接的状态,函数对动态网络剪枝至关重要。在每次迭代中,幅度较小的参数被临时剪枝,幅度较大的参数被保留或拼
接。
[0147]
阈值对最终压缩率有显著影响。为提高方案的鲁棒性,通过引入一个小的边缘t,设置两个阈值ak和bk,其关系为ak=bk+t。将绝对值超出该范围的参数设置为相应的连接状态项表示所述参数在当前迭代中既不会被剪枝也不会被拼接。
[0148]
基于拉格朗日乘子算法和梯度下降算法,权重更新的公式如下:
[0149][0150]
该权重更新公式不仅更新重要的参数,而且更新tk的第零项对应的参数,这些参数被认为对减少网络损耗的影响无效。通过拼接不正确修剪的连接,提高该方案的灵活性。
[0151]
通过链式法则,使用随机选取的小批量样本计算和的偏导数。应用更新后的和重新计算完整的本地模型的激活和损失函数梯度。迭代这些步骤,稀疏模型将能够产生理想的精度。
[0152]
该算法具体流程如下:
[0153]
步骤1:输入本地模型参考权重基线学习速率α,学习策略ψ(
·
);将本地模型的任意层网络的权重wk初始化为参考权重将连接状态矩阵tk初始化为全1矩阵;将学习速率β初始化为1,将当前迭代次数iter初始化为0;
[0154]
步骤2:从训练数据x中选取小批量样本,进行前向传播;通过(w0⊙
t0),...,(wc⊙
tc)计算损失函数l;
[0155]
步骤3:将{wk,tk:0≤k≤c}后向传播,并计算损失函数梯度
[0156]
步骤4:通过函数hk(
·
)和当前带有概率σ(iter)的wk,更新网络连接状态矩阵tk;
[0157]
步骤5:通过当前损失函数梯度更新wk;
[0158]
步骤6:逐层重复步骤4和步骤5,直至模型的所有层执行结束;
[0159]
步骤7:迭代次数iter增加1次后,使用学习策略更新学习速率,β=ψ(α,iter);
[0160]
重复上述步骤2至步骤7,直到迭代次数iter达到期望最大值。
[0161]
图4示出了本技术实施例提供的一种用户端的结构示意图,如图中所示,该用户端400包括:
[0162]
第一获取模块410,用于获取至少一个目标应用对应的本地模型;
[0163]
确定模块420,用于基于所述目标应用的性能指标,确定所述本地模型的压缩策略;
[0164]
压缩模块430,用于基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;
[0165]
第一传输模块440,用于将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数;
[0166]
更新模块450,用于基于所述全局模型参数,更新所述本地模型。
[0167]
在一种可能的实施方式中,第一获取模块410,包括:
[0168]
数据获取单元,用于获取至少一个目标应用的本地数据集;
[0169]
模型训练单元,用于基于所述本地数据集训练预设的初始化模型,得到所述目标应用对应的本地模型。
[0170]
在一种可能的实施方式中,所述性能指标至少包括以下之一:用于表征实时性的性能指标、用于表征精确度的性能指标、用于表征容错率的性能指标。
[0171]
在一种可能的实施方式中,确定模块420,包括:
[0172]
策略获取单元,用于获取预设的多个压缩策略;
[0173]
策略选取单元,用于基于所述目标应用的性能指标,选取多个所述压缩策略中的一个作为本地模型的压缩策略。
[0174]
本技术实施例提供了一种用户端,包括第一获取模块、确定模块、压缩模块、第一传输模块和更新模块,第一获取模块获取至少一个目标应用对应的本地模型;确定模块基于所述目标应用的性能指标,确定所述本地模型的压缩策略;压缩模块基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;进而,第一传输模块将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数;更新模块基于所述全局模型参数,更新所述本地模型。这样,用户端根据应用的性能指标,选取合适的压缩策略进行模型压缩,在联邦学习模型部署至多个设备的基础上,可以降低通信成本,同时最大化联邦学习模型参数的精确度,显著提高用户的体验感。
[0175]
图5示出了本技术实施例提供的一种服务器的结构示意图,如图中所示,本技术实施例提供了一种服务器,该服务器500包括:
[0176]
第二获取模块510,用于获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;
[0177]
聚合模块520,用于基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;
[0178]
第二传输模块530,用于将所述全局模型参数下发至所述用户端。
[0179]
在一种可能的实施方式中,聚合模块520,包括:
[0180]
模型确定单元,用于保留所述压缩标识与预设标识相匹配的本地压缩模型,并确定为目标压缩模型;
[0181]
模型聚合单元,用于对所述目标压缩模型进行聚合处理,得到全局模型参数。
[0182]
在一种可能的实施方式中,第二传输模块530,还用于将所述全局模型参数下发至与目标压缩模型相对应的目标用户端。
[0183]
本技术实施例提供一种服务器,包括第二获取模块、聚合模块和第二传输模块,通过第二获取模块获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;聚合模块基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;进而,第二传输模块将所述全局模型参数下发至所述用户端。这样,服务器根据压缩标识对本地压缩模型进行聚合处理,得到全局模型参数,能够满足用户对不同类别应用的性能需求,提高用户的体验感。
[0184]
图6示出执行本技术实施例提供的电子设备的硬件结构示意图,参考该图,在硬件
层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该计算机设备还可能包括其他业务所需要的硬件。
[0185]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(industry standard architecture,isa)总线、外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0186]
存储器,存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0187]
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成定位目标用户的装置。处理器,执行存储器所存放的程序,并具体执行:图2或图3所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
[0188]
上述如本技术图2或图3所示实施例揭示的方法可以应处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0189]
该计算机设备还可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
[0190]
当然,除了软件实现方式之外,本技术的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0191]
本技术实施例还提出了一种计算机可读存储介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图2或图3所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
[0192]
其中,所述的计算机可读存储介质包括只读存储器(read-only memory,简称
rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0193]
进一步地,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:图2或图3所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
[0194]
总之,以上所述仅为本技术的较佳实施例,并非限定本技术的保护范围。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0195]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0196]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0197]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0198]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
技术特征:
1.一种联邦学习模型压缩方法,应用于用户端,其特征在于,包括:获取至少一个目标应用对应的本地模型;基于所述目标应用的性能指标,确定所述本地模型的压缩策略;基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数;基于所述全局模型参数,更新所述本地模型。2.根据权利要求1所述的方法,其特征在于,所述获取至少一个目标应用对应的本地模型,包括:获取至少一个目标应用的本地数据集;基于所述本地数据集训练预设的初始化模型,得到所述目标应用对应的本地模型。3.根据权利要求1所述的方法,其特征在于,所述性能指标至少包括以下之一:用于表征实时性的性能指标、用于表征精确度的性能指标、用于表征容错率的性能指标。4.根据权利要求1所述的方法,其特征在于,所述基于所述目标应用的性能指标,确定所述本地模型的压缩策略,包括:获取预设的多个压缩策略;基于所述目标应用的性能指标,选取多个所述压缩策略中的一个作为本地模型的压缩策略。5.一种机器学习模型压缩方法,应用于服务器,其特征在于,包括:获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;将所述全局模型参数下发至所述用户端。6.根据权利要求5所述的方法,其特征在于,所述基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数,包括:保留所述压缩标识与预设标识相匹配的本地压缩模型,并确定为目标压缩模型;对所述目标压缩模型进行聚合处理,得到全局模型参数。7.根据权利要求6所述的方法,其特征在于,所述将所述全局模型参数下发至所述用户端,包括:将所述全局模型参数下发至与目标压缩模型相对应的目标用户端。8.一种用户端,其特征在于,包括:第一获取模块,用于获取至少一个目标应用对应的本地模型;确定模块,用于基于所述目标应用的性能指标,确定所述本地模型的压缩策略;压缩模块,用于基于所述压缩策略对本地模型进行压缩处理,得到本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;第一传输模块,用于将所述本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取所述服务器下发的全局模型参数;
更新模块,用于基于所述全局模型参数,更新所述本地模型。9.一种服务器,其特征在于,包括:第二获取模块,用于获取用户端发送的本地压缩模型和所述本地压缩模型对应的压缩标识;所述压缩标识用于指示所述本地压缩模型对应的压缩策略;聚合模块,用于基于所述压缩标识对所述本地压缩模型进行聚合处理,得到全局模型参数;第二传输模块,用于将所述全局模型参数下发至所述用户端。10.一种联邦学习模型压缩系统,其特征在于,包括至少一个如权利要求8所述的终端和至少一个如权利要求9所述的服务器;所述终端与服务器之间相互通信连接。
技术总结
本申请公开一种联邦学习模型压缩方法、用户端、服务器及系统,属于通信技术领域。该方法包括:获取至少一个目标应用对应的本地模型;基于目标应用的性能指标,确定本地模型的压缩策略;基于压缩策略对本地模型进行压缩处理,得到本地压缩模型和本地压缩模型对应的压缩标识;将本地压缩模型和压缩标识上传至服务器进行模型聚合处理,获取服务器下发的全局模型参数;基于全局模型参数,更新本地模型。这样,根据应用的性能指标,选取合适的压缩策略进行模型压缩,在联邦学习模型部署至多个设备的基础上,可以降低通信成本,同时最大化联邦学习模型参数的精确度,显著提高用户的体验感。显著提高用户的体验感。显著提高用户的体验感。
技术研发人员:侯延昭 陈宇 毛镜涵 耿嘉翔 刘帆
受保护的技术使用者:中移雄安信息通信科技有限公司
技术研发日:2023.05.10
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/