资源异构场景下事件触发联邦学习机制研究

(期刊)网络新媒体技术2025(01)文献详情
收藏
欢迎中国科学院声学研究所

查询中,请稍候......

资源异构场景下事件触发联邦学习机制研究

摘要:联邦学习中中心服务器与各客户端之间频繁地进行模型参数交换,产生巨大的通信开销,如何减小通信开销成为了联邦学习的研究热点。首先,通过引入事件触发的通信机制降低客户端与中心服务器之间的通信频率,从而降低联邦学习的通信开销;考虑到客户端设备之间的资源异质性,根据各个设备的通信能力、计算能力、数据质量设置一个与资源异质性相关的阈值,提出基于资源异质性的事件触发联邦平均算法(FedAvg-RHB)。其次,为了提高全局模型精度,采用全局模型重用策略。最后,在MNIST数据集上对所提算法及其对比算法进行python仿真,通过对实验结果的对比分析,验证了所提算法是一种降低联邦学习通信开销的有效算法。

作者简介:*舒龙,(1999-),男,硕士研究生,主要研究方向:联邦学习及资源分配,13027041680@163.com;

收稿日期:2024-05-28

Research on Event-Triggered Federated Learning Mechanism in Heterogeneous Resource Scenarios

  • SHU Long
  • College of Physics and Electronic Engineering, Shanxi University

Abstract:Model parameters are frequently exchanged between the central server and each client in federated learning, which generates huge communication cost, and how to reduce the communication cost has become a research hotspot in federated learning. Firstly, the event-triggered communication mechanism is introduced to reduce the communication frequency between the client and the central server, thereby reducing the communication cost of federated learning.Considering the resource heterogeneity between client devices, a threshold related to resource heterogeneity was set according to the communication ability, computing power and data quality of each device, and a Resource Heterogeneity-based event-triggering strategy in the Federated Average algorithm(FedAvg-RHB) was proposed.Secondly, in order to improve the accuracy of the global model, the global model reuse strategy was adopted. Finally, python simulation is carried out on the proposed algorithm and its comparison algorithms on the MNIST dataset, and the experimental results are compared and analyzed, which proves that the proposed algorithm is an effective algorithm to reduce the communication cost of federated learning.

Key words:communication cost ; federated learning ; event-triggered ; resource heterogeneity ; model reuse

Received:2024-05-28

0 引言

近年以来,机器学习算法已经广泛运用于图像处理[1]、自然语言处理、自动驾驶、工业自动化等应用领域。由于用于训练机器学习模型的数据通常存在于边缘设备(如电脑、智能手机等智能设备),依赖中心服务器利用边缘设备数据进行集中式机器学习面临着一些问题:①随着边缘设备的数量的增加,算法的效率降低,且中心服务器的计算和存储压力大大增加;②随着人们对隐私越来越重视,算法的集中实现不可行,例如,在医疗诊断中,大部分的患者由于隐私的问题而不情愿暴露他们的病情数据,即使现行的法律法规支持、倡导这种共享行为;③中心服务器从各个边缘设备收集的大量原始数据(语音、视频、图像)大大增加了中心服务器的通信负担。因此,亟需开发新的机器学习算法来解决这些问题。

谷歌于2016年提出一种新的机器学习范式-联邦学习[2-4],联邦学习是一种分布式机器学习框架,它允许持有本地数据的多个客户端设备合作训练一个机器学习模型。各客户端利用全局模型在其设备上训练本地模型并上传至中心服务器,中心服务器进行本地模型聚合以更新全局模型并下发至各客户端,上述过程不断迭代直到全局模型收敛。由于不用进行原始数据的交换,所以很好地解决了用户隐私的问题;而模型参数的传播又减轻了中心服务器的计算、通信、存储压力。然而正是由于服务器与各客户端之间需要多轮的模型参数交换,巨大的通信开销由此产生。在实际场景中,随着客户端数量的增加、模型参数维度增大,通信开销也急剧增加以至于成为联邦学习的关键瓶颈[5]。因此,如何有效地减少通信开销成为了联邦学习的研究热点之一。

在大量的联邦学习研究中,压缩的方法即减少传输的比特数是减少联邦学习通信开销的主流方法[6]。有文献提出在每一轮通信中通过数据稀疏[7]或量化[8],又或者结合二者来减少通信比特数。Shi等人[9]将训练算法与本地计算、梯度稀疏相结合,提出更灵活的柔性稀疏法,对参与方施加误差补偿,本地计算允许在每2个全局模型更新之间对 5G 移动设备执行更多的本地计算,从而减少通信回合的总次数。Sattler等人[10]基于非独立同分布、不平衡和小规模批数的本地数据,提出一种新型稀疏三元压缩框架。这些方法在保证模型精度的前提下加快了全局模型的收敛,减轻联邦学习系统的整体通信开销,在模型参数维度大的情况下尤为明显。然而压缩的方法仅考虑了在每一通信轮次中减少传输的信息量,但是中心服务器与客户端的通信频次并没有降低。很多情况下,客户端连续发送的本地模型之间存在的差异并不大,频繁地与中心服务器通信也增加了联邦学习系统通信开销。

为了降低客户端与服务器之间的通信频次,有学者在联邦学习中采用事件触发策略,并已用于控制系统[11]。事件触发策略判断更新后的模型参数,并在满足条件时上传模型参数[12,13]。最简单的事件触发策略是使用一个固定的参数值作为阈值,这种算法不能随着训练的进行而改变阈值,对通信的限制也不理想。Xu等人[14]使用单调递减序列作为阈值,虽然这种算法改变了阈值,但每个节点使用相同的阈值,不能有很好的性能。Ghosh等人[15]在阈值的分母中引入当前节点的通信间隔以防节点长时间不通信。也有学者提出基于性能的事件触发策略[16]。但是以上的事件触发策略都没有考虑到客户端的资源异质性。

考虑到各个客户端的资源异质性,即客户端设备之间的数据质量、通信条件、计算资源之间存在着巨大的差异。本文提出基于资源异质性的事件触发联邦平均(Resource Heterogeneity-based event-triggering strategy in the Federated Average, FedAvg-RHB)算法,通过将评价客户端资源异质性的指标引入到事件触发阈值当中,增加有能力的客户端与中心服务器的通信频次,而减少能力不足的客户端与中心服务器的通信频次。最后,大多数的事件触发联邦学习文献对当前联邦学习轮次不参与通信的客户端采取直接丢弃策略,导致全局模型精度降低。受Yao等人工作的启发[17],本文采取全局模型重用策略以提升全局模型精度。综上所述,本文的贡献如下:

(1)为了降低工业物联网场景下联邦学习的巨大通信开销,本文采用事件触发的通信机制。考虑到物联网设备之间资源的异质性,我们根据各个设备的通信能力、计算能力、数据质量设置了一个与之相关的阈值,提出FedAvg-RHB算法。

(2)采用全局模型重用策略以提升全局模型精度。

(3)对算法进行了Python仿真,并将仿真结果与其他算法的仿真结果进行对比。对比结果体现了本文所提出算法的有效性。

1 研究内容

1.1 问题建模

以数据为驱动的机器学习面临着数据泄漏的严重问题,因为客户端会将自己的本地数据发送至云端或者中心服务器进行模型的训练。2016年谷歌提出联邦学习,客户端利用本地数据训练本地模型,并发送模型参数至中心服务器共同训练一个全局模型,很好地解决了数据隐私泄漏的问题。在工业4.0的大背景下,联邦学习有着广阔的应用前景。在本文中我们考虑一个中心服务器和N个客户端设备组成的系统模型。设备与中心服务器之间通过无线信道进行通信。

N个客户端设备的本地数据集集合为{D1,D2,…,Di,…,DN},任意客户端i均拥有自己的本地训练数据集Di={(xin,yin),1≤n≤|Di|},其中xin表示样本输入,yin表示对应的标签输出,|Di|表示客户端的样本数量。客户端i在本地数据集上的损失函数表示为式(1)。

Νi(w)=1|Di|n=1|Di|L(w,xin,yin)(1)

其中L(w,xin,yin)是不同训练目标的任务具有不同形式的损失函数,w表示模型参数。在第t轮联邦学习训练中,设备i利用随机梯度下降对上一轮全局模型wt-1进行训练,以获得本地模型wit。该过程也被称为本地训练,表示为式(2)。

wit=wt-1-αi(wt-1)(2)

其中α代表学习率,i(wt-1)表示损失函数的梯度。接着本地模型wit将被上传至中心服务器,中心服务器依据这些本地模型来更新全局模型。该过程也被称为全局聚合,表示为式(3)。

wt=1i=1Ν|Di|i=1Ν|Di|wit(3)

通过加权平均各客户端的本地损失函数,可以得到全局损失函数,如式(4)所示。

L(w)=1i=1Ν|Di|i=1Ν|Di|Li(w)(4)

更新后的全局模型由中心服务器下发到每个客户端设备,以进行下一次训练和上传。上述过程将不断地迭代,直到生成一个最优全局模型以最小化全局损失函数,如式(5)所示。

w*=argminL(w) (5)

在迭代过程中,中心服务器会与各客户端频繁地交换模型参数,由此会产生巨大的通信开销,这是传统联邦学习最主要的瓶颈之一。为了减少通信开销,常用的方法是对模型进行压缩后传输,然而压缩的方法仅考虑了在每一通信轮次中减少传输的信息量,中心服务器与客户端的通信频次并没有降低。为了降低通信频次以减少通信开销,我们提出基于资源异质性的事件触发联邦学习,其基本思想是各客户端不必每轮都上传本地模型,而是为模型更新设置一个阈值,当本地模型与最近一次发送的模型之间的变化量大于阈值时将触发客户端与中心服务器之间的通信。这样减少了客户端与中心服务器之间的通信频次,减少了联邦学习系统的通信开销。同时,各个客户端之间存在着差异,它们在通信资源、计算资源、数据质量上存在差异,也即客户端之间是资源异构的。这一点也是其他事件触发方法所忽略的一点。本文依据资源参数设置通信阈值。

1.2 基于资源异质性的事件触发机制以及模型重用策略

本节提出一种事件触发机制来降低联邦学习中的通信成本,出发点是不希望所有客户端每一通信轮次都与中心服务器交换模型参数。系统框架如图1所示。考虑到客户端是资源异构的,我们希望资源较多的客户端增加与中心服务器的通信频次,而资源较少的客户端减少与中心服务器的通信频次。

图1 基于资源异质性的事件触发联邦学习系统框架图

客户端i的计算资源用CPU频率fi表示,它代表着设备的计算能力。客户端的通信资源用带宽Bi表示,它代表着设备的通信能力。在联邦学习框架下,无法直接评估客户端的数据质量,这是由联邦学习保护客户端隐私的特性所决定的。本文考虑客户端本地数据与联邦学习任务之间的相关性,采用相似度的方法评估客户端数据质量。

为了确定数据与任务的相关性,中心服务器首先预设一个测试模型Xtest。在联邦学习开始前将测试模型发送给各个客户端,用于评价客户端数据的任务相关性。其中Xtest表示为[β123,…,βd],d为参数的个数。客户端接收到测试模型之后用本地数据进行训练验证,对每个客户端的本地数据,我们能得到验证更新模型XU=[γ123,…,γd]。

在机器学习中通常使用余弦相似度和欧式距离判断2个模型的相似程度,余弦相似度能更好地表示多维空间的优势,因此我们采用余弦相似度来计算测试模型Xtest与验证更新模型XU的相似度,如式(6)所示。

Si(Xtest,XU)=v=1d(Xtestv×XUv)v=1d(Xtestv)2v=1d(XUv)2(6)

在得到各个客户端的计算资源、通信资源、数据质量参数之后,我们可以将其作为事件触发阈值,如式(7)所示。

|wit-w^i|2h(λ1fi+λ2Bi+λ3Si)η(t)(7)

其中,||2表示向量的二范数,w^i表示客户端i最近一次发送的模型参数,wit是当前通信轮次经过随机梯度下降的本地模型参数,|wit-w^i|2表示本地模型的变化量。不等号右端即为阈值,h是超参数。λ1、λ2、λ3分别是客户端i的计算资源、通信资源、数据质量的权重参数,且有∑k=13λk=1,此外,由于各客户端的数据质量会直接影响联邦学习效果,数据质量的权重会较大。η(t)是关于轮数的递减函数。

根据式(7),只有当客户端i的本地模型与上一次发送的模型充分不同时,才会触发客户端与中心服务器间的通信。而且资源参数较大的客户端其阈值会降低,从而增加与中心服务器的通信频次,反之,资源参数较小的客户端会因为阈值的增加而减少与中心服务器的通信频次。此外,随着联邦学习轮数的增加,客户端本地更新的变化也会逐渐减小。为了防止通信频次显著减少而使全局模型不能收敛到最优值,在事件触发阈值中我们引入了关于轮数的递减函数η(t),随着联邦学习轮数的增加,事件触发阈值会逐渐降低。

大多数事件触发联邦学习文献对不通信的客户端采用直接丢弃策略,即当前联邦学习轮次的全局聚合中舍弃该客户端的本地模型,这会降低全局模型的精度。为了提高全局模型精度,本文采用全局模型重用策略,即中心服务器使用上一轮的全局模型替代不通信客户端的本地模型。因此式(3)中的全局聚合变为式(8)。

wt=1i=1Ν|Di|i=1Ν|Di|w^it(8)

其中,w^it={wit,wt-1},当客户端的本地模型wit满足式(7)时,w^it=wit;当不满足时,w^it=wt-1

1.3 基于资源异质性的事件触发联邦平均

在联邦平均算法(Federated Average algorithm,FedAvg)[18]的基础上,本文提出FedAvg-RHB算法,它利用事件触发的通信机制降低联邦学习系统中客户端与中心服务器之间的通信频次,从而降低通信开销。FedAvg-RHB的伪代码如算法1所示。

在联邦学习开始之前,各客户端首先依据式(6)计算其数据质量参数,如算法1第3行所示。在每一轮联邦学习开始时,中心服务器向各客户端广播全局模型以进行本地训练,如算法1第4到第5行所示。在收到全局模型后,各客户端利用本地数据对全局模型进行随机梯度下降以训练本地模型,如算法1第6到第7行所示。本地训练完成后,若客户端本地模型满足式(7),则客户端与中心服务器通信,发送本地模型至中心服务器并更新过时模型w^i,否则中心服务器对客户端使用全局模型重用策略,如算法1第8到第11行所示。接收完本地参数之后,中心服务器将进行全局聚合以更新全局模型,如算法1第14行所示。之后联邦学习进行下一轮迭代直到T轮联邦学习结束。

2 实验设置及仿真结果对比

在本节,我们对本文所提的基于资源异质性的事件触发联邦平均算法FedAvg-RHB进行数值实验来验证所提算法的有效性。我们在MNIST数字识别数据集上训练逻辑回归模型,MNIST是手写数据集包含0-9十个类别数据集包含60 000个训练数据和10 000个测试数据。我们将联邦平均算法、基于资源异质性的事件触发联邦平均算法及其对比算法进行比较,并对比他们与固定阈值联邦平均、单调递减联邦平均算法的测试精度。

为了模拟真实世界中多方联合学习的场景,实验假设20个客户端在中心服务器的协作下联合学习。本文使用PyTorch作为分布式机器学习训练库,并基于Python3来实现算法。实验环境是:Intel(R) Core(TM) i5-8300H CPU @ 2.30 GHz 2.30 GHz的计算机,包含一块NVIDIA Geforce GTX 1050 Ti GPU。对MNIST数据集,本文使用卷积神经网络(Convolutional Neural Network, CNN)作为训练模型,该模型包含2个卷积层、2个最大池化层、1个全连接层和最后的softmax输出层,使用ReLU作为激活函数。

实验中,训练数据在各客户端之间服从独立同分布,即训练数据被均匀划分至每个客户端。各客户端通过本地数据来训练神经网络模型,即神经网络的权重参数。本地小批量大小设置为32,学习轮数设置为20,初始学习率设置为0.001,超参数h设置为0.8,轮次递减函数设置为1/t,权重参数λ1、λ2、λ3分别设置为0.1、0.2、0.7。

图2是MNIST数据集上的实验结果,实验对比了不同算法下的测试精度值。其中带正方形曲线代表联邦平均算法FedAvg的测试精度;带三角形曲线代表未重用全局模型的基于资源异质性的事件触发联邦平均算法对比算法FedAvg-RHB-C;而带圆形曲线代表着本文提出的基于资源异质性的事件触发联邦平均算法FedAvg-RHB。由于客户端的数据是独立同分布的,因此上述算法都能够快速收敛。对比FedAvg和FedAvg-RHB-C可以看到前者比后者有着更快的收敛速度与更高的收敛精度,这是因为在FedAvg中,客户端在每一轮都会与中心服务器进行通信,有更快的收敛速度与更高的收敛精度的同时,也会造成巨大的通信开销;对比FedAvg-RHB和FedAvg-RHB-C我们可以发现前者有着和FedAvg几乎相同的收敛速度与收敛精度,这是因为全局模型重用策略起到了加快收敛与提高精度的作用。

图2 测试精度比较图

表1 各算法测试精度对比
算法精度/%
FedAvg98.53
FedAvg-RHB98.44
FedAvg-RHB-C97.81
FedAvg-MD98.04
FedAvg-F96.67

表1列出了本文所提算法与其他的测试精度,其中FedAvg-MD表示具有单调降低事件触发阈值的联邦平均算法,FedAvg-F表示具有固定事件触发阈值的联邦平均算法。可以看到FedAvg-F的精度最低,这是因为随着通信轮次的增加,客户端本地模型的变化量会逐渐变小,固定的通信阈值会阻止客户端与中心服务器之间的通信,从而降低模型精度。FedAvg-MD精度介于FedAvg-RHB-C与FedAvg-RHB之间。

图3是训练损失图,可以看到,图3有着和图2相似的性能结果。依旧是FedAvg取得最好的结果,FedAvg-RHB与FedAvg之间有着微小的差异。而对比FedAvg-RHB与FedAvg-RHB-C,依旧是前者有着更快的收敛速度以及更小的损失值,这也佐证了全局模型重用策略的有效性。

图3 训练损失比较图

图4 通信客户端数量比较图

图2和图3均显示联邦平均算法FedAvg有着更好的性能。但是由图4我们可以看出,FedAvg算法性能高是建立在巨大的通信开销基础之上,因为在FedAvg中,所有的客户端在每一通信轮次都与中心服务器进行通信。而在FedAvg-RHB中我们可以看到除了第一个通信轮次中所有客户端都与中心服务器进行了通信外,在其他通信轮次中都只有部分的客户与服务器进行了通信,这得益于FedAvg-RHB的事件触发通信机制。结合图2、图3和图4来看,本文所提出的算法在更小的通信开销下,取得了和联邦平均极其接近的性能效果,验证本文所提出算法的有效性。

3 结束语

为了降低联邦学习的通信开销,事件触发的思想被运用到联邦学习的通信策略中,即当模型的更新量大于阈值时才触发客户端与中心服务器的通信。本文考虑到现实场景中客户端是各种物联网设备,而物联网设备之间存在着资源异质性,通过将资源异质性引入通信阈值,我们提出基于资源异质性的事件触发联邦平均算法(FedAvg-RHB)。为了提高全局模型精度,我们采用全局模型重用策略。之后通过对比所提算法与其他算法的仿真结果,结果显示本文所提出的算法取得优于其他事件触发联邦学习算法以及与联邦平均算法相似的性能结果,但是具有更小的通信开销。验证本文所提出的FedAvg-RHB算法是一种降低联邦学习通信开销的有效算法。

参考文献