论文分享|边缘计算中使用数据和模型并行加速联邦学习
CCF 推荐 A 类国际期刊 IEEE/ACM Transactions on Networking 录用。该项工作同时获得了国家重点研发计划项目(No.2021YFB3301500)、国家自然科学基金项目(No. 62102391、62132019和61936015)以及江苏省青年科学基金(No. BK20210122)的资助。论文信息如下:
论文标题:Accelerating Federated Learning With Data and Model Parallelism in Edge Computing
论文作者:Yunming Liao, Yang Xu, Hongli Xu, Zhiwei Yao, Lun Wang, Chunming Qiao
第一作者简介:廖云铭,2020年本科毕业于中国科学技术大学,现为中国科学技术大学博士二年级学生,主要致力于边缘计算和联邦学习的研究。
背景介绍
最近,边缘人工智能被提出在网络边缘挖掘和发现有价值的知识。联邦学习作为边缘人工智能的一种新兴技术,已被广泛应用于以数据并行的方式在许多终端设备上协同训练模型。
为了减轻资源受限的边缘节点(如终端设备)的计算/通信负担,并保护用户隐私,在边缘计算(Edge Computing)中集成了数据并行性和模型并行性的分裂联邦学习(Spilt Federated Learning, SFL)正在成为一种实用和流行的分布式数据模型训练方法。
然而,除了资源的限制外,SFL在边缘计算中还面临着另外两个关键的挑战,即系统异构性和节点动态性。为了克服这些挑战,我们提出了一种高效的SFL方法,名为AdaSFL,它集成控制本地更新频率和数据批处理大小以更好地加速模型训练。我们从理论上分析了模型的收敛速度,得到了给定数据批处理大小下与本地更新频率相关的收敛上界。
在此基础上,我们开发了一种控制算法来确定自适应的本地更新频率和每个节点不同的批处理大小,以提高训练效率。实验结果表明,与基线相比,AdaSFL可以在达到相似的测试精度时减少约43%的完成时间,并减少约31%的网络流量消耗。
研究意义
在现代以云为中心的应用程序中,在终端设备上生成的数据总是被导入到云服务器或数据中心中以进行管理和分析。据报道,到2025年,全球将有754.4亿物联网(IoT)设备,每年这些设备将产生超过847个ZB数据。因此,将所有数据从设备传输到集中式云通常是不切实际和不必要的,这促进了边缘计算的发展,边缘计算旨在本地存储数据,并将更多的计算能力推到终端设备上进行数据处理。为了从分布式数据中挖掘和发现有价值的知识,许多深度学习技术已被应用于边缘计算中,形成了一个与边缘智能(edgeAI)相关的新的研究方向。
联邦学习作为边缘智能中一种新兴和流行的技术,被提出通过边缘节点(如终端设备或边缘设备)以数据并行的方式协作来训练全局模型。在参数服务器(PS)的协调下,参与的客户端定期在自己的数据集上进行本地训练深度学习模型,并在不公开原始数据的情况下将模型推送到参数服务器中进行全局聚合。通过利用联邦学习,谷歌可以持续地以这种隐私优势的方式改善Gboard应用程序的用户体验。为了提高边缘人工智能应用的性能,提高深度学习模型的参数是常见和有效的。然而,由于CPU和内存的硬件限制,资源有限的边缘节点训练大规模模型是困难的。此外,节点与参数服务器之间的大规模模型传输可能会导致显著的通信延迟,并且侵犯模型的隐私。
为了减轻资源受限边缘节点的计算/通信负担,并更好地保护模型隐私,集成数据并行和模型并行的分裂联邦学习(SFL)被提出。分裂联邦学习与联邦学习一样,在生物学、临床医学、基因组学和公共卫生领域已经有了广泛的应用。分裂联邦学习将整个模型拆分为两个子模型,即底部模型和顶部模型。底部模型主要在边缘节点本地进行训练,而顶部模型在参数服务器上进行训练。与典型的联邦学习不同,在分裂联邦学习中,只有底部模型和分裂层表示(也称为粉碎数据,中间结果)以及梯度在节点和参数服务器之间进行交换。由于它们的尺寸比整个模型的尺寸要小得多,因此通信负载将被显著释放。例如,一个8层的AlexNet的大小约为136MB,而在第五层分裂AlexNet时,它的底部模型和中间结果(批处理大小为64)的大小分别约为9MB和1MB。考虑到节点只能访问部分模型,而原始数据仍在本地处理,用户和模型的隐私将得到有效的保护。此外,将顶部模型的训练转移到相对资源较丰富的服务器上,将减少节点的计算负荷,有助于以这种模型并行的方式有效地训练更大规模的模型。
然而,除了资源的限制之外,在实际应用中还应考虑到其他两个关键特性。1)系统异质性。它通常涉及到在EC系统中具有不同能力的异构节点。由于系统的异质性,快速的节点可能不得不等待存在同步障碍的慢速的节点(即掉队者),这导致了不可忽视的等待时间,降低了训练效率。2)上下文动态。由于内在条件和外部条件(即上下文),如环境温度、CPU状态、与参数服务器的网络连接等,在训练期间,每个节点的计算时间和通信时间可能会有显著变化。虽然隐私泄漏同样是一个重要的挑战,但本工作我们主要关注在资源有限的边缘计算系统中系统异构性和上下文动态的挑战,正交与隐私泄漏的研究,并且现有在隐私保护方面的工作可以应用于我们的工作。
现有的分裂联邦学习的工作主要集中在如何在资源有限的节点上训练一个大规模的深度学习模型。SplitFed首先证实分裂联邦学习的可行性,并在每次迭代后聚合底部模型,导致了网络流量消耗较高。LocSplitFed利用辅助网络使用局部梯度更新底部模型,显著降低了流量消耗,提高通信效率。但是,LocSplitFed中的辅助网络不能在每次迭代时更新顶部模型,导致收敛时间增加。虽然还有相关工作提出在不汇总底部模型的情况下减少流量消耗,加速训练,但这些工作牺牲了模型的准确性,没有理论保证。LocFedMix-SL作为一种先进的解决方案,实现了在固定的本地更新频率下进行模型训练,但不能充分利用异构边缘节点的能力。此外,上述所有工作都为异构节点分配了固定和相同的批处理大小,由于系统的异构性和上下文动态,导致了较长的训练延迟。
在本文中,我们深入研究了控制本地更新频率和批处理大小的好处,以充分克服上述挑战。与之前的工作不同,我们探索了自适应地在每个聚合轮中调整本地更新频率,以减少资源消耗,并为异构节点分配不同的批处理大小,以消除同步障碍带来的空闲等待时间。一般来说,具有较高计算和通信能力的节点将被分配到较大的批处理规模。此外,根据我们的理论收敛分析和实验预测试,相对较小或较大的本地更新频率会导致更多的训练时间或更低的模型精度。因此,同时确定不同节点的批处理规模和本地更新频率来更好地提高资源约束下的训练效率具有极大的挑战性。本文的主要贡献总结如下:
我们设计了一种高效的分裂联邦学习方法,称为AdaSFL,它集成了批处理规模和本地更新频率的自适应控制,以解决资源约束的边缘计算系统中系统异构性和上下文动态性的挑战。 我们从理论上分析了模型的收敛速度,得到了给定批处理大小下关于本地更新频率的收敛上界。在此基础上,我们开发了一种控制算法来确定异构节点的不同批处理规模和自适应的本地更新频率,从而更好地提高训练效率。 我们通过广泛的实验来证明了AdaSFL的性能。实验结果表明,与基线相比,AdaSFL可以减少约43%的完成时间,并减少约31%的网络流量消耗,以达到相似的测试精度。
系统描述与问题定义
3.1 分裂联邦学习
3.2 具有自适应的本地更新频率和批处理大小的AdaSFL
3.3 问题定义
收敛分析
算法设计
基于前述的问题定义和收敛分析,我们提出了一个优化的控制算法来贪心决策了每个节点的不同批处理大小和每个聚合轮次的自适应本地更新频率。具体算法如算法1(节点侧),算法2(服务器侧)所示。
实验结果
6.1 实验设置
我们在三个真实数据集上进行了大量实验。
EMNIST是一个手写字符数据集,包含来自62个类别(10个数字,52个大小写字符)的731,668个训练样本和82,587个测试样本。我们使用了一个简单的5层模型CNN来训练EMNIST数据集,并在第2层进行切分。 CIFAR-10是由10个类别组成的图像数据集,包含60,000个3232彩色图像(50,000个用于训练,10,000个用于测试)。我们使用了一个经典的8层模型AlexNet来训练CIFAR-10数据集,并在第5层进行切分。 ImageNet是一个视觉识别数据集,包含来自1,000个类别的1,281,167张训练图像,50,000张验证图像和100,000张测试图像。为了应对边缘设备的受限资源,我们创建了IMAGE-100,它是ImageNet的子集,包含100个类别中的样本,并且每个样本的大小为64643。为了训练好该复杂的ImageNet数据集,我们使用了一个著名的16层模型VGG16来训练,并在13层进行切分。
我们挑选了4个经典或先进的算法作为基线。
FedAvg是一个著名的经典FL算法,它使所有参与的节点训练整个模型,并将它们聚合以得到一个全局模型。 SplitFed是第一个SFL算法,其本地更新频率指定为1,且所有节点的批处理大小都是固定的和相同的。 LocSplitFed引入辅助网络,避免节点与参数服务器之间的频繁通信,减少通信资源消耗。 LocFedMix-SL是最先进的SFL算法,它通过以固定的本地更新频率(大于1)和批处理大小来进行模型训练,集成了SplitFed和LocSplitFed的优点,但没有解决系统异构的问题。
我们通过在边缘计算硬件原型系统上进行的大量实验,评估了AdaSFL的性能。具体来说,我们采用了配备了Intel (R)核心(TM)i9-10900X CPU,4 NVIDIA GeForce RTX 2080TiGPU和128 GB RAM的AMAX深度学习工作站作为参数服务器。此外,我们使用了15个Jetson TX2设备和15个Jetson Xavier NX设备来构成一个异构的边缘计算系统。具体的实验结果如下图所示。
结论
在本文中,我们提出了一种具有自适应本地更新频率和批处理大小的有效的SFL方法,称为AdaSFL。我们给出了AdaSFL的理论收敛性分析,并设计了一种控制算法来确定异构节点自适应的本地更新频率和不同的批量大小,以提高训练效率。我们通过在典型模型和数据集上进行实验来评估AdaSFL的性能。实验结果证明了我们的AdaSFL的有效性。
本文参考: 中国科大智能网络与系统课题组
作者:廖云铭
分享仅供学习参考,若有不当,请联系我们处理。
END
热文
2.论文详解丨基于错误学习难度实现联邦学习的高效差分隐私安全聚合
推荐