2023-7 约束边缘设备的联邦学习

文章名字:CENTAUR: FEDERATED LEARNING FOR CONSTRAINED EDGE DEVICES

作者:Fan Mo  Mohammad Malekzadeh  Soumyajit Chatterjee  Fahim Kawsar  Akhil Mathur 

摘要:

深度神经网络上的联邦学习(FL)促进了边缘的新应用,特别是可穿戴设备和物联网设备。这样的设备捕获大量不同的数据,但它们有内存、计算、电源和连接限制,这阻碍了它们参与FL。我们提出了Centaur,一个多层FL框架,使超约束设备能够有效地参与大型神经网络上的FL。

主要贡献:1)一种数据选择方案,选择一部分样本加速学习

2)一种基于分区的训练算法,它集成了同一用户拥有的受限设备和强大设备。

1 简介

虽然智能手机和加速器不如云机器强大,但它们配备了移动图形处理器,拥有千兆字节的运行时内存,并与中央服务器有相当稳定的连接。

在本文中,我们将重点放在边缘超约束设备(ucd)上更具挑战性的跨设备FL设置上。

主要动力:1.由于多种设备传感器的可用性,ucd正在成为个人的主要数据生产单元

2.ucd在收集的数据中提供了时空的丰富性,这在面向智能手机的设置中通常是缺失的。

挑战:

ucd没有与中央服务器的直接网络连接,而是使用无线接入点(AP),例如智能手机或网络路由器作为中继连接到服务器。无线连接,通常通过蓝牙(低能耗),由于设备的移动性,并不总是可用或可靠的。

由于设备上的内存和计算资源有限,可以在ucd上进行本地训练的模型的复杂性受到限制。另一种方法是将所有数据从ucd卸载到ap上,并在ap上进行训练;但是存储大量数据可能会超过ucd的设备存储限制,特别是当ucd持续离线时。

为了应对这些挑战,我们认为ucd上跨设备FL的潜在解决方案需要意识到这些限制,并可以根据资源可用性机会性地分布计算

Centaur是一个端到端的框架,它利用了固定的UCD到AP的结构来分布训练过程。它由两部分组成:数据选择和基于分区的训练

首先,Centaur在两个分区中提供资源高效的DNN初始化:AP上是强大的编码器(例如特征提取器)在UCD上是轻量化的分类器。

第二,在训练过程中Centaur利用训练损失和对梯度的正则来进行数据选择。被收集的数据会被分类为:丢弃,保留,上传。

第三,在分裂学习(Gupta & Raskar, 2018)和迁移学习(Weiss等人,2016)的激励下,Centaur为UCD和AP执行基于分区的联邦训练。更具体地说,UCD保持编码器冻结,只在数据的本地部分训练分类器,而AP在传输的数据上训练完整的模型,因为它有更多的计算资源。与之前关于分层FL的工作不同(Abdellatif et al., 2022;Liu et al., 2020;在没有模型级分区训练的情况下,Centaur在本质上是自适应的,可以处理ucd上的可用系统资源。

2 相关工作

多层级FL:现有的工作并没有充分利用中间层节点进行模型训练的能力,因为中间层节点仅用于模型聚合,并且假设在终端设备上对大型dnn进行局部训练,这在涉及ucd的场景中是不现实的。

On-device ML:但不适用于FL场景,因为他们经常做出不切实际的假设,比如用于网络架构搜索的大型数据集的可用性;迁移学习代替ucd上的端到端FL,后者通常固定编码器架构,这反过来又限制了新特征的提取,并且只训练最后一层进行个性化训练。

3 设计于算法

3.1 设计要求:

Centaur的主要设计目标是在UCD上启用FL,同时为全局训练的DNN实现理想的测试精度,并最大限度地减少UCD上的训练延迟、能量消耗和存储需求。此外,由于ucd与ap和服务器之间的连接是间歇性的,现有的跨设备FL在终端设备的这种约束下无法工作。因此,在这样的设置中,Centaur应该理想地实现准确和高效的FL。

利用ucd的时空覆盖:ucd的这种优势是以牺牲一个在先前的FL文献中没有研究过的独特挑战为代价的。ucd可以连接到ap并卸载其数据用于训练ML模型;然而,大多数时候ucd可能与ap断开连接,需要在本地处理收集到的数据。在设计任何跨设备FL系统时,应考虑ucd和ap之间连接的不确定性。由于许多ucd都有专用的(但有限的)计算、内存和存储资源,Centaur应该在何时以及如何使用有限的设备上资源进行数据处理,以及何时将数据卸载到ap上做出最佳决策。

存储效率:解决UCD连接性挑战的一个潜在解决方案可能是将收集到的数据存储在本地。之后,当UCD恢复到AP的连接时,它可以卸载数据进行训练。然而,这种解决方案并不实用,因为典型ucd的设备上存储(例如闪存)通常在512KB到2MB之间,在本地存储大量数据是不可可行的。即使UCD与AP有持久的连接,流式传输大量数据也会耗尽它的电池。因此,Centaur应该自动选择一小部分“重要”数据点存储在本地或卸载到ap。样本的重要性是根据样本对学习过程的贡献来决定的。

训练效率:由于ucd通常具有有限的运行时内存(例如,256 KB的SRAM),因此设备上的任何模型训练都需要高效。这一挑战可以通过使用预训练的特征提取器来解决,在训练期间保持其卷积层冻结,并且只训练设备上最后几个完全连接的层。然而,冻结卷积层的权重限制了模型的表达能力,并阻止模型从ucd收集的数据中学习重要的特征。因此,在最小化ucd上的设备上模型训练的同时,Centaur还应该确保特征提取器定期地对从ucd收集的新数据进行训练。

3.2 框架总览

分级:

底层包括ucd,它们通过BLE、Wi-Fi、反向散射或其他无线技术连接到它们的ap。我们假设由于ucd的自然移动性,这些连接并不总是可用或可靠的。分类器的数据选择过程和训练在ucd上局部进行。

中间层,包括ap,负责训练编码器和它上面的分类器。

顶层包括一个服务器,它为ucd和ap训练的分类器和编码器执行模型聚合。

流程:

1:服务器请求ucd的资源信息来初始化一个由编码器E和分类器C组成的DNN模型(M),然后将E和C分发给ap,随后分发给ucd。

2:ucd通过对收集的数据D执行数据选择来启动FL,基于通过前向传递计算的损失值和分类器最后一层梯度的大小。

3:UCD在这个纪元直接丢弃数据DN,不需要任何进一步的训练步骤或向后传递。

4:UCD对数据DC执行分类器C的向后传递,而编码器E被冻结。然后,UCD通过计算出的梯度更新C的参数。注意,在实践中,在步骤2中完成的梯度计算©可以重复用于此更新。

5:ucd将更新后的分类器C共享给服务器(通过AP),服务器对参与ucd的所有C进行聚合,以获得一个聚合的分类器。

6:服务器将聚合的分类器发送回ucd和ap。

7:使用更新的分类器,AP在数据DM上训练编码器E和分类器C。也就是说,DM向前传递,然后向后传递,以更新M。

8:更新后的M(包括E和C)从AP共享给服务器。服务器从所有参与ap收集更新后的M后,进行模型聚合,得到聚合后的编码器E和分类器C,并分发回ucd和ap,如步骤6所示©。

 

3.3 模型初始化:

编码器E:通常,来自预训练模型的候选空间的DNN架构已经很好地开发了,并将有效的量化和压缩路由部署在ucd上进行推理。(Model Zoo)

分类器C:需要设计分类器,使其能够在这些设备上可用的有限内存和计算能力上运行。为了实现这些目标,我们迭代地寻找能够适应这些ucd有限内存的候选架构.(NAS)在这个方向上,一个健壮的机制是获取一个特定设备的内存使用历史,它反映了UCD上典型的内存可用性。从形式上讲,迭代过程可以看作是一个优化问题,描述为

 UCD将内存使用历史发给服务器,服务器根据历史得到M,用上面的优化目标选出合适的C。

同样,我们通过为C选择最小的架构,然后将其部署到ucd上来解决低计算资源的问题。

3.4 数据选择

我们使用(i)损失值和(ii)最后一层梯度范数的组合来衡量样本的重要性。

基于损失的选择:我们认为较低的损失值表明数据不那么重要,较高的损失值表明数据的重要性

 CDF:数据的累积分布,也即小于等于当前数据值的所有数据的概率分布

 基于梯度的选择:对于没有通过PN和PM选择的样本,为了避免消耗额外的ucd资源,我们进一步计算分类器最后一层的梯度。这些梯度的范数给了我们一个关于样本重要性的有用提示,同时需要比计算所有层的梯度少得多的计算。(CDF)

 我们注意到,使用这种考虑损失和最后一层梯度范数混合的动态策略,我们的数据选择方案在ucd上的计算成本和选择性能之间实现了更好的平衡。我们也可以用稍后出现的更高级的重要性抽样技术来替换这个模块

3.5 FL分区训练和聚合

考虑到UCD训练和AP训练在一轮中迭代进行,我们将算法设置为R/2轮。所有培训都在客户的设备上进行,无论是在ucd上还是在ap上。然后,对于所有更新的权重,服务器执行联邦平均(FedAvg) (McMahan等人,2017a)以获得一个聚合的全局模型。新的全局模型需要分发给所有客户端UCD和AP,以便(i) AP上的训练有更新的分类器,(ii)下一轮UCD上的训练有更新的编码器和分类器。

4 度量标准和实验设置

1 精度:训练模型在中央服务器托管的测试集上的分类精度。

2 MAC: 乘法-累加(MAC)操作是计算两个数的乘积并将乘积加到累加器的常见步骤。MAC是全连通层和卷积层在训练和推理过程中最基本的操作。计算在每个模型训练期间执行的MAC操作的数量。根据之前的观察(Marius hobhahn, 2021),为了计算向后传递中的mac,我们使用启发式方法,基于模型的特定层类型,向后向前传递的flop(即双mac)比例通常在1×到3×之间,最常见的是2×

3. 带宽:由于模型的大小(即编码器或分类器)在每个FL轮中可能不同,我们使用fvcore来计算每轮中通信的参数的数量。然后,根据模型大小和ucd、ap和服务器之间的通信数量,我们计算所消耗的带宽量。当出现这种情况时,我们还会计算从ucd上传到ap的样本点的数量。

4.时延:众所周知,对于MCU类型的处理器,由于缺乏专门的加速,延迟与MAC操作有线性关系,因此,我们根据典型MCU的频率来估计模型训练的延迟:

 为了简单起见,我们假设每个MAC操作转换为MCU中的两条指令。考虑到高级指令(例如,Intel LEA(加载有效地址)在一条指令中完成一个MAC (WiKiBooks, 2021))应该只缩放实验结果,而不改变最终结论。最后,根据需要传输的数据总量除以设备的上行链路速度或下行链路速度来估计通信延迟。

5.能耗:我们根据总执行时间乘以处理器每单位时间消耗的能量来估计训练的能量消耗。通信的能量消耗也可以根据传输数据的总时间乘以发射机单位时间的功率来计算

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值