Training time minimization for federated edge learning with optimized gradient quantization and
bandwidth allocation
Peixi LIU1,3, Jiamo JIANG†‡2, Guangxu ZHU†‡3,LeiCHENG4,5, Wei JIANG1,WuLUO1,Ying DU2, Zhiqin WANG2
Frontiers of Information Technology & Electronic Engineering
CCF C/SCI 3区 刊
2022
一、动机和贡献
动机:在 “同步 FL” 中,如果使用量化技术缓解通信压力,通常会有两个问题:1)若使用低精度量化尽可能减少传输数据量,会减少每轮的执行时间(由于通信时间的减少),但是却会导致量化误差增大,使得总轮数增加;2)若使用高精度量化尽可能保持低量化误差,会减少总轮数,但却相应的增加了通信时间。另一方面,由于client在 “计算能力”(CPU频率) 中有着较大差异,因此对所有client都使用相同的量化精度显然是不合理的。
贡献:这篇文章的主要解决问题是:如何对不同 “计算能力”的client分配相应的通信带宽并确定相应的量化精度,以达到使用最少通信轮数实现指定模型精度的目的。具体贡献如下:
- “训练时间” 的理论分析:难点是如何分析“总执行轮数”,这篇文章分析了给定量化精度下,模型达到指定优化精度所需要的总轮数的上界。但是由于理论结果太严格,因此这篇文章后续使用 “数据/模型驱动拟合法data-and-model-driven fitting method” 来估计总轮数。这样,就可以表示总训练时间;
- “训练时间” 的最小化:这篇文章是要同时优化 “带宽分配”和“量化精度选择”,但是这个优化问题是非凸的,不能直接解决。因此,将上述问题拆分成两个子问题:1)固定量化精度下,带宽的分配问题(使用 双重二分查找解决);2)固定带宽下,量化精度的选择问题(使用 逐次凸逼近SCA 解决)。
注1:这篇文章将client“通信能力”也作为一个变量(通信带宽),是可以client进行指定的,而不是作为每个client固定的量,这与我们之前的想法是不同的。
注2:量化精度每个client在同一个时间是相同的,即量化精度只是关于时间的函数。
二、算法
2.1 预备知识
无线传输模型:
定义sever和client
k
k
k 之间的 信道传播系数channel propagation coefficient 为:
h
k
=
ϕ
k
h
ˉ
k
,
h_{k}=\sqrt{\phi_{k}\bar{h}_k},
hk=ϕkhˉk,其中,
ϕ
k
\phi_k
ϕk 表示大尺度传播因素(随时间变化保持不变的);
h
ˉ
k
\bar{h}_k
hˉk 表示小尺度传播因素,满足标准正太分布
h
‾
k
∼
C
N
(
0
,
1
)
\overline{h}_k\sim\mathcal{CN}(0,1)
hk∼CN(0,1)(随时间变化而变化的)。另外,这篇文章假设 信道传播系数只被sever知晓哦啊。
因此,定义 client
k
k
k 的 遍历容量ergodic capacity 为:
R
k
=
E
h
k
[
b
k
log
2
(
1
+
p
k
∣
h
k
∣
2
b
k
N
0
)
]
R_k=\mathbb{E}_{h_k}\left[b_k\log_2\left(1+\frac{p_k|h_k|^2}{b_kN_0}\right)\right]
Rk=Ehk[bklog2(1+bkN0pk∣hk∣2)]其中,
b
k
b_k
bk 表示分配给client
k
k
k 的频率带宽,且满足
∑
k
=
1
K
b
k
=
B
0
\sum_{k=1}^K b_k=B_0
∑k=1Kbk=B0(这个就是需要优化的带宽);
p
k
p_k
pk 表示 client
k
k
k 的传输能量;
N
0
N_0
N0 表示噪声。假设有
S
S
S bits 数据需要传输,那么时间可以计算为:
T
=
S
R
k
.
T = \frac{S}{R_k}.
T=RkS.
注:在不同client的传输能力方面,本文本质上假设只有带宽 b k b_k bk 是可变且需要优化的,其他系数,如 p k , h k , N 0 p_k,h_k,N_0 pk,hk,N0 是相同的。
2.2 训练时间分析
假设
T
d
T_d
Td 表示一轮更新所需要的时间,那么:
T
k
c
o
m
p
+
T
k
c
o
m
m
≤
T
d
T_{k}^{\mathrm{comp}}+T_{k}^{\mathrm{comm}}\leq T_{\mathrm{d}}
Tkcomp+Tkcomm≤Td其中,
T
k
c
o
m
p
T_{k}^{\mathrm{comp}}
Tkcomp 表示执行SGD的时间;
T
k
c
o
m
m
T_{k}^{\mathrm{comm}}
Tkcomm 表示传输量化后模型的时间。假设
N
ϵ
N_{\epsilon}
Nϵ 表示达到
ϵ
−
\epsilon-
ϵ−模型精度时所需要的最少轮数,那么总训练时间可以表示为:
T
=
N
ϵ
T
d
.
T=N_{\epsilon}T_d.
T=NϵTd.
注:原文中认为 T k c o m p T_{k}^{\mathrm{comp}} Tkcomp 表示SGD时间,但是这里应该也包括将全精度梯度量化所需要的时间。
定义
T
k
c
o
m
p
T_{k}^{\mathrm{comp}}
Tkcomp:
T
k
c
o
m
p
=
ν
f
k
,
T_{k}^{\mathrm{comp}}=\frac{\nu}{f_{k}},
Tkcomp=fkν,其中,
ν
\nu
ν 表示执行SGD的处理轮数;
f
k
f_k
fk 表示client
k
k
k 的CPU主频。
定义
T
k
c
o
m
m
T_{k}^{\mathrm{comm}}
Tkcomm:
假设
S
S
S 表示量化后需要传输的总比特数,
q
q
q 表示随机量化精度,
d
d
d 表示梯度维数(
g
∈
R
d
\boldsymbol{g}\in\mathbb{R}^{d}
g∈Rd),那么有如下关系:
S
=
(
1
+
log
2
(
q
+
1
)
)
d
.
S=(1+\log_2(q+1))d.
S=(1+log2(q+1))d.因此,可以得到通信时间为:
T
k
c
o
m
m
=
S
R
k
.
T_{k}^{\mathrm{comm}}=\frac{S}{R_{k}}.
Tkcomm=RkS.
2.2.1 最少轮数 N ϵ N_{\epsilon} Nϵ 的估计
首先我们需要知道: N ϵ N_{\epsilon} Nϵ 的值只和量化精度 q q q 有关,与其他量无关。
原文给出定理:
Theorem 1:在量化精度
q
≤
2
q\leq 2
q≤2 的条件下,当FL模型执行
N
N
N 轮更新后,损失函数的精度误差为:
E
[
F
(
w
(
N
)
)
]
−
F
(
w
∗
)
≤
α
κ
N
+
2
α
κ
−
1
(
L
∥
w
(
0
)
−
w
∗
∥
2
+
2
Γ
μ
)
,
\mathbb{E}\left[F\left(\boldsymbol{w}^{(N)}\right)\right]-F(\boldsymbol{w}_*)\leq\frac{{\color{Red}\alpha}\kappa}{N+2\alpha\kappa-1}\left(L\left\|\boldsymbol{w}^{(0)}-\boldsymbol{w}_*\right\|^2+\frac{2\Gamma}{\mu}\right),
E[F(w(N))]−F(w∗)≤N+2ακ−1ακ(L
w(0)−w∗
2+μ2Γ),其中,
α
=
d
q
K
+
1
,
κ
=
L
μ
,
F
δ
=
F
(
w
∗
)
−
1
K
∑
k
=
1
K
F
k
∗
,
F
k
∗
=
min
w
F
k
(
w
)
,
Γ
=
2
L
F
δ
+
1
K
∑
k
=
1
K
δ
k
2
{\color{Red}\alpha}=\frac{\sqrt d}{{\color{Red}q}K}+1,\kappa=\frac{L}{\mu},F_{\delta}=F(\boldsymbol{w}_{*})-\frac{1}{K}\sum_{k=1}^{K}F_{k}^{*}, F_{k}^{*}=\operatorname*{min}_{\boldsymbol{w}}F_{k}(\boldsymbol{w}),\Gamma=2LF_{\delta}+\frac{1}{K}\sum_{k=1}^{K}\delta_{k}^{2}
α=qKd+1,κ=μL,Fδ=F(w∗)−K1∑k=1KFk∗,Fk∗=minwFk(w),Γ=2LFδ+K1∑k=1Kδk2,且
w
(
0
)
\boldsymbol{w}^{(0)}
w(0) 表示初始权重。
虽然 Theorem 1 给出了理论上界,但是却有两个缺点:1)由于证明过程中进行太多放缩,导致上界是偏大的,也就意味着实际中可能陷入局部最优;2)一些实际的模型参数,例如 μ , L , F δ , w ∗ , Γ \mu,L,F_{\delta},\boldsymbol{w}_{*},\Gamma μ,L,Fδ,w∗,Γ 是不容易获取的。
因此这篇文章采用了 “数据/模型驱动法” 来估计 N ϵ N_{\epsilon} Nϵ 的值,核心思想是:进行一定程度的预训练,得到估计值。具体做法如下:
-
首先根据 Theorem 1 定义 “上界函数” :
U ^ ( N ) = α κ ( L ∥ w 0 − w ∗ ∥ 2 + 2 Γ μ ) N + 2 α κ − 1 . \hat{U}(N)=\frac{\alpha\kappa\left(L\left\|\boldsymbol{w}_0-\boldsymbol{w}_*\right\|^2+\frac{2\Gamma}\mu\right)}{N+2\alpha\kappa-1}. U^(N)=N+2ακ−1ακ(L∥w0−w∗∥2+μ2Γ).因为只关心 N N N与 q q q(即 N N N与 α \alpha α)的关系,上式有两个特点:1) U ^ ( N ) \hat{U}(N) U^(N) 是递减函数,且当 N → ∞ N\rightarrow\infty N→∞ 有 U ^ ( N ) → 0 \hat{U}(N)\rightarrow 0 U^(N)→0;2) U ^ ( N ) \hat{U}(N) U^(N) 总体是分数形式,且分子分母都随 α \alpha α 做线性增加。因此重新定义 U ^ ( N ) \hat{U}(N) U^(N) 为:
E [ F ( w ( N ) ) ] − F ( w ∗ ) = α A + D n + α B + C ≜ U ( N ) \mathbb{E}\left[F(\boldsymbol{w}^{(N)})\right]-F(\boldsymbol{w}_{*})=\frac{\alpha A+D}{n+\alpha B+C}\triangleq U(N) E[F(w(N))]−F(w∗)=n+αB+CαA+D≜U(N)其中, A > 0 , B > 0 , C ≥ 0 , D ≥ 0 A>0,B>0,C\geq0,D\geq0 A>0,B>0,C≥0,D≥0。因此,只需要通过预训练估计得出 A , B , C , D A,B,C,D A,B,C,D 的值,就可以得出 N ϵ N_{\epsilon} Nϵ(即 U ( N ) U(N) U(N))。 -
接下来通过 “数据/模型驱动法”得出 A , B , C , D A,B,C,D A,B,C,D。假设 N ~ \tilde{N} N~表示预设的预训练轮数,且: X i = α i A + D , Y i = α i B + C , Z = F ( w ∗ ) , ∀ i ∈ { 1 , 2 } X_i=\alpha_iA+D,Y_i=\alpha_iB+C, Z=F(\boldsymbol{w}_{*}),\forall i\in\{1,2\} Xi=αiA+D,Yi=αiB+C,Z=F(w∗),∀i∈{1,2},那么根据 U ^ ( N ) \hat{U}(N) U^(N) 定义有:
F i , n − Z ≈ X i n + Y i , n ∈ [ 1 , N ~ ] , F_{i,n}-Z\approx\frac{X_{i}}{n+Y_{i}},n\in[1,\tilde{N}], Fi,n−Z≈n+YiXi,n∈[1,N~],其中, α i = d q i K + 1 \alpha_{i}=\frac{\sqrt{d}}{q_{i}K}+1 αi=qiKd+1。(注:这里 i ∈ { 1 , 2 } i\in\{1,2\} i∈{1,2}是为了联立解出 A , B , C , D A,B,C,D A,B,C,D的值)。为了得到合适的 X i , Y i , Z X_i,Y_i,Z Xi,Yi,Z 的值,一个有效的做法是解决如下非线性回归问题:
min X i , Y i , Z ∑ i = 1 2 ∑ n = 1 N ~ ( ( F i , n − Z ) ( n + Y i ) − X i ) 2 . \min_{X_{i},Y_{i},Z}\sum_{i=1}^{2}\sum_{n=1}^{\tilde{N}}\left((F_{i,n}-Z)(n+Y_{i})-X_{i}\right)^{2}. Xi,Yi,Zmini=1∑2n=1∑N~((Fi,n−Z)(n+Yi)−Xi)2.注意到上述优化问题在 固定 Z Z Z 的条件下 可以转化为两个线性回归问题:
min X i , Y i ∑ n = 1 N ~ ( ( F i , n − Z ) ( n + Y i ) − X i ) 2 . \min\limits_{X_i,Y_i}\sum\limits_{n=1}^{\tilde{N}}\left((F_{i,n}-Z)(n+Y_i)-X_i\right)^2. Xi,Yiminn=1∑N~((Fi,n−Z)(n+Yi)−Xi)2.根据线性回归中的“最小二乘法”解出:
X i = ∑ n = 1 N ~ χ i , n ∑ n = 1 N ~ ψ i , n 2 − ∑ n = 1 N ~ χ i , n ψ i , n ∑ n = 1 N ~ ψ i , n N ∑ n = 1 N ~ ψ i , n 2 − ( ∑ n = 1 N ~ ψ i , n ) 2 , Y i = ∑ n = 1 N ~ χ i , n ∑ n = 1 N ~ ψ i , n − N ∑ n = 1 N ~ χ i , n ψ i , n N ∑ n = 1 N ~ ψ i , n 2 − ( ∑ n = 1 N ~ ψ i , n ) 2 . X_i=\frac{\sum_{n=1}^{\tilde{N}}\chi_{i,n}\sum_{n=1}^{\tilde{N}}\psi_{i,n}^{2}-\sum_{n=1}^{\tilde{N}}\chi_{i,n}\psi_{i,n}\sum_{n=1}^{\tilde{N}}\psi_{i,n}}{N\sum_{n=1}^{\tilde{N}}\psi_{i,n}^{2}-\left(\sum_{n=1}^{\tilde{N}}\psi_{i,n}\right)^{2}},\\ Y_i=\frac{\sum_{n=1}^{\tilde{N}}\chi_{i,n}\sum_{n=1}^{\tilde{N}}\psi_{i,n}-N\sum_{n=1}^{\tilde{N}}\chi_{i,n}\psi_{i,n}}{N\sum_{n=1}^{\tilde{N}}\psi_{i,n}^{2}-\left(\sum_{n=1}^{\tilde{N}}\psi_{i,n}\right)^{2}}. Xi=N∑n=1N~ψi,n2−(∑n=1N~ψi,n)2∑n=1N~χi,n∑n=1N~ψi,n2−∑n=1N~χi,nψi,n∑n=1N~ψi,n,Yi=N∑n=1N~ψi,n2−(∑n=1N~ψi,n)2∑n=1N~χi,n∑n=1N~ψi,n−N∑n=1N~χi,nψi,n.其中, χ i , n = ( F i , n − Z ) n , ψ i , n = F i , n − Z \chi_{i,n}=(F_{i,n}-Z)n,\psi_{i,n}=F_{i,n}-Z χi,n=(Fi,n−Z)n,ψi,n=Fi,n−Z。对于 Z Z Z是变量的情况,可以在 F i , N ~ F_{i,\tilde{N}} Fi,N~ 周围进行 一维搜索得到。这样, A , B , C , D A,B,C,D A,B,C,D 的值可以由 { X i } , { Y i } \{X_i\},\{Y_i\} {Xi},{Yi} 表示为:
{ A = X 1 − X 2 α 1 − α 2 , B = Y 1 − Y 2 α 1 − α 2 , C = α 2 Y 1 − α 1 Y 2 α 2 − α 1 , D = α 2 X 1 − α 1 X 2 α 2 − α 1 . \begin{cases}A=\dfrac{X_1-X_2}{\alpha_1-\alpha_2},\\B=\dfrac{Y_1-Y_2}{\alpha_1-\alpha_2},\\C=\dfrac{\alpha_2Y_1-\alpha_1Y_2}{\alpha_2-\alpha_1},\\D=\dfrac{\alpha_2X_1-\alpha_1X_2}{\alpha_2-\alpha_1}.\end{cases} ⎩ ⎨ ⎧A=α1−α2X1−X2,B=α1−α2Y1−Y2,C=α2−α1α2Y1−α1Y2,D=α2−α1α2X1−α1X2. -
因此,可以得到 N ϵ N_{\epsilon} Nϵ 的估计值为:
N ϵ = ⌈ ( d q K + 1 ) ( A ϵ − B ) + D ϵ − C ⌉ . N_\epsilon=\left\lceil\left(\frac{\sqrt{d}}{qK}+1\right)\left(\frac{A}{\epsilon}-B\right)+\frac{D}{\epsilon}-C\right\rceil. Nϵ=⌈(qKd+1)(ϵA−B)+ϵD−C⌉.
2.3 训练时间最小化
本文通过优化 “量化精度”(与每轮训练时间和总训练轮数都相关) 和 “带宽分配”(只和每轮训练时间相关) 最小化训练时间。
上述问题可以表示为:
(
P
1
)
min
q
∈
Z
+
,
{
b
k
}
T
d
N
ϵ
s
.
t
.
T
k
c
o
m
p
+
T
k
c
o
m
m
≤
T
d
(
∀
k
∈
[
K
]
)
,
∑
k
=
1
K
b
k
=
B
0
,
q
≥
2.
\begin{gathered} (\mathrm{P}1)\quad\operatorname*{min}_{q\in\mathbb{Z}^{+},\{b_{k}\}}T_{\mathrm{d}}N_{\epsilon} \\ \mathrm{s.t.~}T_{k}^{\mathrm{comp}}+T_{k}^{\mathrm{comm}}\leq T_{\mathrm{d}}(\forall k\in[K]), \sum_{k=1}^{K}b_{k}=B_{0}, q \geq2. \end{gathered}
(P1)q∈Z+,{bk}minTdNϵs.t. Tkcomp+Tkcomm≤Td(∀k∈[K]),k=1∑Kbk=B0,q≥2.由于上述优化问题涉及到两个控制变量(
q
q
q 和
{
b
k
}
\{b_k\}
{bk}),因此直接解决是困难的。这篇文章中,作者将 问题(P1) 转化为两个子问题,具体来说是:
- 固定量化精度 q q q,优化带宽分配 { b k } \{b_k\} {bk}:借用 双重二分查找技术
- 固定带宽分配 { b k } \{b_k\} {bk},优化量化精度 q q q:借用 逐次凸逼近技术SCA
2.3.1 带宽分配优化
在固定带宽的条件下,问题(P1) 转化为:
(
P
2
)
min
{
b
k
}
,
T
d
T
d
s
.
t
.
T
k
c
o
m
p
+
T
k
c
o
m
m
≤
T
d
(
∀
k
∈
[
K
]
)
,
∑
k
=
1
K
b
k
=
B
0
.
\begin{gathered}(\text{P}2)\quad\min_{\{b_k\},T_{\mathrm{d}}}T_{\mathrm{d}}\\\mathrm{s.t.~}T_k^\mathrm{comp}+T_k^\mathrm{comm}\leq T_\mathrm{d}(\forall k\in[K]),\sum_{k=1}^Kb_k=B_0.\end{gathered}
(P2){bk},TdminTds.t. Tkcomp+Tkcomm≤Td(∀k∈[K]),k=1∑Kbk=B0.注意到
T
k
c
o
m
m
=
S
R
k
T_{k}^{\mathrm{comm}}=\frac{S}{R_{k}}
Tkcomm=RkS,因此有:
(
P
2
)
min
{
b
k
}
,
T
d
T
d
s
.
t
.
T
k
c
o
m
p
+
S
R
k
≤
T
d
(
∀
k
∈
[
K
]
)
,
∑
k
=
1
K
b
k
=
B
0
.
.
\begin{gathered}(\text{P}2)\quad\min_{\{b_k\},T_{\mathrm{d}}}T_{\mathrm{d}}\\\mathrm{s.t.~}T_k^\mathrm{comp}+\frac{S}{R_{k}}\leq T_\mathrm{d}(\forall k\in[K]),\sum_{k=1}^Kb_k=B_0.\end{gathered}.
(P2){bk},TdminTds.t. Tkcomp+RkS≤Td(∀k∈[K]),k=1∑Kbk=B0..
根据
R
k
R_k
Rk 定义,可以得到:这部分没有看懂
R
k
=
−
b
k
ln
2
e
b
k
θ
k
E
i
(
−
b
k
θ
k
)
R_k=-\frac{b_k}{\ln2}\mathrm{e}^{b_k\theta_k}\mathrm{Ei}(-b_k\theta_k)
Rk=−ln2bkebkθkEi(−bkθk)其中,
θ
k
=
N
0
p
k
ϕ
k
,
E
i
(
x
)
=
∫
−
∞
x
e
ρ
ρ
d
ρ
\theta_{k}=\frac{N_{0}}{p_{k}\phi_{k}},\mathrm{Ei}(x)=\int_{-\infty}^{x}\frac{\mathrm{e}^{\rho}}{\rho}\mathrm{d}\rho
θk=pkϕkN0,Ei(x)=∫−∞xρeρdρ。可以证明,函数
R
k
(
b
k
)
R_k(b_k)
Rk(bk) 单调递增。
原文得到引理:
Lemma 1:问题(P2) 中的第一个约束条件可以代替为:
T
k
c
o
m
p
+
T
k
c
o
m
m
=
T
d
,
∀
k
∈
[
K
]
T_k^{\mathrm{comp}}+T_k^{\mathrm{comm}}=T_\mathrm{d},\forall k\in[K]
Tkcomp+Tkcomm=Td,∀k∈[K]因此,可以得到:
R
k
(
b
k
)
=
S
T
d
−
T
k
c
o
m
p
,
R_k(b_k)=\frac{S}{T_\mathrm{d}-T_k^\mathrm{comp}},
Rk(bk)=Td−TkcompS,由于函数
R
k
(
b
k
)
R_k(b_k)
Rk(bk) 的 单调性,可以使用 “二分查找”(双重) 进行求解:
- 外层二分查找:搜索 T d T_d Td 在范围 [ T d − , T d + ] [T_d^-,T_d^+] [Td−,Td+],这里 T d − = max k { T k c o m p } , T d + = max k { T k c o m p + R k ( B 0 / K ) } T_{\mathrm{d}}^{-}=\operatorname*{max}_{k}\{T_{k}^{\mathrm{comp}}\},T_{\mathrm{d}}^{+}=\max_{k}\{T_{k}^{\mathrm{comp}}+R_{k}(B_{0}/K)\} Td−=maxk{Tkcomp},Td+=maxk{Tkcomp+Rk(B0/K)}; 注:这里我认为有问题,应该是 T d + = max k { T k c o m p + R k ( S R k ( B 0 ) ) } T_{\mathrm{d}}^{+}=\max_{k}\{T_{k}^{\mathrm{comp}}+R_{k}(\frac{S}{R_k(B_0)})\} Td+=maxk{Tkcomp+Rk(Rk(B0)S)}
- 内层二分查找:根据公式 R k = − b k ln 2 e b k θ k E i ( − b k θ k ) R_k=-\frac{b_k}{\ln2}\mathrm{e}^{b_k\theta_k}\mathrm{Ei}(-b_k\theta_k) Rk=−ln2bkebkθkEi(−bkθk)搜索 b k b_k bk,搜索范围 [ 0 , B 0 ] [0,B_0] [0,B0]
2.3.2 量化精度优化
这里先假设 p p p 是正实数进行优化。
在固定带宽的条件下,问题(P1) 可以转化为:
(
P3
)
min
q
T
~
s.t.
(
T
k
c
o
m
p
+
T
k
c
o
m
m
)
(
d
q
K
H
1
+
H
2
)
≤
T
~
,
q
≥
2.
\begin{aligned}(\text{P3})&\min_{q}\tilde{T}\\\text{s.t.}&(T_k^\mathrm{comp}+T_k^\mathrm{comm})\left(\frac{\sqrt{d}}{qK}H_1+H_2\right)\le\tilde{T},q\ge2.\end{aligned}
(P3)s.t.qminT~(Tkcomp+Tkcomm)(qKdH1+H2)≤T~,q≥2.其中,引入
T
~
\tilde{T}
T~ 是为了消除
N
ϵ
N_{\epsilon}
Nϵ 的取上界操作;
H
1
=
A
ϵ
−
B
,
H
2
=
A
+
D
ϵ
−
B
−
C
H_{1}=\frac{A}{\epsilon}-B,H_{2}=\frac{A+D}{\epsilon}-B-C
H1=ϵA−B,H2=ϵA+D−B−C。
使用 SCA 技术将院非凸问题,转化为局部凸问题进行求解。核心思路是:改变第一个约束条件。根据
T
k
c
o
m
m
=
(
1
+
log
2
(
1
+
q
)
)
d
R
k
T_k^\mathrm{comm}=\frac{(1+\log_2(1+q))d}{R_k}
Tkcomm=Rk(1+log2(1+q))d,则第一个约束条件为:
(
T
k
c
o
m
p
+
(
1
+
log
2
(
1
+
q
)
)
d
R
k
)
(
d
q
K
H
1
+
H
2
)
≤
T
~
.
\left(T_{k}^{\mathrm{comp}}+\frac{\left(1+\log_{2}(1+q)\right)d}{R_{k}}\right)\left(\frac{\sqrt{d}}{qK}H_{1}+H_{2}\right)\leq\tilde{T}.
(Tkcomp+Rk(1+log2(1+q))d)(qKdH1+H2)≤T~.对等式两边取对数有:(对数的优势是可以将乘法变加法)
J
k
(
q
)
−
ln
(
q
K
)
−
ln
T
~
≤
0
,
J_k(q)-\ln(qK)-\ln\tilde{T}\leq0,
Jk(q)−ln(qK)−lnT~≤0,其中,
J
k
(
q
)
=
ln
(
T
k
c
o
m
p
+
(
1
+
log
2
(
1
+
q
)
)
d
R
k
)
+
ln
(
q
K
H
2
+
H
1
d
)
J_{k}(q)=\ln\left(T_{k}^{\mathrm{comp}}+\frac{(1+\log_{2}(1+q))d}{R_{k}}\right)+\ln\left(qKH_{2}+H_{1}\sqrt{d}\right)
Jk(q)=ln(Tkcomp+Rk(1+log2(1+q))d)+ln(qKH2+H1d)。可以证明 函数
J
k
(
q
)
J_k(q)
Jk(q) 是凹函数,那么根据一阶泰勒公式有:
J
k
(
q
)
≤
J
k
(
q
(
r
)
)
+
J
k
′
(
q
(
r
)
)
(
q
−
q
(
r
)
)
≜
J
^
k
(
q
)
J_k(q)\leq J_k\left(q^{(r)}\right)+J_k^{\prime}\left(q^{(r)}\right)\left(q-q^{(r)}\right)\triangleq\hat{J}_k(q)
Jk(q)≤Jk(q(r))+Jk′(q(r))(q−q(r))≜J^k(q)其中,导数
J
k
′
(
q
(
r
)
)
J_k^{\prime}\left(q^{(r)}\right)
Jk′(q(r)) 为:
J
k
′
(
q
(
r
)
)
=
K
H
2
q
(
r
)
K
H
2
+
H
1
d
+
1
ln
2
[
log
2
(
1
+
q
(
r
)
)
+
1
d
R
k
T
k
c
o
m
m
+
1
]
(
1
+
q
(
r
)
)
\begin{aligned} J_{k}^{\prime}\left(q^{(r)}\right)=\frac{KH_{2}}{q^{(r)}KH_{2}+H_{1}\sqrt{d}} +\frac{1}{\ln2\left[\log_{2}(1+q^{(r)})+\frac{1}{d}R_{k}T_{k}^{\mathrm{comm}}+1\right](1+q^{(r)})} \end{aligned}
Jk′(q(r))=q(r)KH2+H1dKH2+ln2[log2(1+q(r))+d1RkTkcomm+1](1+q(r))1因此,问题(P3) 可以是:
(
P
3.1
)
q
(
r
+
1
)
=
arg
min
q
T
~
s.t.>
J
^
k
(
q
)
−
ln
(
q
K
)
−
ln
(
T
~
)
≤
0
(
∀
k
∈
[
K
]
)
,
q
≥
2.
\begin{aligned}(P3.1)\quad q^{(r+1)}=\arg\min_q\tilde{T}\\\text{s.t.>}\hat{J}_k(q)-\ln(qK)-\ln(\tilde{T})\leq0(\forall k\in[K]),q\geq2.\end{aligned}
(P3.1)q(r+1)=argqminT~s.t.>J^k(q)−ln(qK)−ln(T~)≤0(∀k∈[K]),q≥2.这是一个 凸问题,可以通过 CVXPY 技术进行求解。
这里对凸问题还是凹问题的判断不是很清楚
2.3.3 联合算法
由于之前假设
q
q
q 是正实数,因此需要找到合适的正整数赋值给
q
q
q,这篇文章使用如下方法得到:
q
∗
=
arg
min
q
∈
{
⌈
q
^
⌉
−
1
,
⌈
q
^
⌉
}
T
(
q
,
{
b
k
∗
}
)
q^{*}=\arg\min_{q\in\{\lceil\hat{q}\rceil-1,\lceil\hat{q}\rceil\}}T(q,\{b_{k}^{*}\})
q∗=argq∈{⌈q^⌉−1,⌈q^⌉}minT(q,{bk∗})
三、讨论
这篇文章作者写出的缺点(未来方向)有:
- 没有涉及到 client 采样。在这种情况下如何惊醒 带宽分配;
- 没有涉及到误差补偿,这种技术可以减少量化精度。
我认为的优点是:
- 对通讯时间进行了表征( R k R_k Rk),而不是单单使用时间开估算
- 考虑了一轮训练时间和总训练轮数之间的 tradeoff
我认为的缺点有:
- 本文聚焦于 “减少总训练时间”,而对模型精度问题没有进行考虑
- 需要进行一定程度的预训练
四、定理证明
4.1 L-Smooth 和 Strongly convex 的相关定义和推论
4.1.1 L-Smooth
L-Smooth定义: 假设
L
>
0
L>0
L>0,如果一个在在集合
D
⊂
E
D\subset \mathbb{E}
D⊂E 上可微的函数
f
:
E
→
(
−
∞
,
+
∞
]
f:\mathbb{E}\rightarrow(-\infty,+\infty]
f:E→(−∞,+∞] 是 L-Smooth,那么函数将满足:
∥
∇
f
(
x
)
−
∇
f
(
y
)
∥
≤
L
∥
x
−
y
∥
for all
x
,
y
∈
D
\|\nabla f(\mathbf{x})-\nabla f(\mathbf{y})\|\leq L\|\mathbf{x}-\mathbf{y}\|\quad\text{for all }\mathbf{x},\mathbf{y}\in D
∥∇f(x)−∇f(y)∥≤L∥x−y∥for all x,y∈D其中,
L
L
L被称为 smoothness parameter,
∥
⋅
∥
\|\cdot\|
∥⋅∥表示 2范数。
Lemma 1(descent lemma):
f
(
y
)
≤
f
(
x
)
+
⟨
∇
f
(
x
)
,
y
−
x
⟩
+
L
2
∥
x
−
y
∥
2
f(\mathbf{y})\leq f(\mathbf{x})+\langle\nabla f(\mathbf{x}),\mathbf{y}-\mathbf{x}\rangle+\frac{L}{2}\|\mathbf{x}-\mathbf{y}\|^2
f(y)≤f(x)+⟨∇f(x),y−x⟩+2L∥x−y∥2
Lemma 2:
f
(
y
)
−
f
(
x
)
−
⟨
∇
f
(
x
)
,
y
−
x
⟩
≥
1
2
L
∥
∇
f
(
x
)
−
∇
f
(
y
)
∥
2
f(\mathbf{y})-f(\mathbf{x})-\langle\nabla f(\mathbf{x}),\mathbf{y}-\mathbf{x}\rangle\geq\frac1{2L}\|\nabla f(\mathbf{x})-\nabla f(\mathbf{y})\|_{}^{2}
f(y)−f(x)−⟨∇f(x),y−x⟩≥2L1∥∇f(x)−∇f(y)∥2
Lemma 3:
⟨
∇
f
(
x
)
−
∇
f
(
y
)
,
x
−
y
⟩
≤
L
∥
x
−
y
∥
2
\langle\nabla f(\mathbf{x})-\nabla f(\mathbf{y}),\mathbf{x}-\mathbf{y}\rangle\leq L\|\mathbf{x}-\mathbf{y}\|^2
⟨∇f(x)−∇f(y),x−y⟩≤L∥x−y∥2
Lemma 4:
⟨
∇
f
(
x
)
−
∇
f
(
y
)
,
x
−
y
⟩
≥
1
L
∥
∇
f
(
x
)
−
∇
f
(
y
)
∥
2
\langle\nabla f(\mathbf{x})-\nabla f(\mathbf{y}),\mathbf{x}-\mathbf{y}\rangle\geq\frac{1}{L}\|\nabla f(\mathbf{x})-\nabla f(\mathbf{y})\|^2
⟨∇f(x)−∇f(y),x−y⟩≥L1∥∇f(x)−∇f(y)∥2
4.1.2 Strongly convex
将在L-Smooth 部分得到的 所有不等式变换方向 并且 将
L
L
L 替换为
μ
\mu
μ 就得到了Strongly Convex 函数满足的性质:
f
(
y
)
−
f
(
x
)
−
⟨
∇
f
(
x
)
,
y
−
x
⟩
≥
μ
2
∥
x
−
y
∥
2
⟨
∇
f
(
x
)
−
∇
f
(
y
)
,
x
−
y
⟩
≥
μ
∥
x
−
y
∥
2
∥
∇
f
(
x
)
−
∇
f
(
y
)
∥
≥
μ
∥
x
−
y
∥
f
(
y
)
−
f
(
x
)
−
⟨
∇
f
(
x
)
,
y
−
x
⟩
≤
1
2
μ
∥
∇
f
(
x
)
−
∇
f
(
y
)
∥
2
⟨
∇
f
(
x
)
−
∇
f
(
y
)
,
x
−
y
⟩
≤
1
μ
∥
∇
f
(
x
)
−
∇
f
(
y
)
∥
2
\begin{aligned} f(\mathbf{y})-f(\mathbf{x})-\langle\nabla f(\mathbf{x}),\mathbf{y}-\mathbf{x}\rangle & \geq\frac{\mu}{2}\|\mathbf{x}-\mathbf{y}\|^{2} \\ \langle\nabla f(\mathbf{x})-\nabla f(\mathbf{y}),\mathbf{x}-\mathbf{y}\rangle & \geq\mu\|\mathbf{x}-\mathbf{y}\|^{2} \\ \|\nabla f(\mathbf{x})-\nabla f(\mathbf{y})\|_{}& \geq\mu\|\mathbf{x}-\mathbf{y}\| \\ f(\mathbf{y})-f(\mathbf{x})-\langle\nabla f(\mathbf{x}),\mathbf{y}-\mathbf{x}\rangle & \leq\frac{1}{2\mu}\|\nabla f(\mathbf{x})-\nabla f(\mathbf{y})\|_{}^{2} \\ \langle\nabla f(\mathbf{x})-\nabla f(\mathbf{y}),\mathbf{x}-\mathbf{y}\rangle & \leq\frac{1}{\mu}\|\nabla f(\mathbf{x})-\nabla f(\mathbf{y})\|_{}^{2} \end{aligned}
f(y)−f(x)−⟨∇f(x),y−x⟩⟨∇f(x)−∇f(y),x−y⟩∥∇f(x)−∇f(y)∥f(y)−f(x)−⟨∇f(x),y−x⟩⟨∇f(x)−∇f(y),x−y⟩≥2μ∥x−y∥2≥μ∥x−y∥2≥μ∥x−y∥≤2μ1∥∇f(x)−∇f(y)∥2≤μ1∥∇f(x)−∇f(y)∥2
1.https://zhuanlan.zhihu.com/p/369961290 点击打开知乎博客