赞
踩
联邦学习使得可以在大量的边缘设备上进行训练。为了提高灵活性和拓展性,我们提出了一种新的异步联邦学习优化算法。我们证明了对于强凸问题和非凸问题,以及有限类非凸问题,提出的方法都具有接近线性收敛的全局最优解。实验结果表明,提出的算法在不同的场景中都能快速收敛且能容忍陈旧(这边翻译可能不合理)。
联邦学习系统一般会有多个server和worker(即client)组成,其组成结构与参数服务器相似。worker会在当地的隐私数据上进行训练,server会聚合各个worker的学习模型并更新全局模型。
联邦学习有三个关键属性:
联邦学习一般采用同步的方法,“落后者”可能会拖慢任务的进程。当需要处理庞大的边缘设备时,可能会存在很多的“落后者”。因为可用性和计算完成时间因设备而异,以及设备的有限容量和电池时间,实现全局同步是困难的,尤其是在联邦学习场景之中。
因为存在“落后者”和异构延迟,异步训练被广泛应用在传统的分布式随机梯度下降场景中。在此文中,我们将异步训练的优点与联邦优化相结合。
我们提出了一种联邦优化的新型异步算法。其关键想法在于:
本文的主要贡献如下:
本文中的一些符号及其含义
符号 | 含义 |
---|---|
n n n | 设备数 |
T T T | 全局轮次数 |
[ n ] [n] [n] | 正整数集合 { 1 , 2 , 3 , ⋯ , n } \{1,2,3,\cdots,n\} {1,2,3,⋯,n} |
H m i n H_{min} Hmin | 局部迭代的最小值 |
H m a x H_{max} Hmax | 局部迭代的最大值 |
δ \delta δ | δ = H m a x H m i n \delta=\dfrac{H_{max}}{H_{min}} δ=HminHmax是不平衡率 |
H τ i H_{\tau}^{i} Hτi | 在第 τ \tau τ轮设备 i i i的迭代次数 |
x t x_t xt | server中第 t t t轮的模型 |
x τ , h i x_{\tau,h}^i xτ,hi | 以 x τ x_{\tau} xτ为初始模型,在 i i i号设备上第 h h h次更新得到的模型 |
D i \mathcal{D^i} Di | i i i号设备上的数据集 |
z t , h i z_{t,h}^i zt,hi | D i \mathcal{D^i} Di上的数据样本 |
γ \gamma γ | 学习率 |
α \alpha α | 混合超参数 |
ρ \rho ρ | 正则化权重 |
t − τ t-\tau t−τ | 陈旧值 |
s ( t − τ ) s(t-\tau) s(t−τ) | 自适应 α \alpha α的陈旧性函数 |
∥ ⋅ ∥ \|\cdot\| ∥⋅∥ | 论文中的所有范数都为 l 2 l_2 l2范数 |
Device | 数据集所在的地方 |
Worker | 训练模型的地方 |
0.调度触发器通过协调器进行训练
1.2.worker通过协调器从server上上接收模型
x
t
−
τ
x_{t-\tau}
xt−τ
3.worker使用算法1计算当地更新(梯度)。worker可以在空闲和工作两种状态中进行选择
4.5.6.worker通过协调器将局部更新后的模型发送给server。协调器会将收到的模型在5处进行排队,然后将它们有序地发送给6。
7.8.server更新全局模型并为协调器再次读取模型做准备。
1.5操作是并行异步的。
考虑有 n n n个设备的联邦学习。在每一个设备上,worker使用当地的数据训练模型。最终目标是使用所有设备上的数据训练一个全局模型 x ∈ R d x\in R^d x∈Rd。比较正式的说法是,我们要解决 min x ∈ R d F ( x ) \min_{x\in R^d}F(x) minx∈RdF(x),其中 F ( x ) = 1 n ∑ i ∈ [ n ] E z i ∼ D i f ( x ; z i ) F(x)=\dfrac{1}{n}\sum_{i\in[n]}E_{z^i\sim \mathcal{D^i}f(x;z^i)} F(x)=n1∑i∈[n]Ezi∼Dif(x;zi)且 ∀ i ∈ [ n ] \forall i \in [n] ∀i∈[n],有 z i z^i zi是第 i i i个设备上本地数据集 D i \mathcal{D^i} Di的样本。注意 ∀ i ≠ j , D i ≠ D j \forall i\not =j, \mathcal{D^i}\not =\mathcal{D^j} ∀i=j,Di=Dj。
有
T
T
T轮训练。在第
t
t
t轮中,server会从任意一台worker中收到一个局部模型
w
n
e
w
w_{new}
wnew,然后通过加权平均公式
x
t
=
(
1
−
α
)
x
t
−
1
+
α
x
n
e
w
x_t=(1-\alpha )x_{t-1}+\alpha x_{new}
xt=(1−α)xt−1+αxnew更新全局模型,其中
α
∈
(
0
,
1
)
\alpha \in (0, 1)
α∈(0,1)是一个混合超参数。
在任意一台设备
i
i
i上,在从server收到全局模型
x
t
x_t
xt后,会通过以下公式使用SGD进行多次迭代:
min
x
∈
R
d
E
x
i
∼
D
i
f
(
x
;
z
i
)
+
ρ
2
∥
x
−
x
t
∥
2
\min_{x\in R^d}E_{x^i\sim\mathcal{D^i}}f(x;z^i)+\dfrac{\rho}{2}\|x-x_t\|^2
minx∈RdExi∼Dif(x;zi)+2ρ∥x−xt∥2。为了方便,我们定义
g
x
′
(
x
;
z
)
=
f
(
x
;
z
)
+
ρ
2
∥
x
−
x
′
∥
2
g_x'(x; z)=f(x;z)+\dfrac{\rho}{2}\|x-x'\|^2
gx′(x;z)=f(x;z)+2ρ∥x−x′∥2
server和worker之间是异步更新的。server不论是否收到局部模型都是立即更新全局模型的。server和worker之间的通信是无阻塞的。所以server和worker可以无需同步地随时更新模型。
在两个基准CIFAR-10和WikiText-2上进行了实验。训练集被分到了 n = 100 n=100 n=100个设备上。小批量分别为 50 50 50和 20 20 20。
baseline是同步联邦优化算法FedAvg。选择的FedAvg算法中每轮随机选择了
k
=
10
k=10
k=10个设备进行局部模型的更新。我们也考虑了单线程SGD作为baseline。在FedAsync算法中,我们是在一个均匀分布中随机选择了
t
−
τ
t-\tau
t−τ进行异步的模拟。
我们重复试验了
10
10
10次并取了平均值。对于CIFAR-10,使用了测试集的最高精确度作为评估指标。
对于混合超参数的更新,采用了三种策略陈旧度函数进行了试验:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。