Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge

Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge

摘要

我们设想了一个用于机器学习(ML)技术的移动边缘计算(MEC)框架,它利用分布式客户端数据和计算资源来训练高性能ML模型,同时保留客户端隐私。为了实现这一未来目标,本文旨在扩展联邦学习(FL)这个分散学习框架,使模型的隐私保护训练能够在实际的蜂窝网络中与异构客户端协同工作。FL协议迭代地要求随机客户端从服务器下载一个可训练的模型,用自己的数据更新它,并将更新的模型上传到服务器,同时要求服务器聚合多个客户端更新以进一步改进模型。虽然此协议中的客户端不必公开自己的私有数据,但当某些客户端的计算资源有限(即需要更长的更新时间)或在较差的无线信道条件(更长的上传时间)下时,整个训练过程可能会变得效率低下。我们的新的FL协议(我们称之为FedCS)缓解了这个问题,并有效地执行FL,同时根据客户的资源条件积极地管理客户。具体来说,FedCS解决了具有资源约束的客户端选择问题,它允许服务器聚合尽可能多的客户端更新,并加速ML模型中的性能改进。我们使用公开的大规模图像数据集进行了一项实验评估,以训练用于MEC环境模拟的深层神经网络。实验结果表明,与原FL协议相比,FedCS能够在较短的时间内完成其训练过程。

  1. INTRODUCTION

各种现代人工智能产品都采用了尖端机器学习(ML)技术,从安装在智能手机上的人脸检测和语言翻译,到亚马逊Alexa和谷歌主页等虚拟助手中使用的语音识别和语音合成。因此,开发这样的人工智能产品通常需要大规模的数据,而这些数据对于训练诸如深层神经网络之类的高性能ML模型是必不可少的。可以说,大量的物联网设备、智能手机和带有高分辨率传感器的自主车辆(所有这些设备都连接到高速网络)可以在不久的将来作为有希望的数据收集基础设施(例如[1])。近十年来,通信和移动计算领域的研究人员开始与数据科学界进行互动,并提出了可用于大规模数据收集和处理的移动边缘计算(MEC)框架[2]。

通常,MEC框架假设所有数据资源都通过蜂窝网络从数据收集客户端(物联网设备、智能手机和连接车辆)传输到计算基础设施(高性能服务器)以执行其任务[3]、[4]。但是,当收集私人活动数据(例如生活日志视频,电子邮件通信的历史记录和记录的电话呼叫)时,这种假设并不总是可以接受的。一方面,这些私人活动数据将是提高支持我们日常生活的人工智能产品质量的关键因素,这些产品不仅包括智能手机和虚拟助理上的人工智能相关应用,还包括人工智能驱动的智能城市。另一方面,将这些数据直接上传到计算基础设施是有问题的,因为这些数据可能被网络中的恶意用户窃听,从而损害客户的隐私。

为了解决这个基本的隐私问题,ML社区最近提出了一项工作:联邦学习(FL)[5]。如图1所示,FL迭代地要求随机客户端1)从某个服务器下载可训练模型的参数,2)用自己的数据更新模型,3)将新模型参数上传到服务器,同时要求服务器4)聚合多个客户端更新以进一步改进模型。作为要求数据收集客户端安装一定级别的计算资源(例如,配备合理gpu的笔记本电脑、具有中等计算能力的自主车辆[1])的交换,FL协议允许客户端在其本地存储中保持其数据的安全。

在这项工作中,我们着重于在实际的MEC框架中实现上述FL协议。我们相信,我们的工作将影响未来各种人工智能产品的开发平台,这些产品需要大量的私人活动数据来训练ML模型。特别地,我们考虑在具有不同数据资源、计算能力和无线信道条件的异构移动设备使用的蜂窝网络中运行FL的问题。不幸的是,不考虑此类异构客户端属性而直接应用现有FL协议将使整个训练过程效率低下。例如,当一些客户端的计算资源有限时,他们将需要更长的时间来更新模型。此外,如果客户端处于较差的无线信道条件下,则会导致较长的更新时间。所有这些问题都将延迟后续服务器继续训练过程所需的聚合步骤。

我们的主要贡献是一个新的协议,称为FedCS,它可以有效地运行FL,同时MEC框架的一个操作员积极地管理异构客户端的资源。具体来说,FedCS为客户端在FL协议中下载、更新和上传ML模型设置了一定的截止日期。然后,MEC操作员选择客户端,使得服务器能够在有限的时间内聚合尽可能多的客户端更新,这使得整个训练过程高效,并且减少了训练ML模型所需的时间。这在技术上是由一个客户选择问题来描述的,该问题确定哪些客户参与了训练过程,以及每个客户何时必须完成训练过程,同时考虑到客户施加的计算和通信资源限制,我们可以贪婪地解决这一问题。

在模拟的MEC环境中,使用公开的大规模图像数据集生成客户端数据,我们通过对用于目标分类的深层神经网络的实际大规模训练来评估我们的方法。实验结果表明,与原FL协议相比,FedCS能够在较短的时间内完成训练过程。

Related Work

MEC框架的资源优化是通信和移动计算领域的共同课题之一。最近的工作包括异构数据、计算和通信资源的联合优化[6]、[7]、[8]。然而,这些方法是为了最小化一般计算任务的计算时间和/或能量消耗而设计的,这与我们旨在最大化ML模型训练效率的工作有很大不同。此外,如前所述,我们的工作假设不同的场景,其中每个移动客户端都有数据和计算资源,以在执行ML任务时保护客户端数据隐私。这些差异促使我们提出新的定制MEC协议和算法。

联邦学习是ML社区中的一种新兴技术。继开创性的工作[5]之后,最近的研究特别关注如何增强FL协议的安全性[9],[10]。然而,很少有人研究如何在实际的网络配置下高效地运行FL。一个例外是[11],它在牺牲模型性能的同时探索了模型压缩技术以实现高效通信。另一个是[12],它优化了资源受限MEC环境中FL的超参数(即每个更新阶段的epoch数和总epoch数)。然而,这些技术并没有特别考虑客户端的异构计算、通信和/或数据资源。额外使用模型压缩技术可以帮助我们提高协议的整体效率,但这超出了本研究的范围。

2.FEDERATED LEARNING

在这一节中,我们简要介绍了[5]中提出的最初的FL框架。然后,在资源受限的蜂窝网络中,我们识别出当由异构客户端执行FL通信时影响FL通信的问题。

A.Federated Learning

考虑这样一个场景:大量移动客户端单独拥有他们希望保密的数据,例如带有个人照片集合的笔记本电脑和带有摄像头捕获的城市景观图像的自动车辆。如果所有这些分布式数据都是可访问的,那么就可以获得一个高性能的ML模型,该模型已经在一个非常大的数据集合上进行了训练。然而,由于隐私问题,客户不希望披露他们的数据。

联邦学习[5]是一种分布式学习协议,旨在解决上述问题。如协议1所示,FL要求某个服务器和 K×C 个随机客户端(其中K是所有客户端的数量,C是每轮考虑的客户端的分数,· 是上限函数)传递他们要训练的全局模型的参数(分发、更新和上传步骤)。协议要求所选客户端使用其数据计算模型的更新(更新和上传步骤),同时要求服务器从客户端聚合多个更新以使模型更好(聚合步骤)。此协议的优点是客户端不必上传私有数据;相反,它们将数据安全地保存在本地存储中。唯一的技术要求是,每个客户端必须有一定的计算资源,因为更新和上传包括模型的前向传播和后向传播的多次迭代(即,我们专门关注以有监督的方式训练深层神经网络;更多细节见[5])。

B.Heterogeneous Client Problem in FL

在实际的蜂窝网络中,协议1在训练ML模型时会遇到一些主要问题,这主要是由于没有考虑每个客户端的异构数据大小、计算能力和信道条件。例如,如果一个客户端具有比其他客户端更多的数据,则该客户端将需要更长的时间来更新模型,除非它具有更好的计算资源。这将延迟后续用于上传新模型参数的通信。此外,如果客户端处于非常糟糕的通道条件下,则上传时间将更长。

所有这些关于异构客户端资源的问题都将成为FL训练过程中的瓶颈;服务器只有在接收到所有客户端更新后才能完成聚合步骤。可以为随机客户端设置完成更新和上传步骤的截止日期,并忽略在截止日期之后提交的任何更新。然而,这种直接的方法将导致网络带宽的低效使用,并浪费延迟客户端的资源。

3.FE DCS: FEDERATED LEARNING WITH CLIENT SELECTION

我们提出了一种新的FL协议FedCS,它能有效地处理具有异构资源的客户端。在下面的章节中,我们首先总结了我们提案的几个假设,然后更详细地介绍了联邦存款信用证。

A.Assumptions

图1所示,我们认为在FL协议中,由服务器和基站(BS)组成的位于无线网络中的特定MEC平台管理服务器和客户端的行为。在这项工作中,我们将特别关注在无线网络稳定且不拥挤时(如午夜或清晨)利用无线网络,这主要是因为要训练和通信的ML模型通常很大。然而,每个过程都必须在特定的有限带宽下执行,特别是当有多个ML任务要通过FL执行时;LTE[13]中定义的可用于每个进程的最小带宽资源单元由MEC运营商限制和管理。此外,如果多个客户端同时上传模型参数,则每个客户端的吞吐量相应降低。

我们假设每个客户端的无线通信的调制和编码方案在考虑其信道状态的同时被适当地确定,因此分组丢失率可以忽略不计。这导致每个客户端上传模型参数的吞吐量不同,尽管分配的RBs数量是恒定的。假设BS用于广播和多播传输的吞吐量受到具有最坏信道条件的客户端的吞吐量的限制。然而,我们也假设每个客户端的信道状态和吞吐量是稳定的,如上所述。

B.FedCS Protocol

我们在协议2中给出了FedCS(关于如何按顺序执行每个步骤,也请参见图2中的图)。我们的协议的核心思想是,在协议1的原始客户端选择步骤中,我们没有选择随机客户端,而是提出了以下两步客户端选择方案。首先,新的“资源请求”步骤要求随机客户端将其资源信息(例如无线信道状态,计算能力(例如,他们是否可以备用CPU或GPU来更新模型)以及与之相关的数据资源的大小)通知MEC运营商。 当前的训练任务(例如,如果服务器要训练“ dog-vs-cat”分类器,则包含狗或猫的图像数)。然后,操作员在随后的客户端选择步骤中参考该信息,以估计分发和计划的更新和上传步骤所需的时间,并确定哪些客户端进入这些步骤(稍后将解释用于计划客户端的特定算法)。在分发步骤中,通过BS的多播将全局模型分发给所选客户端,因为它对于将相同的内容(即全局模型)发送到客户端总体是有效的带宽。在计划的更新和上传步骤中,选定的客户端并行更新模型,并使用MEC操作员分配的RBs将新参数上传到服务器。服务器根据协议1聚合客户端更新,并使用某些验证数据测量模型性能。在模型达到某一期望性能(例如,分类精度为90%)或最终截止日期到来之前,除了初始化之外的所有步骤都将重复多轮。

  1. Algorithm for Client Selection Step

我们在客户端选择步骤中的目标是允许服务器在指定的截止日期内聚合尽可能多的客户端更新。这一标准基于[5]的结果,即每轮使用的客户端中有较大一部分节省了全局模型实现所需性能所需的时间。根据该标准,MEC操作员选择能够在最后期限内完成分发和预定的更新和上传步骤的客户。同时,当用于模型上传的RBs被分配给所选客户端时,运营商调度以防止蜂窝网络可能施加的有限带宽中的拥塞。请注意,为了简单起见,我们假设所选客户端逐个启动并完成其上传过程。尽管如此,即使多个客户端可以通过共享RBs并行上传,传输所有模型所需的时间与顺序上传所需的时间相同。

形式上,令 = {1,…,K}是描述K个客户端的一组索引,而 是在资源请求步骤中随机选择的 的子集(即| | = K×C )。 ,其中ki∈ ,| |≤| |,表示在Client Selection中选择的客户端的一系列指标,我们旨在对其进行优化。在更新和上传步骤中,客户端按 的顺序依次上传其模型。设 为非负实数集,Tround∈ 为每轮的截止时间,Tfinal∈ 为最后的截止时间,Tcs∈ 和Tagg∈ 分别为客户端选择和聚合步骤所需的时间。 表示分发所需的时间;它取决于选定的客户端 分别表示第i个客户端更新和上传模型所花费的时间。可以根据在资源请求步骤中通知的资源信息来确定这些客户端参数。

现在,Client Selection的目标,即接受尽可能多的客户端更新,可以通过最大化所选客户端的数量来实现,即maxS | |。为了描述约束,我们定义了从Scheduled Update和Upload步骤开始到第ki个客户端完成更新和上传过程的估计运行时间,如下所示:

当客户一个一个地上传他们的模型更新时, 是所有必需的上传时间 的累加。相反,可以在先前的客户端处于上传步骤时执行模型更新。 因此,单个更新时间 只要在先前经过的时间Θj-1之内,就不会消耗

综上所述,Client Selection是由以下关于 的最大化问题制定的:

优化策略:解决最大化问题(4)是非常重要的,因为它需要一个复杂的组合优化,其中 中元素的顺序影响 。为此,我们提出了一种基于贪婪算法的背包约束最大化问题的启发式算法[14]。如算法3所示,我们迭代地将模型上传和更新所用时间最少的客户端(步骤3、4和9)添加到 ,直到经过的时间t达到deadline Tround(步骤5、6、7和8)。算法的阶数是O(| || |),这比单纯的暴力搜索O( !)要少得多。

Tround的选择:算法3的重要参数是Tround。如果我们将Tround的值设置很大,我们希望每一轮都有更多的客户参与(即,更大的 集)。但是,这同时减少了更新聚合的可能数量,直到最后期限结束。我们的实验评估显示不同的Tround选择如何影响训练模型的最终性能。

4.PERFORMANCE EVALUATION

作为演示我们的协议如何有效工作的概念验证场景,我们模拟了一个MEC环境,并使用可公开的大规模数据集对实际的ML任务进行了实验。

A.Simulated Environment

我们模拟了一个MEC环境,该环境是在一个城市微小区的蜂窝网络上实现的,由一个边缘服务器、一个BS和K=1000个客户端组成,在一个带有GPUs的工作站上。基站和服务器位于小区中心,半径为2km,客户端在小区内均匀分布。

无线通信基于LTE网络建模,其著名的城市信道模型在ITU-R M.2135-1六边形小区布局的微型NLOS模型中定义[15]。载波频率为2.5 GHz,BS和客户端的天线高度分别设置为11 m和1m。为了简单起见,BS和客户端的传输功率和天线增益分别假设为20dBm和0dBi。作为一个实际的带宽限制,我们假设在0.5ms的每个时隙中为一个客户端分配10个RBs,相当于1.8MHZ的带宽。我们采用了基于Shannon容量的吞吐量模型,在[16]中使用了一定的损耗,其中 =1.6,ρmax=4.8。在此设置下,客户端 的平均和最大吞吐量分别为1.4mbit/s和8.6mbit/s,这是LTE网络中的实际值。我们将从上述模型获得的吞吐量作为每个客户端的平均吞吐量,并在客户端选择中使用吞吐量来计算 。如第III-A节所述,假设所有的FL处理在网络状态稳定期间执行,并且客户端设备可能在午夜或清晨未使用和静止。这使我们认为平均吞吐量是稳定的。然而,考虑到在实际中可能发生的定时更新和上传时短期吞吐量的微小变化,每次客户端上传模型时,我们都使用平均吞吐量及其r%值分别给出的平均值和标准偏差从高斯分布中采样吞吐量。

上述假设为算法3中使用的几个参数提供了具体设置。设Dm为全局模型的数据大小。然后,将模型上传所需的时间计算为 ,模型发布所需的时间简单地建模为 。此外,我们假设服务器的计算能力足够高,可以忽略Client Selection和Aggregation所花费的时间;因此,Tcs=0和Tagg=0。

B.Experimental Setup of ML Tasks

在上述模拟的MEC环境下,我们采用了两种基于可公开的大规模图像数据集的真实目标分类任务。一个是CIFAR-10,它是一个经典的目标分类数据集,由50000个训练图像和10000个测试图像组成,包含10个对象类。这个数据集在FL研究中常用[5],[11]。另一个是Fashion-MNIST[17],它包含了60000张训练图片和10000张10种不同时尚产品的测试图片,如T恤和包包。这个数据集将提供一个更有利但更敏感的设置,因为自动识别时尚产品的能力对于电子商务等各种应用程序都很有用,但人们感兴趣的产品是高度私有的信息。图3显示了数据集中的示例图像。

对于这两个任务,将训练数据集分发给K=1000个客户端,如下所示:首先,我们随机确定每个客户端拥有的图像数据的数量,范围为100到1000。然后,按照[18]中使用的实验设置,我们通过两种方式将训练数据集划分为客户端:IID设置,其中每个客户端仅从整个训练数据集中随机采样指定数量的图像;以及非IID设置,其中 每个客户都从训练数据的不同子集(随机选择的10个类别中的2个)中随机抽取图像,代表了更具挑战性但更现实的设置。在每一轮FL协议中,我们基于[5]设置C=0.1,以选择最大K×C=100个客户端。最后,测试数据集仅用于测量分类性能。

C.Global Models and Their Updates

我们实现了一个标准的卷积神经网络作为两个任务的全局模型。具体地说,我们的模型由6个3×3卷积层(32、32、64、64、128、128通道,每个通道都被ReLU激活和批量规范化,每个通道后面跟着2×2 max池)和3个完全连接层(382和192个单元被ReLU激活,另外10个单元被soft max激活)。这导致CIFAR-10大约460万个模型参数(32位浮点中的Dm=18.3兆字节)和Fashion-MNIST大约360万个参数(32位浮点中的Dm=14.4兆字节)。更深层的模型,如剩余网络[19]将提供更高的分类性能。然而,这些模型并不是我们实验的重点。

在更新全局模型时,我们根据[5]选择了以下超参数:50表示最小批量,5表示每轮的时间段数,0.25表示随机梯度下降更新的初始学习率,0.99表示学习率衰减。每个客户端的计算能力简单地由它在一秒钟内可以处理多少数据样本来更新一个全局模型来建模,这个全局模型可能由于客户端上的其他计算负载而波动。我们随机确定了每个客户的平均能力,范围为10到100,这是用于客户选择的值。因此,客户端选择中使用的每次更新时间 平均从5秒到500秒不等。在定时更新和上传中,计算能力由高斯分布决定,标准差由平均能力值的r%给出,如我们的吞吐量模型。我们认为这个范围是合理的,因为我们的工作站只需5秒就可以用一个GPU进行一次更新;计算资源较弱的移动设备可能需要10到100倍的更新时间。最后,我们根据经验将Tround设置为3分钟,Tfinal设置为400分钟。

D.Evaluation Details

我们比较了FedCS和FL协议[5],该协议稍加修改,以限制每轮的截止期限Tround。我们把这个协议称为FedLim。在此基线中,由MEC操作员随机选择的客户端更新模型,并按顺序将其新参数上传到服务器,直到最后期限。在截止日期之后完成的更新只是被丢弃而不是聚合。FEDC和FedLim根据以下指标进行评估:

•达到所需精度的时间(ToA@x):我们观察到测试数据集的精度随时间的变化,并在精度首次达到某一水平时进行识别(即越早越好)。具体来说,我们报告CIFAR-10的[email protected](即50%准确度)和[email protected],以及具有IID设置的fashion-MNIST的[email protected][email protected],以及具有非IID设置的fashion-MNIST的[email protected][email protected][email protected][email protected]

•最终截止日期后的准确度(准确度)):我们还测量了最终截止日期后的测试数据集的准确度(Tfinal=开始后360分钟)。

E.Results

IID设置:IID设置的主要结果如表一所示。我们每种方法运行十次,计算平均ToA和准确度得分。总体而言,就ToA而言,FEDCS在CIFAR-10和Fashion-MNIST任务方面均优于FedLim。具体来说,在CIFAR-10上,FedCS比FedLim平均提前76.5分钟达到75%的准确度,在Tround=3和r=0时,在Fashion-MNIST上平均提前33.3分钟达到85%的准确度。我们还发现,在最后期限(表中的“准确性”列)之后,FedCS的分类准确度比FedLim更高,尤其是在CIFAR-10上。这些结果表明,在训练进度方面,FedCS比FedLim的效率有所提高。改进的一个原因是,FedCS能够在每轮训练中纳入更多的客户:每个FedCS有7.7个客户,而FedLim只有3.3个客户,平均当Tround=3时。请注意,CIFAR-10[20]的当前最新精度为0.9769,Fashion-MNIST2的当前精度为0.967。然而,我们选择的模型架构足以说明我们的新协议如何在资源受限的环境下进行有效的训练,而不是达到最佳的精度。原始的FL[5]在没有截止日期限制的情况下,CIFAR-10和Fashion-MNIST的准确度分别达到了0.80和0.92,两者都与FedCS的最终性能相当。我们还证实了由r参数化的吞吐量和计算能力的不确定性对FedCS的性能影响不大。

Tround的影响:为了更深入地了解我们的方法是如何工作的,我们调查了ToA和FedCS在保持Tfinal固定的同时,针对不同的截止日期Tround值对Fashion-MNIST的分类精度的变化,如表1和图4所示。我们注意到,必须选择既不太长也不太短的Trounds。虽然FedCS的较长期限(如10分钟)在每一轮中涉及许多客户,但由于聚合步骤较少,它们的表现极为有限。相反,较短的期限(例如1分钟)限制了每一轮访问的客户数量,这也降低了分类准确性。一种更好的选择Tround的方法是可以动态地更改它,以便在每轮中包含足够数量的客户端。这是留给以后工作的。

非IID设置:非IID设置的结果如表II图5所示。在CIFAR-10和Fashion-MNIST上,FedCS仍然工作良好,FedLim的性能甚至达不到50%和70%的精度。然而,与前面的工作[5]类似,与使用IID设置的设置相比,使用非IID设置的总体性能受到限制(即,分类精度中的较低平均值和较高方差)。如[5]的结果所示,为了更好地处理非IID数据,我们需要增加每轮选择的客户端数量或每轮选择的客户端数量,但由于实验中施加的时间限制和麻烦因素,这两种方法都很困难。可以缓解非IID问题的一个潜在扩展是额外使用模型压缩技术[11],这可以增加在Tround的相同约束内可以选择的客户端的数量。

5.CONCLUSION

我们提出了一个新的协议,FedCS,它的目标是在一个异构客户端的MEC框架中高效地执行FL。我们的实验结果表明,与最新协议相比,FedCS通过在训练过程中加入更多的客户端,从而在短得多的时间内不断提供高性能ML模型,而不管数据集的选择,划分数据方式(即IID或非IID),以及吞吐量和计算能力的不确定性。当我们将我们的全局模型局限于足够简单的深层神经网络时,这项研究的另一个可能的扩展是使用非常大的数据训练一个更复杂的模型,该模型具有数以千万计的参数。未来工作的另一个有趣方向是研究更动态的场景,其中资源的平均数量以及更新和上传所需的时间可以动态波动。

 

发布了36 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/GJ_007/article/details/105218176