Paper Review/AI

연합 학습(Federated Learning) (1): Introduction

EddyLee 2024. 2. 12. 19:40

제목 : Federated Learning - Challenges, methods, and future directions

저자 : Tian Li, Anit Kumar Sahu, Ameet Talwalkar, and Virginia Smith


Description

연합 학습은 데이터를 로컬로 유지하면서 휴대폰이나 병원과 같은 원격 기기 또는 사일로화된 데이터 센터에서 통계 모델을 학습하는 것입니다.
이질적이고 잠재적으로 대규모일 수 있는 네트워크에서의 학습은 대규모 머신 러닝, 분산 최적화, 개인정보 보호 데이터 분석을 위한 표준 접근 방식에서 근본적으로 벗어나야 하는 새로운 과제를 야기합니다.
이 글에서는 연합 학습의 고유한 특성과 과제에 대해 논의하고, 현재 접근 방식에 대한 광범위한 개요를 제공하며, 다양한 연구 커뮤니티와 관련된 몇 가지 향후 작업 방향을 개괄적으로 설명합니다.

 

요즘 참 연합 학습에 빠져있는 것 같긴 한데..

개념 -> 논문 -> 연구 계획 이런 식으로 방향성을 맞췄기 때문에 오락가락하는 것 같기도..?

 

아무튼 이번 논문은 연합 학습에 대한 general definition과 challenges를 말해주는 것 같음.

이번 논문을 잘 이해하면, 연합 학습의 개념도 머리에 쏙쏙 들어올 것이라고 생각함.

다시 한번 더 말해보자면.. (계속 쓰는 게 지겹긴 하다) 연합 학습이란..

여러 디바이스가 분산되어 있는 엣지 컴퓨팅에서, 각 디바이스들의 저장 및 연산 능력이 향상이 돼가고 있기에 우리들은 서버에서 각 디바이스의 데이터를 조작하고 평가하는 방식(중앙집중형)이 아니라 디바이스에서 데이터를 조작하고 평가한 뒤 그 평가한 결과만을 서버에 전송하여 머신러닝 모델을 학습하는 방법이 바로 연합 학습이다.

다시 말해, 원격 장치에서 직접 통계 모델을 학습하는 것이 연합 학습이라고 할 수 있다.

이런 방식은 디바이스의 능력을 효율적으로 사용함과 동시에 개인정보 보호도 가능하다는 장점을 제공해준다.

 

Federated Learning - Tian Li, Anit Kumar Sahu, Ameet Talwalkar, and Virginia Smith 논문 Fig1

 

위 그림에선 user가 입력하는 단어를 예측하는 모델이다.

알다시피 모든 디바이스에서 모은 데이터들을 가지고 예측한 것이기에 예측은 잘 할 것이라고 생각함.

저자는 연합 학습이 잘 사용될 수 있는 분야(?)를 서술해놓았는데, 총 3가지를 언급해놓았다.

  1. 스마트폰 -> 단어 예측과 같은 application 강화
  2. 기관 -> 조직이나 기관도 장치라고 볼 수 있다. (병원 ~ 환자 데이터를 보유한 조직!)
  3. 사물 인터넷 -> 실시간으로 들어오는 데이터를 수집, 반응, 적응하는 센서들

암튼 이렇게 연합 학습은 엣지 컴퓨팅에서 굉장히 많은 장점을 낳는 머신러닝 방법론이라고 볼 수 있겠다.

이제 연합 학습 모델의 목적함수는 무엇일까?

(목적함수는 모델의 Error을 나타내는 함수로서, 일반적으로 이 목적함수를 최소화하는 것이 모델의 목표이다)

 

w : weight value (모델의 parameter)

F(w) : 목적함수 --> 최소가 되는 weight인 w를 구하자

m : 총 device 개수.

p_k : hyperparameter (0보다 크거나 같고, 시그마_k(p_k) = 1임.)

또한, p_k = 1/n 혹은 p_k = n_k/n으로 나타낼 수 있다.

F_k : k 번째 device의 목적함수

 

F_k(w)는 k 번째 device의 w에 대한 목적함수를 나타내는데,

여기서 n_k는 해당 디바이스에서 사용 가능한 샘플 수라고 한다..

아무튼 해당 논문에선 연합 학습 모델의 목적함수를 위와 같이 정의를 해놓았다.

 

 

 

Challenges

(위에서 언급된 최적화 문제와 관련된 네 가지 핵심 과제! -> 기존의 분산 학습이나 데이터 분석 같은 고전적인 문제와는 다르다는 것을 명시한다.)

 

(1) Expensive Communication (비싼 통신 비용)

상식적으로 디바이스가 무수히 많다고 가정하면 대역폭, 에너지, 전력과 같은 제한된 리소스로 인해서 네트워크 내 통신이 로컬 연산보다 몇 배나 느릴 수 있다.

따라서 우리는 위와 같은 문제점에 대해서 다음과 같이 생각해 볼 수 있다.

  • 총 통신 라운드 수를 줄인다.
  • 각 라운드에서 전송되는 메시지의 크기를 줄인다.

(2) Systems heterogeneity (시스템 이질성)

연합 네트워크에서 디바이스의 저장, 연산, 통신 기능은 디바이스의 하드웨어, 네트워크 연결(3G, 4G, 5G, WiFi), 전력(배터리)의 가변성으로 인해 다를 수 있다.

따라서 엄청 많은 디바이스가 있는 네트워크에서 일부 디바이스만 활성화되는 상황이 일어날 수 있다.

이렇게 되면 당연히 연합 학습 모델에 부정적인 영향을 미치게 된다.

따라서 우리는 위와 같은 문제점에 대해서 다음과 같이 생각해 볼 수 있다.

  • 디바이스들의 낮은 참여율을 예상하면서 참여율이 100%일 때의 모델과 가장 비슷하게 만든다.
  • 이기종 하드웨어를 허용한다.
  • 네트워크에서 디바이스를 떨궈도 견딜 수 있을 만큼 견고해야 한다.

(3) Statistical heterogeneity (통계적 이질성)

전에 말했던 Non-IID한 data들.

* 디바이스는 동일하지 않은 방식으로 데이터를 생성

* 디바이스 간 데이터 포인트의 수는 다름

* ... 등등

=> 이러한 데이터의 특징은 모델의 복잡성을 가중시킬 수 있다.

(4) Privacy Concerns (개인정보 보호 문제)

처음에 이 부분을 읽고 혼란스러웠다.

'아니 연합학습은 애초에 로컬 기기의 데이터를 외부에 노출하지 않으니, 개인정보 보호가 되는 거 아닌가?'

 

물론 맞는 말이지만 저자가 하고 싶었던 말은, 로컬 디바이스에서 로컬 모델 학습을 마친 뒤 서버에게 해당 하이퍼파라미터 값(gradient 값 같은)을 전달할 때 3자가 이 하이퍼파라미터값을 통해서 모델을 유추할 수 있다는 것.

물론 너무나.. 유추하기 힘들 것이라고 생각하지만.. 이런 사소한 것을 고려하지 않고 방치했다가 시스템 자체가 붕괴된 경우도 많으니, 일단 진중하게 생각을 해봐야 할 것 같다.

 

궁금해서 Chat GPT에게 연합학습의 추가적인 도전 과제를 물어보았다.

 

 

이렇게 오늘은 연합학습 논문에 관련해 읽어본 뒤, 생각을 정리해보았다.

도서관 와서 한 3-4시간동안 노트북 두드린 것 같은데 끽해야 논문 3/11 읽었다니.. 충격의 도가니탕..

 

그래도 계속 한번 나아가보겠다..!