【论文阅读】(FLANP)Straggler-Resilient Federated Learning

摘要         

        本文针对系统异构性导致训练过程中客户端掉队的问题,利用统计准确性和系统异质性之间的相互作用,设计了一种具有抗拖沓节点的联邦学习方法(FLANP算法),该方法在每一轮训练中谨慎地和自适应地选择可用节点的子集。

        算法的主要思想是通过使用较快节点开始训练过程,并在当前参与节点的数据的统计精度达到后逐渐引入较慢节点进行模型训练。

1 引言

原有不足:

        由于系统异构性的存在,在原有方法的每个通信轮中,服务器必须等待最慢的节点完成其本地更新并上传其本地模型,这显著减慢了训练过程。

本文创新点:

        旨在通过一种自适应节点参与方法来减轻联邦学习框架中拖沓节点的影响。根据客户端的计算速度,选择不同阶段的参与训练的客户端。我们将我们的抗拖沓节点提议称为具有自适应节点参与算法的联邦学习方法,简称FLANP。

关键思想:

        使用只有少数在所有节点中最快的客户端开始模型训练过程。这些参与的客户端在与参数服务器交互的同时继续训练其共享模型。

关键思想详细解释:

        考虑一个联邦网络,其中有N个可用节点,每个节点存储s个数据样本,并假设我们只使用m个客户端开始学习过程。一旦我们解决了与这些节点的m × s个样本相对应的经验风险最小化(ERM)问题,我们通过添加下一个n − m个最快客户端来几何级增加参与节点的数量,其中n = αm,其中α > 1。通过这样做,我们要解决的新ERM问题包含先前阶段的样本以及新参与节点的样本。

        另外,用m个客户端的先前阶段的ERM问题的解可以作为n = αm个节点当前阶段的ERM问题的热启动。

        在提出的FLANP算法中,随着时间的推移,我们逐渐增加参与客户机的数量,直到达到完整的训练集并涵盖所有客户机。需要注意的是,在该过程中,较慢的客户机仅在学习过程的最后阶段使用,此时模型已接近聚合损失的最优模型。

        由于在前几轮中训练的模型已经具有合理的统计准确性,并且该模型作为迭代算法下一轮的初始点,较慢的节点只需要在训练的最后几轮中进行贡献,从而减少了wall-clock time。这与从开始时让所有节点参与训练相反,后者会导致每一轮的计算时间由最慢的节点确定。

2 联邦学习设置

之前的数据同、异质性设置:

        (1)同质设置:

                a.在标准的数据同质设置中,所有节点的样本是根据一个共同分布来抽取的;

                b.并且假设每个节点在每一轮都可以抽取新的独立同分布样本,每轮使用的样本是独立的,每个节点的局部梯度方向是聚合损失的无偏估计量。

        (2)节点可能具有任意不同的数据分布。

作者的数据同、异质性设置(可能更接近数据异质设置):

        (1)同质设置:

                a.作者的设置与标准数据同质设置类似,所有节点的样本是根据一个共同分布来抽取的;

                b.作者的设置与之前的同质设置不同,在第一轮选择所有样本,作者无法保证每轮使用的样本是相互独立的,更重要的是,我们不能保证局部梯度方向∇Li是聚合损失梯度∇LN的无偏估计量。因为局部梯度不会(按期望)相互对齐,故作者的设置可能更接近数据异质设置。

        (2)仍然假设给定的样本都是从一个公共分布中抽取的。


【注】:

        局部梯度是指在每个节点(或每个设备)上计算的梯度方向,它们是根据该节点上的局部数据计算得出的。

        而聚合损失是通过将各个节点的局部损失加权平均来得到的总损失。

        期望风险Ln(w)是指在整个数据分布上的损失的期望;

        而经验风险 L(w) 是指在训练数据集上的平均损失。


统计准确性

        期望风险和经验风险的差异Ln(w) − L(w)被称为估计误差,并且可以由样本大小的一个函数进行界定。特别地,由于Ln(w)包含了ns个样本,我们假设存在一个常数Vns以很高的概率界定了估计误差。

        估计误差表示了模型在训练数据集上和整个数据分布上性能之间的差距,这个差距会根据样本大小而变化。随着样本大小的增加,估计误差有望减小,从而使得模型在整个数据分布上的性能更加接近在训练数据集上的表现。

系统异质模型

        正如前面提到的,联邦客户端具有各种计算能力,导致固定计算任务(例如梯度计算和本地模型更新)的处理时间显著不同。具体来说,对于每个节点i ∈ [N],我们用Ti表示计算一个本地 模型更新的(预期)时间。这样的更新时间主要由计算本地经验风险Li(w)的固定批量随机梯度的计算时间决定。显然,较大的Ti对应着较慢的客户端或阻塞者。不失一般性,我们假设节点从快到慢排序, 即T1 ≤ · · · ≤ TN,其中节点1和N分别指示网络中最快和最慢的节点。

3 自适应节点参与方法

3.1 FLANP:一种抗后缀者的联邦学习元算法

Proposition 1 考虑节点 Nm ⊆ Nn 的两个子集,并假设模型 wm 获得了与 Nm 中的节点相关的经验风险的统计准确度,即 ‖∇Lm(wm)‖^2 ≤ 2μVms 其中损失函数是 μ-强凸的。那么wm对风险Ln的次优性,即Ln(wm)−Ln(w*n)为w.h.p。有界如下

3.2 FLANP via FedGATE   

4 理论结果


暂略


5 数值实验

        我们进行了各种凸性和非凸性风险的数值实验,并评估了所提出的方法与其他基准之间的性能。

基准

        下面是我们用来与算法2中提出的FLANP进行比较的多个联邦学习基准的简要描述。注意,在 所有这些基准中,所有可用的N个节点都参与训练过程。

FedAvg        

        节点在上传到服务器之前,使用简单的SGD规则对本地模型进行τ次本地迭代更新。

FedGATE

        是算法2中使用的子程序。在这里,我们将其视为一个基准,与算法2中的子程序具有类似的模型更新规则,并在所有可用的 N 个节点上运行。

FedNova

        在每一轮中,每个节点i根据其各自的τi迭代次数更新本地模型。为了减小τi之间的异质性,参数服务器将客户端的归一化更新(相对于τi)进行聚合,并更新全局模型。

        我们在通信轮次和墙钟时间两个方面数值地评估了 FLANP 在这些基准测试上的性能。我们在全节点参与和部分节点参与的情况下检查了 FLANP 与基准测试的对比,并强调了它的实用性。

5.1 统一的计算速度

数据与网络

        我们针对不同的问题使用了三个主要数据集:MNIST数据集(训练集60000个样本, 测试集10000个样本)、CIFAR10数据集(训练集50000个样本,测试集10000个样本)和合成数据集(10000个 样本)。为了实现我们的算法,我们采用了一个包含N ∈ {20, 50, 100}个异构客户端的联邦网络,为了模拟设备异构性,我们在区间[50, 500]上均匀随机选择并固定每个节点i的计算速度Ti。

逻辑回归

        我们使用MNIST数据集训练了一个多类逻辑回归模型。在一个包含N = 50个节点的网络中,每个客户端存储了来自MNIST数据集的s = 1200个样本。如图1(左图)所示,FLANP在初始轮次 中略逊于FedGATE。然而这是预期的,因为FLANP一开始只有一部分节点参与,导致模型不够准确。然而,就挂钟时间而言,由于最初参与的节点确实是速度最快的节点,FLANP超越了FedAvg和FedGATE的 基准。如图1(右图)所示,自适应节点参与方法使FLANP的加速倍增提升了最多2.1×,相比FedGATE。

线性回归

        我们在一个包含N = 100个异构节点的合成数据集上训练了一个线性回归模型。图2展示了FLANP、FedGATE和FedAvg三种方法对全局模型子最优误差∥wt − w∗∥的收敛情况。与图1类似,我们观察到了相同的优化缺口与通信轮次以及挂钟时间的关系。图2中显示,相对于不自适应的FedGATE,FLANP在训练时间上实现了10×的加速。

神经网络训练

        我们训练了一个具有两个隐藏层的全连接神经网络,分别含有128个和64个神经元, 并与其他三个基准算法进行了比较,其中包括一种抗节点延迟的联邦算法FedNova。我们在包含N = 20个客户端的网络上进行了两组实验,分别在MNIST和CIFAR10数据集上进行。图3和图4显示,相对 于FedNova,FLANP大幅加速了训练过程,分别达到了3×和4×的加速倍数。需要注意的是,为了进行公 平比较,所有方法中的步长设置为η = 0.05(对于MNIST数据集)和η = 0.02(对于CIFAR10数据集), 以及γ = 1。

5.2 随机指数计算速度

        我们使用与第5.1节中描述的相同设置进行了另一组实验,然而,我们在这里选择了客户端的计算 速度为独立同分布的随机指数变量,这更符合定理2的设置。我们在MNIST数据集上训练了一个具有两 个隐藏层的全连接神经网络,分别包含128个和64个神经元,并与相同的基准模型FedAvg、FedGATE和FedNova进 行了比较,如图5所示。

5.3 与部分节点参与方法的比较

        在本节中,我们一直在比较FLANP方法与联合基准方法,其中所有可用节点在每一轮训练中都参与。为了展示FLANP对部分节点参与方法的韧性,我们考虑了两种不同的情况。

        首先,我们比较FLANP和部分节点参与的FedGATE的墙钟时间,其中仅随机选择k个节点参与每一轮训练。如图6(a)所示,FLANP比部分节点参与的FedGATE的速度要快得多。

        其次,我们考虑参与的k个节点不是随机选择的情况,而是最快的客户端。如图6(b)所示,尽管具有k个最快节点的部分参与方法在训练结束时开始胜过FLANP,但它们在训练错误饱和度方面存在较高的问题,因为只有k个节点的数据样本对学习模型有贡献,因此最终模型的准确性显著降低。

5.4  N和s的效应及FLANP的可行性

        在本节中,我们特别关注定理 2 中描述的设定,并研究参数 N 和 s 对于定理 2 中建立的 O(log(Ns)) 增益的影响。

        我们将节点的计算速度设置为独立同分布的随机指数变量,并运行两种联邦算法,FLANP 和 FedGATE。

        图 7 展示了这两种算法在具有合成数据的线性回归问题上的运行时间。在这些图中,客户端的数量固定为 N = 50,而我们增加每个节点的数据样本数量 s ∈ {20, 200, 2000}。此外,表 1 显示 了 FLANP 和 FedGATE 方法的单独运行时间,以及每种情况 s ∈ {20, 200, 2000} 对应的相应比率。

        接下来,我们进行相同设置的实验,研究 N 对于定理 2 中建立的加速增益 O(log(Ns)) 的影响。

        图 8 和表 2 分别展示了 FLANP 和 FedGATE 的运行时间和加速增益。这组实验进一步证明,增加客户端数量(即 更大的设备异构性)或者增加每个节点的数据样本数量都会导致所提出的 FLANP 方法训练时间更快。

        最后,我们强调一点关于算法2中常数参数µ, c, Vns的知识以及FLANP的可行性。虽然为了运行FLANP需要知道这些参数,但从实际角度来看,我们指出存在几种启发式方法来处理这个问题。

        我们进行了一个实验,其中不假设任何常数已知;相反,我们通过监测全局梯度的范数并逐渐减半阈值的方式启发性地调整每个相变(即节点数量加倍)的阈值。如图9所示,这种启发式方法的性能与FLANP非常接近,突出了它的实用性。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值