들어가며...
올해 첫 세미나 논문으로 Mobisys 2022년에 accept된 paper인 "FedBalancer: Data and Pace Control for Efficient Federated Learning on Heterogeneous Clients"를 선정하였다. 겨울방학 시즌동안 coursework이 없으니 Mobisys, Sensys, Mobicom 등 내가 연구하는 community에서 한 해동안 publish된 paper들을 모아다 읽을 계획이었는데, 마침 세미나를 하게 되어서 잘 되었다 생각했다.
Fedbalancer는 카이스트 이성주 교수님 연구실과 중국 칭화대학 AIR에서 공동 연구로 나온 논문이다. 기본적으로 가지고 있는 문제의식은 FL 알고리즘에서 학습에 활용되는 client들을 데이터들의 중요도를 모두 동일하게 평가하는 것에 있다. FL에서 해결하고자 하는 challenge 중 하나가 학습에 투자하는 시간과 성능(time-to-accuracy)의 효율을 높이는 것이다. 즉 학습 시간을 줄이면서 동시에 성능을 끌어올려야 한다. Client들에게 뿌려지는 model이 fix되어 있는 상황에서 학습 시간을 줄이는 방법은 크게 세가지 정도가 있지 않을까 싶다.
첫번째는 학습 알고리즘의 개선이다. On-device training 상황에서 효율적인 학습 알고리즘을 통해 학습 자체에 소요되는 시간을 줄인다면, 성능은 떨어뜨리지 않으면서 학습에 소요되는 시간을 줄일 수 있게 된다. 두번째는 학습에 활용되는 데이터 숫자를 줄이는 것이다. 학습 과정에서 보는 데이터 수를 줄이게 되면 자연스럽게 학습 시간은 줄어든다. 다만, 이 과정에서는 성능이 떨어지지 않도록 적절히 데이터를 선별해야 한다. 마지막은 학습에 소요되는 시간을 제한하는 것이다. 이 또한 시간을 원하는 정도로 고정해둔다면, 성능을 올리는 것이 주된 문제로 바뀐다. 하지만 시간을 짧게 잡으면 잡을수록 global update를 하는데 참여하는 client의 수가 줄어들고 자연스럽게 성능이 떨어질 수 밖에 없다. 따라서 적절한 시간을 설정할 필요가 생긴다.
FedBalancer는 두번째, 세번째 방식을 채택하여 문제에 접근한다. 마주하는 문제는 "어떻게 학습에 활용되는 데이터 숫자를 줄일까?"와 "학습에 소요되는 시간의 제한 (=deadline)을 어찌 설정할까" 하는 것이다. 핵심은 학습에 사용되는 데이터들이 모두 학습에 동일한 정도의 영향력을 가지지 않는다는 것이다. 논문에서는 이를 보이기 위해 motivational study 두 개를 보여준다.
Motivational Study
위 두 Figure는 FEMNIST와 Shakespeare 두 데이터셋에 대해서 FL 알고리즘을 통해 수렴할 때까지 학습시키면서 학습 데이터의 gradient norm을 정렬하여 나타낸 것이다. 1에 가까운 데이터들은 큰 값의 gradient를 가진 sample인 것이고, 0에 가까운 값을 가지는 sample은 작은 gradient를 가진 sample인 것이다. x표시가 된 sample들은 각 round에서 0.2에 해당되는 값이 위치하는 곳을 표시한 것이다. 학습이 진행됨에 따라서 많은 수의 sample들의 gradient norm이 0.2보다 낮아지는 것을 확인할 수 있다. 즉 학습의 관점에서 이미 학습이 어느정도 된 녀석들이라는 것이고, 값이 큰 녀석들은 여전히 모델이 학습할 여지가 있는 sample들이라는 것이다. (초반에는 95.8%가 0.2 이상 -> 나중에는 20%정도...)
논문에서는 이 파란색 부분에 속하는, 이미 학습된 sample들을 학습과정에서 제외함을 통해서 학습에 소요되는 시간을 줄이려 한다. 더 나아가 이렇게 이미 학습된 sample들을 계속해서 학습에 사용하는 것은 computational resource의 낭비일뿐 아니라, FL이 가지는 data distribution의 heterogeneity 문제를 심화하여 학습을 더디게 한다고도 이야기 한다. 요약하자면, client가 가지고 있는 dataset을 전부 학습에 사용하는 것은 inefficient하다는 것!
위 figure는 두번째 motivational study로 T는 round당 소요되는 평균 시간이다. SmartPC는 해당 연구와 유사하게 학습에 소요되는 시간등에 대한 deadline을 adaptive하게 설정하는 등의 접근을 처음으로 한 논문으로 소개된다. Deadline을 설정 하는 것이 학습에 영향력을 미친다는 것과 SmartPC 알고리즘이 모든 데이터에 대해서 잘 작동하지 않는다는 것 두가지를 지적한다. 따라서 효과적인 deadline 설정 방식이 필요함을 시사한다.
일단 여기서 한 번 끊자. 다른 블로그들에서는 요약을 해서 그런지 많아야 게시글 두 개정도로 논문 하나가 끝나던데 나는 왜 이렇게 길어지는지 모르겠다...