【论文阅读 | 异步联邦】FedLC: Accelerating Asynchronous Federated Learning in Edge Computing

一句话总结:考虑计算、通信资源限制,利用 需求列表动态选择 k 个进行交互的设备 ,最大效益 实现在 边缘设备间 的 本地协作

1. 论文信息

FedLC: Accelerating Asynchronous Federated Learning in Edge Computing,IEEE Transactions on Mobile Computing
发表时间:2024,ccfa

2. introduction

2.1. 背景:

边缘设备上的 AFL

2.2. 解决的问题:

设备异构、资源受限、non-iid data

2.3. 贡献点:

  • 为了在 (Edge computing) EC 中实现高效的FL,设计了一种新的异步FL机制 FedLC 。从理论上分析了FedLC的收敛速度,得到了其收敛上界。给出了收敛界与参数 k(每个设备在本地协作时可以接收来自其他设备的梯度的数量)之间的定量关系。
  • 设计了一种有效的算法来确定向每个设备发送梯度的设备集。利用需求表将发送设备的拉梯度转化为接收设备的推梯度,避免了拉操作的阻塞
  • 在真实世界的数据集上进行大量的实验表明 FedLC 可以加快全局模型在非i.i.d上的收敛速度。

3. 问题描述:System model/架构/对问题的形式化描述

由 Federated learning with taskonomy for non-IID data 给出结论:不同数据分布的设备之间的协作性能优于分布相似的设备之间的协作。直观地说,集群间协作的好处是向其他具有不同数据分布的设备学习,这可以通过限制局部梯度 ∇Fi 和全局梯度 ∇F 之间的差距来表示。

(6c) 可以被

代替

4. 解决方法

4.1. 执行流程

  1. 计算资源约束

    确保设备 𝑖 在考虑与 𝑘 个其他设备协作时,不会超出其计算资源 𝐶𝑖 的限制。𝑐 是一个用于标准化的标量,使得

    能够表示设备 𝑖 相对于某个标准量 𝑐 的计算容量。
  1. 带宽资源约束

    确保对于设备 𝑗 来说,所有其他设备 ℎ 向它发送的信息(𝑀ℎ,𝑗)的总带宽需求不超过设备 𝑗 的带宽容量 𝐵𝑗。𝑏 是一个用于标准化的标量,使得

    能够表示设备 𝑗 相对于某个标准量 𝑏 的带宽容量。
  1. 设备间的协作效益评估:

    猜测是

    值减小,收敛界更紧(?)较高的 𝜖 值表示梯度在设备间的一致性更高;数据分布趋于一致时,𝜉 的值会降低

4.2. 挑战问题怎么解决:

4.2.1. 收敛界与 k 的关系

收敛界与 non-iid 度 密切相关(即 ε 和 ξ )

  • 当 non-iid 度减小,ξ 值变小,ε 值增大。因此,

    的值减小,收敛界较紧
  • 当 non-iid 度增大,ξ 值变大,ε 值减小。因此,

    的值增大,收敛界较松
  • 当所有局部数据集遵循相同的分布时,ε 和 ξ 的值都等于1,收敛界变为

4.2.2. 需求列表

Mi: : 入邻接集:矩阵M第 i 行表示 需要向设备 i 发送参数的所有设备集合

M:j:出邻接集:矩阵M的第 j 列代表 设备 j 需要发送梯度的所有设备集合

通过将 M 矩阵的第 j 列分发给设备 j,可以使得原本需要设备 i 主动去拉取(pull)其他设备梯度的操作,转变为设备j 主动推送(push)梯度给设备i。这样,入邻接集R(设备i需要的梯度来源)就被转换成了出邻接集V(设备j发送梯度的目标)。

消除阻塞:这种转换有助于消除由于梯度拉取操作导致的潜在阻塞问题。在异步联邦学习环境中,如果一个设备在等待另一个设备发送梯度时发生延迟,就可能造成阻塞。通过需求列表M和上述的转换,可以减少这种等待时间,因为每个设备都清楚自己需要向哪些设备发送梯度。

4.2.3. SC-FedLC(过时补偿)

为每个设备动态调整学习率来补偿模型陈旧性,考虑了每个设备对全局模型更新的贡献,并尝试通过调整学习率来平衡这种贡献,使全局模型能够更有效地融合来自不同设备的更新

  • 参与频率 𝑟𝑖 为设备 𝑖 的本地 epoch 索引 𝑡𝑖 除以全局 epoch 索引 𝑡,即

  • 全局 epoch 索引 𝑡 为所有设备本地 epoch 索引的总和,因此,所有设备的 𝑟𝑖 之和 等于 1 。

结论:设备 𝑖 的学习率与其参与频率成反比,这种方法的有效性已被文献[24]所验证。(以后写自己的文章可以参考)

4.2.4. 动态调整RTO

参考TCP协议中的超时重传机制,并引入类似的方法,即在重传超时时间(RTO)内未收到服务器的应答,则重传本地模型,以应对恶劣的网络条件

  • RTO 的值会根据实时网络状况进行调整,以适应网络条件的变化
  • 其中 𝜙 是网络状况的指示因子,TRTT 是平滑的往返时间,𝜎(TRTT) 是往返时间的变化量

4.3. 性能保证

假设

引理

定理

根据定理1显示收敛界与 non-iid 度 密切相关(即 ε 和 ξ )。具体来说,当 non-iid 度减小,ξ 值变小,ε 值增大。因此,

的值减小,收敛界较紧,反之亦然。当所有局部数据集遵循相同的分布时,ε 和 ξ 的值都等于1,收敛界变为

η 是学习率,𝜖 是一个预定因子,𝐷 是总样本数,𝑑𝑖 是设备 𝑖 上的本地样本数,𝛽 是梯度的Lipschitz常数(即平滑度的度量),而 𝜉 是与参数 𝑘 相关的一个量,它取决于设备间梯度的多样性。

5. 效果:重点是实验设计,每一部分实验在验证论文中的什么结论

5.1. 关注的性能指标:

i) test accuracy

ii) completion time

iii) traffic consumption

5.2. 仿真实验

5.2.1. Convergence Performance

对三种数据集而言,FedLC与其他三种 baseline 比较都具有更快的收敛性能

5.2.2. Effect of Staleness Compensation

SC-FedLC优于FedLC,并且通过使用过时补偿机制减少了收敛完成时间。(SC-FedLC为陈旧的局部模型分配了更大的学习率,缓解陈旧对收敛的负面影响)

5.2.3. Impact of Non-i.i.d. Degrees

从图 4-6 可以看出,FedLC 和 SC-FedLC在三个数据集上比现有方法都好,SC-FedLC 比 FedLC 还好

5.3. 试验台实验

5.3.1. Impact of Heterogeneity Levels

在相同的训练时间下,FedLC 和 SC-FedLC 比现有的方法具有更高的测试精度(说明局部协作和过时补偿的有效性)

5.3.2. Varying the Number of Jetson Devices

随着异构程度的增加,FedLC 和 SC-FedLC 在测试精度上的增益比现有方法更高

5.3.3. Comparison of Traffic Consumption

SC-FedLC 可以在提高测试精度的同时减少完成时间,而不会显著增加通信开销,虽然没有 FedAvg 开销低,但是结合图 7 - 9 看,异步算法在时间和测试精度的平衡上做的更好

5.3.4. Effect of Timeout Retransmission

通过超时重传模型,FedLC- t从重传的模型中获得比FedLC更多的知识,(FedLC 会直接忽略超时模型,直接进行进一步的训练)

6. (备选)自己的思考

  • 直接协作:设备间直接交换参数
  • 中间协作:利用server
  • 设备 𝑖 的学习率与其参与频率成反比,这种方法的有效性已被文献[24]所验证。(以后写自己的文章可以参考)

     


 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matlab 是一种常用的科学计算软件,在进行复杂计算和处理大量数据时可能会因为性能问题而变得缓慢。加速 Matlab 的性能可以通过以下几种方式实现: 1. 优化算法:通过对算法进行优化,减少计算量和内存占用,可以大幅提升 Matlab 的性能。例如,可以使用更高效的线性代数方法,避免重复计算,减少循环次数等。 2. 并行计算:Matlab 支持并行计算,可以利用多核处理器或集群来加速计算。可以使用 parfor 循环或 spmd 块来并行化计算过程,提高计算效率。 3. 矢量化计算:尽量避免使用循环,使用矩阵和矢量化计算来替代。Matlab 支持对整个矩阵或数组进行操作,可以大幅度减少循环次数,提高计算速度。 4. 预分配空间:在进行大型数据处理时,预先分配好足够的内存空间可以避免 Matlab 动态扩展内存的开销,提高计算速度。 5. 使用编译器:Matlab 提供了 MATLAB Compiler 工具箱,可以将 Matlab 代码编译成可执行文件或独立应用程序。编译后的代码可以减少运行时的开销,提高性能。 6. 使用 MEX 函数:MEX 是 Matlab 的外部接口,可以使用 C、C++ 或 Fortran 编写高效的算法,并与 Matlab 代码进行交互。使用 MEX 函数可以通过调用底层语言的优化算法来加速计算。 总而言之,加速 Matlab 性能的关键是通过优化算法、并行计算、矢量化计算、预分配空间、使用编译器和 MEX 函数等方法来减少计算量和提高计算效率。这些方法可以帮助用户更高效地使用 Matlab,并加速复杂计算和大数据处理的速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向大蒜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值