Paper Review/AI

연합 학습(Federated Learning) (4): Future Direction & My Opinion

EddyLee 2024. 2. 12. 20:02

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

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

 

드디어 연합 학습에 관한 논문의 최종 정리.

참 오래도 걸렸다.

연합 학습에 대한 총정리를 해보도록 하겠다.

 

1] 연합 학습이 필요한 이유

대규모의 엣지 컴퓨팅에서, 이질적이고 다양한 데이터들을 이용한 네트워크에서의 학습은 여러 과제를 낸다.

  1. 대규모의 머신러닝 - complexity, load, ... 한계가 존재한다는 것
  2. 엣지 디바이스의 컴퓨팅 성능이 향상되는 장점을 이용해야 한다는 것
  3. 중앙 서버에서의 분산을 최적화 해야한다는 것
  4. 디바이스로부터 온 개인정보가 포함된 데이터 보호를 해야한다는 것

=> 원격 장치에서 직접 통계 모델을 학습하자. (엣지 디바이스에서)

(중앙 서버가 복잡해질 필요가 없다 + 엣지 디바이스에서 ML을 사용하며 원시 데이터를 보호)

=> 원격 장치에서의 모델 파라미터 값만 서버에 전달하고, 서버에선 avg를 내서 엣지에 모델 정보를 뿌리자!

 

2] 연합 학습의 Challenges

1. 비싼 통신 비용

데이터를 과연 축소시킬 수 있을까?

대규모의 엣지 디바이스에선 각각의 모델에 대한 파라미터값도 어마무지 할 것이다.

따라서 대역폭, 에너지, 전력과 같은 한정된 리소스로 인해 네트워크 통신이 로컬 디바이스 연산보다 느릴 수 있다.

=> 엣지 디바이스에서 작은 메시지(훈련 과정의 일부)를 전송하는 방법?

=> 총 통신 라운드를 줄일 수 있다면?

2. 시스템 이질성

각 디바이스의 저장, 연산, 통신 기능은 각각의 디바이스 HW나 SW, 네트워크 연결에 따라서 달라진다.

따라서 모든 디바이스를 활성화 시킬 수 없다. (드롭아웃이 지속해서 발생한다는 뜻)

=> 모든 디바이스의 참여율을 가정하지 않고도, 서버에서 최적화된 모델을 도출할 수 있을까?

=> 특정 디바이스가 네트워크에서 멀리 떨어진 곳에서도 견고하게 통신할 수 있을까?

3. 통계적 이질성

각 디바이스들은 동일한 방식으로 데이터를 생성하고 수집하지 않는다. (않을 확률이 높다)

데이터의 포인트 수가 다를 것이며, 이런 데이터가 각각의 디바이스와 이루는 통계 구조가 따로 존재할 수 있다.

(non-iid)

이렇게 된다면 모델링, 분석, 최적화의 복잡성이 굉장히 높아진다.

=> 메타 학습을 사용할 수 있을까?

 

메타학습이란 자신이 아는 것과 모르는 것을 즉각적으로 구별할 줄 아는 '메타 인지'로부터 시작한 개념으로,
적은 양의 데이터와 주어진 환경만으로도 스스로 학습하고, 학습한 정보와 알고리즘을 새로운 문제에 적용하여 해결하는 학습방식을 의미한다

(적은 양의 데이터로만 학습을 할 수 있는..)

 

 

4. 개인정보 보호 문제

연합 학습은 원시 데이터 대신 모델 업데이트를 공유함으로써 원시 데이터를 지킬 수 있다.

하지만, 모델에 대한 정보 또한 민감한 정보일 수도 있다는 것.

대안으로 SMC(보안 다자간 계산) 혹은 차등 개인정보 보호와 같은 도구를 사용하지만, 이런 접근 방식은 모델 성능이나 시스템 효율성을 저하시키는 단점이 존재한다.

Q. SMC?

안전한 다자간 계산(SMPC; Secure Multi-Party Computation)은 분산된 여러 노드들이 각 개인별 입력 및 출력 내용을 공개하지 않고도, 임의의 기능을 공동으로 계산할 수 있는 암호화 기술이다. 주로 영어로 SMPC(에스엠피씨)라고 사용한다.

Q. 차등 개인정보 보호?

차등 정보 보호란 데이터에 익명성을 더해서 개인정보 침해 위험을 줄이는 방법입니다. 다시 말해 데이터 셋에 임의의 노이즈를 섞음으로써 개인정보가 노출되지 않도록 보호하는 기법이라고 할 수 있다.

3] 연합 학습, Future direction?

1. 커뮤니케이션 방식

연합 학습에서 얼마나 많은 통신이 필요한지 아직 밝혀지지 않았다.

-> 전통적인 데이터 센터 환경에선 원샷 또는 분할 및 정복 통신 방식이 연구됐지만, 대규모의 통계적 heterogeneous network에서는 이러한 방법의 동작이 잘 되지 않는다.

 

2. 통신 감소와 파레토 프론티어

로컬 업데이트 및 모델 압축과 같이 통신을 줄이는 방법이 존재하는데,

이러한 기법들이 서로 어떻게 구성되는지 이해해야한다.

제일 중요한 것은 동일한 통신 예산에서 다른 어떤 접근 방식보다 높은 정확도를 달성하는 파레토 경계선.

아무튼 연합 학습을 위한 통신 감소 기법을 계속해서 비교해야 한다.

 

3. 새로운 비동기 모델

연합 학습에선 각 디바이스가 특정 반복에서 활성화 되지 않을 수 있다.

따라서 중앙 노드에서 새로운 값을 받아와 로컬 연산을 수행하는 시점을 결정할 수 있는 보다 현실적인 디바이스 중심 통신 체계의 효과를 연구해야한다.

 

4. 이질성 진단

최근의 작업들은 로컬 비일관성과 같은 metric을 통해 통계적 이질성을 정량화하는 것을 목표로 했었다.

하지만, 이러한 메트릭은 연합 네트워크에서 훈련이 일어나기 전에 계산할 수 없다.

-> 연합 네트워크의 이질성 수준을 판단할 수 있는 진단 방법이 있을까?

 

5. 세분화된 개인 정보 보호 제약

개인정보 보호 제약 조건이 디바이스 간 또는 단일 디바이스의 데이터 포인트 간에 다를 수 있으므로 보다 세분화된 수준에서 개인정보 보호를 정의해야 할 수도 있다

 

6. 지도 학습의 한계를 극복

지금까지 설명한 방법은 지도 학습을 염두에 두고 개발되었기 때문에 연합된 네트워크의 모든 데이터에 라벨이 존재한다고 가정한다는 점에 유의해야 한다. 데이터의 대부분은 레이블이 없거나, 약한 레이블이 지정되어 있을 수 있다.

또한, 다른 문제는 데이터에 모델을 맞추는 것이 아니라 탐색적 데이터 분석을 수행하거나, 집계 통계를 결정하거나, 강화 학습과 같은 더 복잡한 작업을 실행하는 것일 수 있다.

4] 나의 의견

연합 학습에서 가장 크게 화두되는 과제의 순위는 다음과 같은 것 같다.

먼저, device들의 이질성을 미리 판단하는 진단이 필요하다는 것.

항상 중요한 것은 preprocessing data라고 생각하기 때문에, 이러한 데이터를 미리 알고 최대한 iid하게 조작을 한다면 최적화된 모델이 쉽게 나올 수 있지 않을까 생각해본다.

두 번째, device들의 통신 비용을 최대한 줄여야 한다는 것.

대규모 엣지 네트워크에서의 통신은 각각의 디바이스에서의 데이터가 적다고 해도, 통신 비용이 큰 것은 당연하다.

또한, 이러한 통신 비용을 감당하는 수준도 엣지들에선 다르기 때문에 최대한 많은 디바이스를 네트워크에 참가시키기 위해선 반드시 해결해야 할 이슈인 것 같다.

뭐, 10대 중 3대(?)정도의 소규모의 데이터로만 모든 10대에 최적화된 모델을 뽑는 것이 가장 유토피아적인 발상이 아닐까 싶다.

그러기 위해선 메타 학습이나 압축 기법과 같은 통신 라운드를 최소화 하는 기법들이 더 발전해야 된다고 생각한다.

세 번째, 갑자기 불쑥 튀어나온 비식별 데이터들.

모든 디바이스는 non-iid하지 않은가? 듣도 보도 못한 데이터가 만약 튀어나올 수도 있지 않을까?

연합 네트워크는, 이러한 데이터들에도 견고하게 작동해야 한다.

서버에서의 평균을 내는 FedAvg로는 한계가 있을 것으로 판단하기에, 이를 해결할 새로운 방식이 나와야 한다고 생각한다.

(FedProx가 있다는데 사실 이해는 못했다)

네 번째, 원시 데이터는 보호한다고 하지만 모델 파라미터는 보호하지 못했다.

사실 디바이스의 원시 데이터는 여러 방법으로 알아낼 수 있다.

(네트워크 보안 때 배웠던 지식으론) active attack, passive attack과 같은 방법으로 직접 데이터를 빼오거나 데이터들을 도청할 수도 있다.

이러한 해커들에게, 원시 데이터는 중요할까? 아닐 것이다.

그럴 땐 모델의 파라미터를 보호해야 하는데.. 데이터에 익명성을 준다는 방법도 솔직히 한계가 있다고 보는게 이러한 방법의 전처리 과정도 여러 대의 디바이스에선 복잡성이 증가할 것이며, 서버에서도 이 핸들링에 부하가 올 것이라고 생각한다.

이를 생각하면 데이터 보안 또한 눈여겨 보아야 할 것 같다.

 

연합 학습, ,참으로 오래도 걸렸다.

하지만 살면서 처음으로 13장의 논문을 처음으로 읽어보았다.

짜릿하지만 복잡하지 않았다고 하는 것은 거짓말.

그럼에도 중간중간 내가 아는 개념들이 나오면 반가웠고, 그 부분은 더 열정적으로 읽었던 것 같다.