Federated Learning

[NeurIPS 2021] FjORD - (3) 본문

Federated Learning/Papers

[NeurIPS 2021] FjORD - (3)

pseudope 2022. 9. 12. 16:30
728x90

논문 제목: FjORD: Fair and Accurate Federated Learning under heterogeneous targets with Ordered Dropout

출처: https://arxiv.org/abs/2102.13451

 

 이전 포스트에서 설명한 OD에 기반하여, 이번 포스트에서는 FjORD에 관한 이야기를 해보겠습니다. (이전 글 보기)

 

5. FjORD

 

 FjORD 알고리즘은 OD를 FL에 적용한 것입니다. $t$기 학습에 참여할 Client들의 집합 $\mathcal{S_t}$가 결정되면, Server는 각 Client $i$ 가 가질 수 있는 최대의 $p$값, 즉, $p_{\max}^i$를 따르는 submodel $\textbf{F}_{p_{\max}^i}$를 Client에게 전송합니다. 그러면 Client $i$는 local iteration을 수행하는 동안 $p_{\max}^i$보다 작은 $p_{(i, k)} \in \mathcal{P}$값들에 대해서만 sampling을 하여 학습을 수행한 뒤 update을 수행하고, Client들이 local iteration을 모두 마친 후에는 Server가 다음과 같은 aggregation rule을 통해서 global update을 수행합니다.

$$w_{s_j}^{t+1} \setminus w_{s_{j-1}}^{t+1} = \text{WA} \left( \left\{ w_{i_{s_j}}^{(i, t, E)} \setminus w_{i_{s_{j-1}}}^{(i, t, E)}   \right\}_{i \in \mathcal{S}_t^j} \right)$$

여기에서. $w_{s_j}^{t+1} \setminus w_{s_{j-1}}^{t+1}$는 $\textbf{F}_{s_j}$에는 속하지만 $\textbf{F}_{s_{j-1}}$에는 속하지 않는 weight를 의미하고, $w^{t+1}$는 global aggregation step인 $t+1$기의 global weight, $w^{i, t, E}$는 Client $i$가 $t$기에 $E$회의 local iteration을 수행한 후 가지고 있는 weight를 의미합니다. 그리고 $\mathcal{S}_t^j := \left\{ i \in \mathcal{S}_t \mid p_{\max}^i \leq s_j \right\}$는 $w_{s_j}$를 update할 수 있는 Client의 집합을 의미하며, $\text{WA}$는 data의 개수에 따른 weighted averaging을 의미합니다.

 

 그렇다면, $p_{\max}^i$는 어떻게 결정될까요? 저자들은 기기명 등을 보고 heuristical하게 지정하는 방법, 그리고 실제 기기를 가지고 실험한 결과를 토대로 설정하는 방법 등을 이야기하고 있습니다. 이렇게 해서 device 별로 tier를 매긴 다음, Client $i$가 특정 tier의 device들이 모인 Cluster $\mathcal{C}$에 속한다면, $\mathcal{C}$의 최대 $p$값인 $p_{\max}^C$를 $p_{\max}^i$로 지정해주는 것입니다.

 

 그리고, OD /w KD 기법 역시 FjORD에 그대로 적용될 수 있습니다. 다만, 이때에는 $F_{\max{\mathcal{P}}}$가 아닌 $F_{\max\{{p \in \mathcal{P}} \ \mid \ p \leq p_{\max}^i\}}$가 teacher model이 될 것입니다. (즉, 성능이 상대적으로 좋은 device가 성능이 뒤처지는 device에게 KD를 해주는 것이 아니라, 동일 device 내에서 KD가 이루어지는 것입니다.) 앞서 언급하였듯이 KD는 추가적인 연산 과정이 필요하므로, 저자들은 학습 시간이 지연될 것으로 예상된다면 plain OD를 사용하거나 $p_{max}^i$를 줄이라고 이야기하고 있습니다.

 

6. Extended Federated Dropout(eFD)

 

 저자들은 FjORD 알고리즘의 baseline으로 Extended Federated Dropout을 사용하고 있는데, eFD는 Federated Dropout(FD) 알고리즘의 개선판으로, 이 역시 저자들이 처음 제안하는 알고리즘입니다. (기존의 FD는 성능 향상에 도움이 안 된다는 것이 현재의 중론입니다. 따라서 paper review를 진행하지 않을 예정입니다.) eFD가 FD와 차이를 보이는 지점은 바로 dropout rate인데, FD는 모든 device에게 동일한 한 가지의 dropout rate를 적용하도록 강제하는 반면, eFD는 $p_{\max}^i$를 지정할 때와 마찬가지로 tier 별로 device들을 Cluster로 묶어서 동일한 Cluster $\mathcal{C}$에 속한 device에는 동일한 dropout rate $p^C$를 적용합니다. (당연히 eFD가 FD보다 더 tight한 baseline이 될 것입니다.)

 

 또한, 저자들은 한 가지의 baseline을 더 제시하는데, 이 eFD를 FjORD에 적용한 것(FjORD w/ eFD)입니다. 즉, 낮은 tier의 device들이 $p_{\max}^i$를 뛰어넘는 $p$를 가지는 submodel $\textbf{F}_p$를 학습할 수 있도록 eFD를 사용하는 방식입니다.

 

 다음 포스트에서는 experiments를 통해서 위의 두 baseline과 FjORD 간의 성능 차이를 확인해보도록 하겠습니다.

'Federated Learning > Papers' 카테고리의 다른 글

[ICML 2019] Agnostic FL - (1)  (0) 2022.11.02
[NeurIPS 2021] FjORD - (4)  (0) 2022.09.13
[NeurIPS 2021] FjORD - (2)  (1) 2022.09.09
[NeurIPS 2021] FjORD - (1)  (0) 2022.09.07
[AAAI 2022] SplitFed - (3)  (0) 2022.09.05
Comments