本文介绍: No One Idles: Efficient Heterogeneous Federated Learning with Parallel Edge and Server Computation
一、概要

随着联邦学习的发展,简单聚合算法已经不在有效。但复杂聚合算法使得联邦学习训练时间出现新的瓶颈。本文提出了并行联邦学习parallel federated learning,PFL),通过调换中心节点聚合和广播顺序本文算法的优点:在全局聚合计算时解锁了边缘节点,在边缘节点本地计算时解锁了中心节点,并且在计算过程具有灵活的伸缩性。
本文主要贡献:

  1. 处理数据异构和网络掉队
  2. 局部节点参与灵活性
  3. 计算训练过程中的可扩展性
二、关键算法

本文的PFL算法没有重新设计FL框架,仅仅只是将原计算流程进行了适当的调整,主要包含同步的SPFL和异步的APFL。如图所示,(a)表示FedAvg流程uploading–>global aggregation–>broadcasting–>local optimization。(b)表示本文提出的SPFL流程uploading(中心节点接收当前所有边缘局部更新)–>broadcasting(中心节点广播缓存中的全局模型参数)–>全局聚合计算(中心节点利用接收到的局部更新聚合全局模型参数)。该设计可以使得本地一旦优化完成便上传到中心节点,而中心节点一旦接收本地更新广播缓存中的全局模型参数。因此边缘节点和中心节点不用等待阻塞。
请添加图片描述
下图是APFL的流程图

SPFL

同步的PFL并不能处理网络掉队的问题,而是对复杂聚合逻辑做了相应的处理。其流程对应处理逻辑分别如下:

  • Local Update边缘节点接收全局模型参数

    w

    t

    1

    (

    g

    )

    w_{t-1}^{(g)}

    wt1(g)然后使用SGD算法更新本地模型公式

    w

    t

    (

    i

    )

    =

    w

    t

    1

    (

    g

    )

    γ

    G

    t

    1

    (

    i

    )

    w_{t}^{(i)} = w_{t-1}^{(g)} – gamma G_{t-1}^{(i)}

    wt(i)=wt1(g)γGt1(i),其中

    t

    t

    t训练轮数,

    i

    i

    i为第

    i

    i

    i各节点,

    w

    t

    1

    (

    g

    )

    w_{t-1}^{(g)}

    wt1(g)

    t

    1

    t-1

    t1轮时的全局模型

    G

    t

    1

    (

    i

    )

    G_{t-1}^{(i)}

    Gt1(i)为通过

    w

    t

    1

    (

    g

    )

    w_{t-1}^{(g)}

    wt1(g)计算得到的梯度

  • Uploading:一旦本地模型训练完成,便计算

    δ

    (

    i

    )

    delta^{(i)}

    δ(i)上传到中心节点。

  • Broadcasting:中心节点接收到所有边缘节点的

    {

    δ

    (

    i

    )

    }

    i

    =

    1

    N

    {delta^{(i)}}_{i=1}^{N}

    {δ(i)}i=1N,便将缓存中上一轮的聚合结果

    w

    t

    1

    (

    g

    )

    w_{t-1}^{(g)}

    wt1(g)广播给边缘节点。这里如果上一轮的聚合结果没有完成,将会阻塞等待其完成。

  • Global Aggregation:一旦广播成功,中心节点便执行下一轮的聚合计算:

    w

    t

    +

    1

    (

    g

    )

    =

    w

    t

    (

    g

    )

    +

    1

    N

    i

    =

    1

    N

    δ

    (

    i

    )

    w_{t+1}^{(g)}=w_{t}^{(g)}+frac{1}{N}sum_{i=1}^N delta^{(i)}

    wt+1(g)=wt(g)+N1i=1Nδ(i)

APFL

异步的PFL同时对边缘节点的网络掉队问题和中心节点的复杂聚合算法逻辑做了优化每个边缘节点和中心节点都有不同的clocks,并且中心节点的clock只和其中一个边缘节点有关,例如对于第

t

t

t个中心节点的clock,APFL的流程如下:

  • Local Update:边缘节点

    i

    i

    i完成和中心节点的通信,并接收全局模型

    w

    t

    1

    (

    g

    )

    w_{t-1}^{(g)}

    wt1(g)然后更新本地模型:

    w

    t

    (

    i

    )

    =

    w

    t

    1

    (

    g

    )

    γ

    G

    t

    1

    (

    i

    )

    w_{t}^{(i)} = w_{t-1}^{(g)} – gamma G_{t-1}^{(i)}

    wt(i)=wt1(g)γGt1(i)

  • Uploading:完成本地模型更新之后,上传本地梯度

    δ

    (

    i

    )

    delta^{(i)}

    δ(i),在边缘节点

    i

    i

    i本地训练梯度上传过程中,有

    n

    n

    n个其他边缘节点和中心节点通信。因此,当中心节点接收到边缘节点

    i

    i

    i的本地更新之后,中心节点的clock已经是

    t

    +

    n

    +

    1

    t+n+1

    t+n+1

  • Broadcasting:中心节点在接收到边缘节点

    i

    i

    i的本地更新

    δ

    (

    i

    )

    delta^{(i)}

    δ(i)后,将缓存中最新的全局模型发送给边缘节点

    i

    i

    i这里的最新全局模型可能是

    w

    t

    +

    n

    (

    g

    )

    w_{t+n}^{(g)}

    wt+n(g),也可能是

    w

    t

    +

    n

    r

    (

    g

    )

    w_{t+n-r}^{(g)}

    wt+nr(g),表示中心节点在clock

    t

    t

    t到clock

    t

    +

    n

    t+n

    t+n中任意clock聚合得到的结果

  • Global Aggregation:中心节点在上一轮聚合过程中,会接收到一部分边缘节点上传的

    δ

    (

    i

    )

    delta^{(i)}

    δ(i)。因此,聚合计算:

    w

    t

    +

    n

    +

    1

    (

    g

    )

    =

    w

    t

    +

    n

    +

    1

    p

    (

    g

    )

    +

    1

    N

    i

    =

    1

    C

    t

    δ

    (

    i

    )

    w_{t+n+1}^{(g)}=w_{t+n+1-p}^{(g)}+frac{1}{N}sum_{i=1}^{C_t} delta^{(i)}

    wt+n+1(g)=wt+n+1p(g)+N1i=1Ctδ(i),其中

    C

    t

    C_t

    Ct表示中心节点接收的

    δ

    (

    i

    )

    delta^{(i)}

    δ(i)数据量

    p

    p

    p属于

    C

    t

    C_t

    Ct。通常

    C

    t

    C_t

    Ct包含一个边缘节点。

SPFL和APFL的异同
  1. SPFL的中心节点更新

    w

    w

    w需要等待所有边缘节点的上传,APFL不需要

  2. SPFL和APFL相比普通的FL有不同的加速。

  3. SPFL和APFL的收敛分析中,都能有不错的收敛。(很多数学上的分析可以移步论文

三、总结

实验结果看,本文提出的算法对中心节点场景的模型训练加速优化具有很好的参考意义。


论文地址点这里

原文地址:https://blog.csdn.net/superY_26/article/details/134686638

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_11203.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注