摘 要:联邦学习作为一种具有隐私保护的新兴分布式计算范式,在一定程度上保护了用户隐私和数据安全。然而,由于联邦学习系统中客户端与服务器需要频繁地交换模型参数,造成了较大的通信开销。在带宽有限的无线通信场景中,这成为了限制联邦学习发展的主要瓶颈。针对这一问题,提出了一种基于Z-Score的动态稀疏压缩算法。通过引入Z-Score,对局部模型更新进行离群点检测,将重要的更新值视为离群点,从而将其挑选出来。在不需要复杂的排序算法以及原始模型更新的先验知识的情况下,实现模型更新的稀疏化。同时随着通信轮次的增加,根据全局模型的损失值动态地调整稀疏率,从而在保证模型精度的前提下最大程度地减少总通信量。通过实验证明,在I.I.D.数据场景下,该算法与联邦平均(FedAvg)算法相比可以降低95%的通信量,精度损失仅仅为1.6%,与FTTQ算法相比可以降低40%~50%的通信量,精度损失仅为1.29%,证明了该方法在保证模型性能的同时显著降低了通信成本。
关键词:联邦学习; Z-Score; 稀疏化; 动态稀疏率
中图分类号:TP301.6 文献标志码:A 文章编号:1001-3695(2024)07-024-2093-05
doi:10.19734/j.issn.1001-3695.2023.11.0540
High efficient federated learning algorithm based on Z-Score dynamic compression
Abstract:Federated learning as an emerging distributed computing paradigm with privacy protection, safeguards user privacy and data security to a certain extent. However, in federated learning systems, the frequent exchange of model parameters between clients and servers results in significant communication overhead. In bandwidth-limited wireless communication scenarios, this has become the primary bottleneck restricting the development of federated learning. To solve this problem, this paper proposed a dynamic sparse compression algorithm based on Z-Score. By utilizing Z-Score, it performed outlier detection on local model updates, considering significant update values as outliers and subsequently selecting them. Without complex sorting algorithms or prior knowledge of the original model updates, it achieved model update sparsification. At the same time, with the increase of communication rounds, the sparse rate was dynamically adjusted according to the loss value of the global model to minimize the total traffic while ensuring the accuracy of the model. Experiments show that in the I.I.D. data scenario, the proposed algorithm can reduce communication traffic by 95% compared with the federated average algorithm, and the accuracy loss is only 1.6%. Additionally, compared with the FTTQ algorithm, the proposed algorithm can also reduce communication traffic by 40%~50%, with only 1.29% decrease in accuracy. It proves that the method can significantly reduce the communication cost while ensuring the performance of the model.
Key words:federated learning; Z-Score; sparsification; dynamic sparsity
0 引言
近年来,物联网的快速发展将现实世界中的诸多事物接入到了互联网[1],并且通过在这些对象中传递信息,让它们变得更加智能,为用户提供更好更便捷的服务[2]。据报告分析表明,到2025年,预计将有多达309亿台物联网设备连接到互联网中[3]。由于接入装置数量的飞速增长,网络中每天产生的数据也在激增,从而形成了一种物联网大数据应用场景。为了利用无处不在的物联网设备产生的数据,深度学习等人工智能技术被广泛应用,借助训练数据模型以实现智能物联网应用,比如智慧城市、智慧医疗和智慧交通等[3,4]。传统用于物联网的人工智能主要基于集中式学习范式,要求网络边缘设备通过无线信道将采集到的数据传输到远端集中式服务器进行处理[5]。由于无线数据传输的大流量负载和高隐私风险,将数据传输至远端的服务器进行集中式的机器学习变得不再实用。在此情形下,联邦学习作为一种分布式计算范式被提出[6],并且在学术界和工业界引起了广泛的关注和研究。在这种分布式架构中,原始数据不再被要求发送到云端服务器,而是在中央服务器的协调之下由多个客户端共同完成一个全局模型的训练[7,8]。客户端与中央服务器之间传递的仅仅是模型参数,实现了原始数据不出本地,在一定程度上保护数据隐私的同时,又让人工智能技术发挥了强大的作用。
目前,联邦学习作为一种有前景的计算范式被广泛应用于构建智能和增强隐私的物联网系统,然而,联邦学习也存在着一些不足之处。联邦学习系统虽然不需要将原始数据上传至云端服务器,但是在整个系统的训练迭代期间,客户端与服务器端仍需要频繁地进行模型参数交互。在无线通信系统中,通信带宽通常是有限的,因此联邦学习系统的数据传输需求在很多情况下都无法得到满足。特别是在物联网场景中,就算使用了LTE通信系统,但由于通信带宽的限制,仍然无法保证联邦学习系统的客户端与服务器端之间频繁的数据通信。而现代深度神经网络模型通常包含了大量的参数,从数千万到数亿不等,这大大地增加了通信开销,甚至导致通信过载[9]。现有研究表明,在客户端上传的模型梯度参数中存在大量的冗余参数,这些参数对于全局模型的贡献微乎其微。许多学者考虑使用设置阈值的方式筛选上传的参数,但实际操作时阈值的选择十分困难,而采用梯度量化模型压缩算法,其压缩比有限且对模型的性能会造成较大的影响。文献[10]指出,Z-Score能够有效地识别和筛选出数据中的离群点,实现异常参数的检测。因此,可将梯度参数中对模型影响较大的值视为离群点,引入Z-Score算法检测出对模型贡献较大的值,实现梯度稀疏化,从而减少上传的参数量。综上所述,本文提出一种基于Z-Score的动态阈值稀疏算法,用于解决通信开销较大的问题,命名为DLZ-FedAvg(dynamic little-endian based on 128 Z-Score federated average)。该算法通过引入Z-Score进行参数筛选,将客户端的本地梯度稀疏化,并设计了一种动态稀疏机制。本文在本地模拟多个节点和参数服务器,实验结果证明该方法在牺牲一定精度的前提下,极大地减少了上行链路需要传输的比特数,从而减少总的通信量来达到降低通信开销的目的。本文的主要贡献如下:
a)提出了一种新的模型更新稀疏化算法,该算法既不需要对原始更新值进行复杂的排序,又可以避免原始阈值难以选择的困难。同时结合LEB128压缩算法对稀疏后的模型更新值的索引进行无损压缩再次降低通信成本。
b)根据神经网络训练过程的特点,设计了一种动态调整稀疏阈值的方法,既保证训练过程的快速收敛,又能最大程度地降低总的通信量。
c)在多个广泛使用的数据集上进行了实验,对比分析了DLZ-FedAvg算法与其他算法的性能。实验结果证明,DLZ-FedAvg具有更高的压缩率。
1 相关工作
现有针对通信开销过大问题的联邦学习优化算法主要可分为稀疏化和量化两大类。Strom等人[11]提出使用梯度绝对值的大小衡量其重要性,与预先设置的阈值进行比较,大于该阈值则进行上传。然而,在实际操作过程中,阈值十分难以确定。Aji等人[12]提出先从梯度中抽样0.1%作为样本,排序后以第k个元素作为样本阈值,然后利用该阈值作为整体阈值选择top-k梯度。但是,随机抽样可能会造成整体压缩比得不到保证。Luo等人[13]提出使用概率方程来衡量梯度的重要性,然后基于这个概率方程来挑选出k个参数进行上传。Han等人[14]提出一种基于top-k的双向链路压缩算法。双向top-k表示上行链路和下行链路都只传输梯度的前k个元素。
量化最初用于数据压缩,对于数百万参数的深度学习至关重要,能够显著降低通信成本。Dettmers[15]将梯度的32位浮点数量化至8位,文献[16]中SignSGD则只保留梯度的符号更新模型,实现了32倍的压缩。Xu等人[17]提出一种三元量化算法,设置一个量化阈值,将梯度量化为+1、0、-1。为了在服务器端还原原始梯度,引入了一个量化因子进行32 bit数据的还原。Cui等人[18]提出了一种基于K-means聚类算法的量化压缩算法。在这种算法中,每个客户端只需发送其聚类中心值以及每个梯度值对应的类别ID。通过量化本地计算梯度,该算法将梯度量化为低精度值,而非直接上传原始梯度值。这种方式降低了每个通信轮次的通信代价,但同时也降低了精度,并增加了总体计算能耗。Li等人[19]则提出了一种基于压缩感知的压缩算法。这种算法在压缩效果方面表现良好,但客户端需要引入额外的重构算法来更新局部模型,从而增加了客户端的计算量。
2 基于Z-Score和LEB128的动态压缩算法DLZ-FedAvg
本章将详细介绍DLZ-FedAvg算法。以往的稀疏化算法通常采用固定阈值或者固定百分比的top-k来进行梯度稀疏化。在实践中,top-k算法涉及复杂的数据排序,而固定阈值算法的阈值通常难以确定。神经网络的训练是一个逐渐收敛的过程,其权重参数会逐渐趋于稳定,采用固定稀疏率并不能适应这一过程。对此,提出一种基于Z-Score离群点检测的动态稀疏算法来减少通信开销,该方法可以在计算每个参数的Z-Score时完成参数筛选。在此基础上,本文根据全局模型的损失值提出一种动态阈值更新算法,用于自适应调整阈值。同时结合LEB128编码对待发送元素的位置索引进行编码压缩,降低通信开销。
2.1 系统模型
本文采用如图1所示的客户端-服务器联邦学习系统模型。典型的联邦学习算法具有参数下发、局部训练、参数上传和参数聚合四个阶段。在参数下发阶段,服务器将全局模型发送给参与训练的客户端。在局部训练阶段,参与训练的客户端收到服务器发来的全局模型之后使用大小为ni的本地数据集Di进行训练,得到第i个客户端的局部模型wit。其中i=1,2,…,M,M是总的客户端的数量。第i个客户端的训练局部模型的损失函数为Li,如式(1)所示。
其中:xj、yj表示数据集Di中的第j个数据的数据特征以及对应的真实标签。客户端完成本地训练之后将局部模型上传至服务器。在聚合阶段,服务器聚合本轮参与训练的所有客户端的模型更新,以获得新的全局模型用于下一轮的迭代。聚合完成之后,服务器将新的全局模型通过广播的形式发送给下一轮参与训练的客户端,重复以上步骤直到算法收敛。联邦学习的训练目标是为了获得全局最小损失函数L(w)。
全局损失函数定义如下:
其中:λ表示参与率定义为参与训练的客户端的数量占总的客户端的数量的比例。
2.2 DLZ-FedAvg算法
DLZ-FedAvg具体处理流程如算法1所示。其总体的处理过程与标准的联邦学习算法基本一致,不同的是在客户端中加入了Z-Score稀疏算法以及服务器端加入了阈值更新机制,用于实现Z-Score稀疏算法的阈值自适应。首先,服务器端随机挑选部分客户端将本轮的全局模型以及稀疏阈值发送给这些客户端;客户端接收到这些全局模型之后执行本地训练,将得到的本地梯度向量进行Z-Score稀疏并使用LEB128编码技术对索引进行编码压缩;完成稀疏化之后,客户端将压缩后的梯度值以及索引进行上传;服务器端收到各个客户端发来的压缩的梯度信息之后进行解压缩以及全局梯度信息的聚合,得到最新的全局模型。
算法1 DLZ-FedAvg
Z-Score是一种对一维或者低维空间中异常参数的检测方法。异常值定义为分布尾部的数据点。本文将对模型影响较大的梯度值视为离群点,其余值视为正常点。引入Z-Score来计算每一个梯度值与平均值之间的距离,距离越远意味着该梯度值对模型的影响越大。因此,在参数上传阶段上传该梯度值的可能性就越大。给定一个观察值x,它的Z-Score可以通过以下公式计算:
其中:μ表示总体的均值;σ表示标准差。然后将每个参数计算得到的Z-Score与预先设置的阈值进行比较,如果大于阈值,就将其参数本身以及对应的索引值进行保存。为了保证模型的精度,与以往稀疏算法不同的是,对小于阈值的值采取残差平均更新的方法。将大于阈值的参数筛选出来之后,计算剩余参数的均值并发送该均值给服务器。在服务器端将未接收到更新值的位置全部替换为该均值,算法细节如算法2所示。
算法2 Sparsity
此外,本文还设计了一种动态阈值机制,具体细节如算法3所示。其核心思想是前期采用小的稀疏阈值,后期采用大的稀疏阈值。较小的稀疏阈值有助于保留更多的梯度信息,使得模型参数获得更为准确的更新,从而使模型能够较快收敛,较大的稀疏阈值有望提高压缩比减少通信开销。
算法3 Adaptive Threshold
根据神经网络训练过程的特点以及文献[20]可知,随着迭代轮次的增加,模型逐渐趋于稳定,损失函数逐渐减小。当损失值较大时,表明模型训练处于前期阶段,此时需要对全局模型参数进行较为准确的更新。因此,此时应设置较小的阈值。而当损失值较小且趋于一个稳定的数值时,本文认为此时联邦学习系统已经收敛,此时网络模型只需要进行微调即可,为了实现这一点,应该设置较大的阈值。因此,随着训练轮次的增加,阈值可以逐渐增大。最极端的情况是完全不发送梯度信息,那么,在服务器端模型不再更新。在这种情况下,算法性能达到最优。阈值更新机制如式(6)(7)所示。
其中:x为一个比例系数,表示第t轮的损失值与最大值的比值。其中最大值一般为第一轮的损失值,因为神经网络的训练是一个损失值下降的过程。a为一个常量,为初始的阈值。最后,本文结合LEB128编码技术对索引进行无损编码压缩,再次降低上行链路的通信开销。
3 实验及分析
为了验证DLZ-FedAvg算法,使用了MNIST、CIFAR10数据集进行了大量的实验。对三种联邦学习算法进行比较,包括标准的联邦学习算法、基于三元压缩算法和基于Z-Score动态压缩算法,评估模型精度、上行链路的通信量等性能指标。实验设置如表1、2所示。
3.1 实验设置
a)对比算法。在本节中对以下算法进行数值比较,本文使用文献[6]提出的标准联邦平均算法(FedAvg)作为基线算法。将文献[17]提出的三元压缩联邦学习算法(FTTQ)作为对比算法,所有算法都使用相同的神经网络结构、相同的学习率并使用相同的优化器进行训练。
b)数据集。使用了两个广泛用于分类的代表性公共数据集MNIST和CIFAR10。
c)网络模型。为了评估上述算法的泛化性能,在不同复杂度的网络模型上进行了实验。本文选择三个深度学习模型LeNet5、CNN-7、VGG16-S。LeNet5用于训练简单数据集MNIST。CNN-7和VGG16-S用于训练CIFAR10数据集。其中CNN-7是一个浅层的卷积神经网络:一共包含7层,其中4个卷积层、3个全连接层,最后一个全连接层后面接一个BN层。
d)数据分布。联邦学习的性能受到客户端的训练数据特征的影响。为了研究不同数据分布的影响,将数据分为I.I.D.和Non-I.I.D.两种不同的分布。其中Non-I.I.D.分布主要考虑的是类别不平衡的情形,即每个客户端只拥有Nc个数据类。
e)实验环境和参数设置。实验采用PyTorch框架编程。采用本地计算机模拟多个终端的方式进行仿真。具体的实验环境如表1所示。神经网络相关训练参数如表2所示。由于MNIST数据集为单通道的灰度图像,特征较为容易学习,所以该数据集并未使用数据增强方法。CIFAR10数据集采用随机裁剪和水平随机翻转的数据增强的方法,同时对三个颜色通道进行归一化,其均值和标准差分别为μr=0.4914,σr=0.247,μg=0.4824,σg=0.244,μb=0.4467,σb=0.262。
3.2 实验结果
为了展示本文方法的有效性,在多个数据集上与其他联邦学习算法进行了对比实验。
图2展示的是LeNet5在MNIST数据集上三种不同联邦学习算法收敛曲线。通信轮数设为200,其中图2(a)为I.I.D.数据场景,DLA-FedAvg_No_Res表示的是未使用残差平均的算法,图2(b)为Non-I.I.D.数据场景。从图2(a)中可以看出,虽然在训练的前期阶段,DLA-FedAvg算法相比其余两种算法收敛速度稍差,但随着训练轮次的增加,最终可以达到与其余两种算法几乎相同的测试精度。这是因为DLA-FedAvg客户端在每轮上传模型参数进行全局聚合时发送的参数是三种算法中最少的,所以会对收敛速度产生一定的负面影响。由于本文采用了残差平均,对未发送的参数进行不精确更新,虽然存在一定的误差,但是这些参数对于模型的影响很小,且大多数参数可以得到一定程度的更新,所以从图中可以看出,相比将残差丢弃的方式而言,使用了残差平均的DLA-FedAvg在一定程度上缓解了收敛速度较慢的问题。从图2(b)可以看出,在Non-I.I.D.数据场景下,DLA-FedAvg算法的性能与其余两种算法性能相比稍差但是相差很小。由于MNIST数据集较为简单,所以Non-I.I.D.数据场景对于算法的性能影响较小。
图3展示的是CNN-7网络在CIFAR10数据集上三种不同联邦学习算法收敛曲线,通信轮数设为200。从图3(a)中可以看出,DLZ-FedAvg算法在75轮通信之后,可以与FTTQ算法收敛曲线基本上重合。同时从图3(b)中可以看出,在Non-I.I.D.数据场景下,DLZ-FedAvg算法的性能与FedAvg是十分接近的。这表明,本文算法能够适应不同复杂程度的数据集以及不同深度的神经网络模型。
图4(a)展示的是VGG16-S网络在CIFAR10数据集上的训练结果,其数据分布为I.I.D.分布。如图4(a)所示,与FTTQ算法相比DLA-FedAvg算法的性能几乎是一致的。与FedAvg算法相比,由于减少了大量的参数更新,所以减缓了收敛速度。但是最终的模型精度并未受到较大的影响。图4(b)展示的是VGG16-S网络在Non-I.I.D.数据分布下的训练结果。DLA-FedAvg算法最终性能略差于FedAvg算法,但是精度损失不大。
如图5所示,以VGG16-S为例展示了DLA-FedAvg算法通信量随通信轮次的变化曲线,其数据分布为I.I.D.分布,神经网络为VGG16-S。从图5中可以看出,随着通信轮次的增加,每轮上传的通信量整体是逐渐下降的。这是由于DLZ-FedAvg算法是动态调整阈值的,所以呈现出逐渐下降的趋势。
最后,比较了固定通信轮次的FedAvg、FTTQ、DLA-FedAvg算法在I.I.D.数据场景下的准确率、通信成本、压缩率三个性能指标。其中压缩率表示为压缩后的通信成本与未压缩的通信成本的比值。因此,本文将FedAvg算法的压缩率设为1。具体的实验结果如表3所示(表中数据格式为准确率(%)/通信成本(MB)/压缩率),通信轮次为200轮。从表中可以看出,在MNIST数据集上,DLA-FedAvg与FedAvg相比,DLA-FedAvg在仅牺牲1.6%的模型精度的情况下可降低95%的通信成本。同时,与FTTQ相比,模型精度只相差1.29%,而DLA-FedAvg的通信成本仅为FTTQ算法的39.8%。同样,对于CIFAR10数据集,与FedAvg算法相比可降低95%的通信量,而与FTTQ算法的精度差异最高不超过0.2%,通信量最低可降至FTTQ的47%。这表明本文算法并不会造成过大的精度损失,同时在降低通信量方面是有效的。
4 结束语
为了解决联邦学习通信成本高的问题,本文提出了基于Z-Score与LEB128编码的动态压缩算法。首先利用Z-Score设计了一种联邦学习的通用稀疏机制减小每轮通信的参数量,并采用残差平均机制保证模型的收敛性能,然后根据全局模型的损失值动态调整稀疏阈值保证训练前期模型得到充分更新,同时保证整体的压缩性能,最后使用LEB128编码技术对参数索引进行编码压缩,降低了数据传输开销。实验表明,该方法在保证模型性能的同时,显著降低了所需的带宽和通信成本。对于未来的工作,本文将考虑再结合量化映射对稀疏化后的参数进行编码映射,以达到最佳的压缩性能。
参考文献:
[1]Mazon-Olivo B, Pan A. Internet of Things: state-of-the-art, computing paradigms and reference architectures[J]. IEEE Latin America Trans, 2021,20(1): 49-63.
[2]Wu Yulei, Dai Hongning, Wang Haozhe, et al. A survey of intelligent network slicing management for industrial IoT: integrated approaches for smart transportation, smart energy, and smart factory[J]. IEEE Communications Surveys & Tutorials, 2022, 24(2): 1175-1211.
[3]Vailshery L S. IoT and Non-IoT connections worldwide 2010—2025.[EB/OL]. (2023-05).https://www.statista.com/statistics/1101442/iot-number-of-connected-devices-worldwide.
[4]Kalapaaking A P, Khalil I, Atiquzzaman M. Smart policy control for securing federated learning management system[J]. IEEE Trans on Network and Service Management, 2023, 20(2): 1600-1611.
[5]Zhao Zhongyuan, Feng Chenyuan, Wei Hong, et al. Federated lear-ning with Non-IID data in wireless networks[J]. IEEE Trans on Wireless Communications, 2022, 21(3): 1927-1942.
[6]McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proc of Artificial intelligence and Statistics. 2017: 1273-1282.
[7]Duan Moming,Liu Duo,Chen Xianzhang, et al. Self-balancing fede-rated learning with global imbalanced data in mobile systems[J]. IEEE Trans on Parallel and Distributed Systems, 2020, 32(1): 59-71.
[8]Imteaj A, Thakker U, Wang Shiqiang, et al. A survey on federated learning for resource-constrained IoT devices[J]. IEEE Internet of Things Journal, 2021, 9(1): 1-24.
[9]Sun Jun, Chen Tianyi, Giannakis G B, et al. Lazily aggregated quantized gradient innovation for communication-efficient federated lear-ning[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2020, 44(4): 2031-2044.
[10]Aggarwal V, Gupta V, Singh P, et al. Detection of spatial outlier by using improved Z-Score test[C]//Proc of the 3rd International Conference on Trends in Electronics and Informatics. Piscataway, NJ: IEEE Press, 2019: 788-790.
[11]Strom N. Scalable distributed DNN training using commodity GPU cloud computing[C]//Proc of the 16th Annual Conference of International Speech Communication Association. 2015: 1488-1492.
[12]Aji A F, Heafield K. Sparse communication for distributed gradient descent[C]//Proc of Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: Association for Computatio-nal Linguistics, 2017:440-445.
[13]Luo Peng, Yu F R, Chen Jianyong, et al. A novel adaptive gradient compression scheme: reducing the communication overhead for distributed deep learning in the Internet of Things[J]. IEEE Internet of Things Journal, 2021,8(14): 11476-11486.
[14]Han Pengchao, Wang Shiqiang, Leung K K. Adaptive gradient sparsification for efficient federated learning: an online learning approach[C]//Proc of the 40th IEEE International Conference on Distributed Computing Systems. Piscataway, NJ: IEEE Press, 2020: 300-310.
[15]Dettmers T. 8-bit approximations for parallelism in deep learning[C]//Proc of the 4th International Conference on Learning Representation. 2016: 1-14.
[16]Bernstein J, Wang Yuxiang, Azizzadenesheli K, et al. SignSGD: compressed optimisation for non-convex problems[C]//Proc of International Conference on Machine Learning.[S.l.]: PMLR ,2018: 560-569.
[17]Xu Jinjin, Du Wenli, Jin Yaochu, et al. Ternary compression for communication-efficient federated learning[J]. IEEE Trans on Neural Networks and Learning Systems, 2022,33(3): 1162-1176.
[18]Cui Laizhong, Su Xiaoxin, Zhou Yipeng, et al. ClusterGrad: adaptive gradient compression by clustering in federated learning[C]//Proc of IEEE Global Communications Conference. Piscataway, NJ: IEEE Press, 2020: 1-7.
[19]Li Chengxi, Li Gang, Varshney P K. Communication-efficient federated learning based on compressed sensing[J]. IEEE Internet of Things Journal, 2021, 8(20): 15531-15541.
[20]Guo Jinrong, Liu Wantao, Wang Wang, et al. Accelerating distributed deep learning by adaptive gradient quantization[C]//Proc of ICASSP IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE Press, 2020: 1603-1607.