当前位置: 首页 > article >正文

TinyML中的去中心化资源共享:无线双层Gossip并行随机梯度下降用于协作学习

论文标题

Decentralised Resource Sharing in TinyML: Wireless Bilayer Gossip Parallel SGD for Collaborative Learning

作者信息

Ziyuan Bao, Eiman Kanjo, Soumya Banerjee, Hasib-Al Rashid, and Tinoosh Mohsenin

论文出处

arXiv:2501.04817v1 [cs.LG] 8 Jan 2025

摘要

随着微控制器单元(MCUs)计算能力的提升,边缘设备现在可以支持机器学习模型。然而,在这些设备上部署去中心化联邦学习(DFL)面临着诸多挑战,包括间歇性连接、有限的通信范围和动态网络拓扑。本文提出了一种新颖的框架,双层Gossip去中心化并行随机梯度下降(GD-PSGD),旨在解决资源受限环境中的这些问题。该框架采用层次化通信结构,使用分布式K均值(DK-means)聚类进行地理分组,并通过Gossip协议在两个层次(簇内和簇间)进行高效的模型聚合。我们使用MCUNet模型在CIFAR-10数据集上评估了该框架的性能,并与集中式联邦学习(CFL)基线进行了比较,分别在IID和Non-IID条件下进行测试。结果表明,所提出的方法在IID数据集上实现了与CFL相当的准确率,仅需额外1.8轮即可收敛。在Non-IID数据集上,中等数据不平衡时准确率损失保持在8%以内。这些发现突显了该框架在边缘设备上支持可扩展且保护隐私的学习的潜力,且性能折中最小。

1. 引言

机器学习和人工智能的快速发展显著增加了边缘设备(如手机、物联网传感器和可穿戴设备)生成的数据量。这一数据爆炸突显了传统集中式学习模型的局限性,其中数据在中央服务器上聚合以进行模型训练。这些集中式模型面临诸多挑战,包括数据隐私问题、高带宽消耗和增加的延迟,使其不适合许多基于边缘的应用。为解决这些问题,McMahan等人引入了联邦学习(FL)。FL使边缘设备能够在保留本地数据的同时协作训练全局模型,从而保护隐私并减少通信成本。然而,大多数FL实现依赖于集中式联邦学习(CFL)范式,其中中央服务器负责模型聚合。这种集中式方法存在风险,如可扩展性的瓶颈、增加的延迟和单点故障,这削弱了系统的健壮性。去中心化联邦学习(DFL)作为一种替代方案出现。通过启用边缘设备之间的直接通信,DFL消除了对中央服务器的需求,提高了可扩展性和弹性。然而,现有的DFL框架通常假设静态且完全连接的网络拓扑,这在现实世界场景中是不切实际的。在传统联邦学习中,中央服务器通常等待所有参与设备完成计算并提交更新后的权重。这导致服务器的空闲时间,从而在训练过程中造成不必要的延迟。如果负责协调累积学习和聚合模型更新的中央服务器失败,情况将变得严重。这种失败会破坏整个学习工作流程,导致系统停机并停止进展。此外,边缘设备表现出实际限制,包括有限的通信范围、低计算能力和动态网络条件。这些挑战严重限制了当前去中心化联邦学习(DFL)方法在现实世界应用中的可行性和有效性。为克服这些限制,我们提出了双层Gossip去中心化并行随机梯度下降(GD-PSGD)框架。该框架引入了层次化通信结构,结合地理聚类和基于Gossip的模型聚合。分布式K均值(DK-means)用于高效聚类,并利用Gossip协议进行簇内和簇间通信,有助于减少通信开销并提高资源受限环境中的可扩展性。本文的主要贡献如下:

  • 提出了一种使用分布式K均值(DK-means)进行高效地理聚类的双层Gossip协议。

  • 针对边缘环境定制的去中心化通信模型,解决了有限的通信范围和动态拓扑问题。

  • 在IID和Non-IID数据场景下对框架进行了全面评估,与CFL相比显示出具有竞争力的结果。

2. 相关工作

联邦学习(FL)作为一种隐私保护分布式机器学习的解决方案,受到了广泛关注。最初由Google研究人员提出的FL,允许多个设备在保持本地数据隐私的同时协作训练共享的全局模型。早期的FL实现展示了其在个性化语言模型等应用中的潜力,例如Google的键盘应用,其中本地数据保留在用户设备上。传统的FL架构通常是集中的,服务器负责协调模型更新和聚合。例如,Federated Averaging(FedAvg)方法已被广泛采用用于全局模型更新,确保效率和可扩展性。然而,集中式联邦学习(CFL)面临挑战,如单点故障,服务器故障会中断整个学习周期,以及通信瓶颈,随着设备数量的增加,中央服务器的通信负载增加,限制了可扩展性。这些限制促使了去中心化联邦学习(DFL)的发展,作为一种更健壮的替代方案。DFL通过启用设备之间的点对点通信来消除对中央服务器的依赖,提高了可扩展性和系统弹性。例如,基于点对点通信的框架通过消除中央服务器显著减少了通信开销并提高了可扩展性。然而,缺乏中央协调器引入了新挑战,包括对高效网络拓扑和通信协议的需求。完全连接的网状拓扑确保了健壮性,但带来了高通信成本,使其对于资源有限的边缘设备不切实际。更简单的拓扑,如环形或星形,通信成本较低,但在稀疏或动态网络中可能导致延迟和效率低下。已经探索了自适应拓扑,通常利用聚类技术根据接近度或数据相似性对设备进行分组。层次化框架结合了聚类和去中心化的优点,促进了高效通信和聚合。这些设计进一步通过基于Gossip的协议得到增强,通过迭代聚合模型更新跨对等体实现强大的收敛率。例如,MATCHA算法动态调度非重叠通信链路以减少开销,同时保持连通性。这些方法展示了去中心化架构在处理大规模部署方面的潜力。最近的工作还集中在使FL能够在资源受限的环境中运行。设备上的训练和TinyML技术,如模型量化和剪枝,允许FL模型在微控制器和其他低功耗边缘设备上运行。MCUNet是这一方向的代表,通过在资源受限的硬件上启用高效模型部署,为IoT应用中的可扩展FL铺平了道路。去中心化优化方法,如去中心化并行随机梯度下降(D-PSGD),进一步通过消除对中央服务器的依赖来增强DFL。这些方法即使在网络条件动态变化的情况下,也能通过利用梯度跟踪和方差减少技术确保稳定的收敛。纳入D-PSGD的框架展示了与集中式方法相当的性能,使其成为大规模、去中心化学习系统的可行替代方案。先进通信协议、自适应拓扑和轻量级模型的整合突显了FL不断发展的格局。这些进步旨在解决去中心化的固有挑战,如网络动态性、资源限制和数据异质性,同时保持强大的模型性能。

1915d7c04c8f47ce8837440ed458e450.png

3. 方法论

本文提出的双层Gossip GD-PSGD框架通过分布式K均值(DK-means)聚类进行地理分组,并利用Gossip协议在簇内和簇间进行高效的模型聚合。该框架的主要贡献包括:

  • 提出了一种使用分布式K均值(DK-means)进行高效地理聚类的双层Gossip协议。

  • 针对边缘环境定制的去中心化通信模型,解决了有限的通信范围和动态拓扑问题。

  • 在IID和Non-IID数据场景下对框架进行了全面评估,与集中式联邦学习(CFL)相比显示出具有竞争力的结果。

4. 算法

算法1:D-PSGD与1对1 Gossip协议

  1. 输入:初始节点状态、簇内Gossip迭代次数、簇间Gossip迭代次数、总迭代次数。

  2. 使用DK-means形成簇。

  3. 每个节点并行执行本地更新。

  4. 簇内Gossip通信,随机选择邻居节点进行模型权重交换。

  5. 簇间Gossip通信,随机选择其他簇的邻居节点进行模型权重交换。

  6. 使用累积FedAvg进行模型聚合。

5. 收敛框架

本文分析了D-PSGD的收敛率,考虑了无向网络的谱隙和随机梯度的有界方差。主要结论包括:

  • D-PSGD的收敛率可以达到与集中式方法相当的线性加速。

  • Gossip协议的平均时间直接影响D-PSGD的收敛率,较小的第二最大特征值(或较大的谱隙)有助于更快收敛。

6. 实验

实验使用CIFAR-10数据集,比较了双层Gossip GD-PSGD与集中式联邦学习(CFL)的性能。结果表明:

  • 在IID数据集上,双层Gossip GD-PSGD与CFL的最终性能相当,仅需额外1.8轮即可收敛。

  • 在Non-IID数据集上,中等数据不平衡时准确率损失保持在8%以内。

  • 通信范围对最终性能影响较小,即使在Non-IID数据集上也是如此。

  • 增加设备数量会略微减慢收敛速度,但不影响最终性能。

7. 限制与机会

本文指出DFL面临的挑战,包括缺乏标准化的基准和评估任务,以及缺乏在边缘设备上的实际测试实例。未来的工作方向包括:

  • 在边缘设备上部署DFL架构和设备上的训练。

  • 探索双层、多层或层次化聚合机制,以提高DFL的收敛率。

  • 研究不同的层次化拓扑和聚类标准,如地理位置、地球移动距离(EMD)或两者的组合,以优化网络架构。

8. 结论

本文提出的双层Gossip GD-PSGD框架在边缘设备上实现了与集中式联邦学习(CFL)相当的性能,同时在不同的数据集、通信范围和设备数量下表现出良好的鲁棒性。该框架通过层次化通信结构和Gossip协议,有效解决了资源受限环境中的通信和计算挑战。

 


http://www.kler.cn/a/504145.html

相关文章:

  • Java Stream流操作List全攻略:Filter、Sort、GroupBy、Average、Sum实践
  • w160社区智慧养老监护管理平台设计与实现
  • Spring Boot 应用开发入门
  • PyQt5
  • E12.【C语言】练习:求两个数的最大公约数
  • Pcl联合Qt显示点云
  • React:构建用户界面的JavaScript库
  • IvorySQL 4.0 之 Invisible Column 功能解析
  • 性能测试工具Jmeter分布式运行
  • 使用 C# 制作图像的特写窗口
  • Linux 查看磁盘的 I/O 读写情况(随手记)
  • 【2025 Rust学习 --- 14 迭代器创建和使用】
  • qt QLabel QPushButton 控件重写paintEvent后 控件消失
  • 【Ubuntu与Linux操作系统:六、软件包管理】
  • 忘记了PDF文件的密码,怎么办?
  • Linux操作系统分析实验一:多线程与内核模块编程
  • 【深度学习】论文画图
  • MySQL学习笔记5【SQL优化/视图/存储过程/触发器】
  • 使用Axios实现无刷新信息验证:提升用户体验
  • 基于Piquasso的光量子计算机的模拟与编程
  • 电梯系统的UML文档02
  • 62_Redis服务器集群优化
  • 从零搭建一个Vue3 + Typescript的脚手架——day1
  • Redis快速入门店铺营业状态设置
  • px、em 和 rem 的区别:深入理解 CSS 中的单位
  • 【ArcGIS初学】产生随机点计算混淆矩阵