边缘计算中的异步联邦学习
在边缘计算系统上原型化联邦学习
1 引言
近年来,深度学习在计算技术领域取得了巨大成功,并已与人们的生活密不可分。目前,部署这些深度学习模型最常见的方法是收集用户数据并在中央服务器上进行训练。然而,在数据收集和上传过程中,用户数据可能会不可避免地受到损害,用户的敏感信息也可能面临泄露风险。为了降低隐私泄露的风险,谷歌提出了联邦学习,该技术已成功应用于多个场景,例如企业间数据联盟[1],Gboard中的下一个词预测[2],等。
先前的联邦学习研究已报道了一些在企业协作模式协议中的应用,这些应用处于服务[1]层面或从用户角度的软件应用[3]层面。由于未来将有数万亿的物联网设备,因此在边缘或移动计算平台上评估联邦学习算法时,应特别关注系统效率和隐私保护。本文将一个典型的联邦学习应用部署到边缘计算系统上,并展示了如何在边缘计算系统上高效地实现深度学习模型。考虑到不同设备之间在交换和更新已学习模型时,与传统的同步联邦学习(Sync‐FL)相比,引入了异步联邦学习(Async‐FL),该方法也从智能手机应用[4]扩展到了物联网场景。
2 方法论
与将用户数据上传至中央服务器不同,联邦学习(FL)将训练或推理任务分发到用户设备,以实现隐私保护。通常,FLL需要进行多轮训练,在每一轮中,边缘设备接收全局网络,执行训练任务,并提交已学习模型用于模型聚合。这些训练轮次的一个重要关注点是收敛速度。文献[3]提出了一种典型的FLL系统架构,称为同步联邦学习(Sync‐FL),因为其部分已学习模型是同步合并的。与Sync‐FLL不同,本文采用异步联邦学习(Async‐FL)方法。一些符号定义如下:
- C表示中央服务器上的全局网络。
- En表示第n个边缘设备上的网络,其中1 ≤ n ≤ N。
- I是总训练轮数,而K是每轮的周期数。
- p是异步联邦学习的反弹率。
2.1 同步联邦学习(Sync‐FL)
对于同步联邦学习的第i个训练轮次,它包含三个步骤[5]:
(1) 广播:将C广播到边缘设备En – C。
(2) 训练与提交:在第i个设备上对En训练K轮,然后将En提交至服务器。
(3) 聚合:服务器在接收到分散模型{En}后,通过加权平均将其聚合为一个新的全局网络C。
然而,同步联邦学习(Sync‐FL)存在一些明显的缺点。首先,中央服务器必须等到所有{En}模型都接收完毕后才能进行模型聚合。由于不同边缘设备之间的计算能力通常存在差异,它们消耗的训练和通信时间也各不相同,因此整体性能由最坏情况决定。此外,当部署大规模边缘设备时,同时向所有边缘客户端广播全局网络会显著增加通信时间,即通信压力为 O(N)。
2.2 异步联邦学习(Async‐FL)
同步联邦学习的缺点促使我们引入异步联邦学习。如算法1所示,异步联邦学习也主要包含三个步骤,但与同步联邦学习略有不同。对于第i轮训练:
算法1 异步联邦学习
1: 过程 DEVICE(nth)
2: 当未完成时执行
3: (1) 拉取全局网络: Ei*n ← Ci, i* ← i
4: (2) 为本地网络训练K轮:Ei*n ~ E
5: 提交Ei*n到中央服务器。
6: 结束 while
7: 结束过程
8: 过程 SERVER
9: for i 从 1 到 I do
10: 等待直到 ∃n∈[1,N], Ei*n 已提交。
11: (3) 更新: Ci+1 ← (1−p)Ci + pEn
12: 将当前网络Ci+1发送到第n个设备。
13: 结束循环
14: 结束过程
(1) 拉取:从中央服务器将当前全局网络Ci下拉到第n个边缘设备,作为其本地网络Ei
n,然后将本地轮次计数器i
刷新为i。
(2) 训练与提交:在第i个设备上对Ei
n进行K轮训练,然后将Ei
n提交给服务器。
(3) 更新:一旦服务器接收到一个网络Ei*n,立即对全局网络执行反弹更新(反弹率为p),并累加i。
设备的训练模型进行等待并聚合。但对于异步联邦学习,它仅向请求设备发送最新的模型,然后在每个训练轮次执行回弹更新。由于不同设备的拉取和提交操作不会同时进行,异步联邦学习可以隐藏拉取和提交的延迟。当某些设备与服务器通信时,其他设备可以继续执行训练任务。此外,在异步联邦学习中,服务器可以在接收到较快设备的已学习模型后立即更新全局模型,而无需等待其他较慢的设备。因此,通信压力从O(N)降低到O(1)。
2.3 系统架构
异步联邦学习(Async‐FL)的系统设计如图1所示。它展示了边缘设备与中心/云服务器之间的通信方式。以现代家庭中的智能物联网设备(如语音助手、路由器、智能灯和温度计)为例,即使不同设备的计算能力或通信质量存在差异,模型更新也不会在中央服务器被阻塞。同时,异步联邦学习对少量设备访问服务器时出现的中断具有较强的鲁棒性,因为一旦断开的连接恢复,即可访问最新的全局模型。然而,当大量设备同时发起更新请求时,服务器需要解决更新请求拥塞问题。
3 实验结果与分析
同步联邦学习(Sync‐FL)和异步联邦学习(Async‐FL)算法在一组六个树莓派3B+设备上实现。实验使用LeNet在MNIST数据集上进行。通常在真实的物联网条件下,设备之间的计算能力差异极大,而本实验中设备的计算能力基本相同,因此为每个设备引入随机延迟(最大可达实际训练时间的2倍),以模拟不同设备之间的差异。对于输入训练数据,不同设备之间的数据分布也存在差异,因此采用了两种分布模式:独立同分布(Idd,每个设备以相同概率接收各类标注数据),以及非独立同分布(NoIdd,每个设备仅接收有偏标注数据)。
实验结果如图2所示,用于说明不同方法的收敛速度。对于特定分布情况下的独立同分布和非独立同分布,异步联邦学习比同步联邦学习收敛更快。由于不同设备通常接收不同类型输入数据,因此非独立同分布情况更为常见,在现实世界中具有实用性,例如人们会根据自己的偏好拍摄风景照片。图2(a) 显示了独立同分布(Idd)下的表现优于非独立同分布(NoIdd)的情况。总利用轮数也进行了比较,如图2(b)所示,其表示来自所有设备的轮数之和。由于服务器与边缘设备之间的通信频率较低,同步联邦学习(Sync‐FL)中同步执行的训练任务的总轮数少于异步联邦学习(Async‐FL),这也导致其收敛速度较慢。
准确率与训练时间;(b) 准确率与总训练轮数)
4 结论
本文在边缘系统上原型化了联邦学习的实际应用。考虑到不同设备之间计算能力存在的差异,提出了异步联邦学习以减轻通信负担并容忍网络问题。实验结果表明,在某些情况下,特别是在计算能力和输入数据分布存在显著差异的边缘系统中,异步联邦学习的表现优于传统的同步联邦学习。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)