1. 기존 머신러닝과 그 한계
- 작동 방식: 스마트폰, 자동차, 병원 등 여러 곳에서 생성된 데이터를 중앙 서버로 수집하여 모델을 학습함.
- 발생하는 문제점:
- 규제 및 법규: GDPR, PIPA 등 데이터보호법으로 인한 제한
- 사용자 선호: 프라이버시를 중요시 하는 사용자 증가
- 데이터 규모: 카메라 센서 데이터처럼 용량이 너무 커서 서버로 전송하는 비용과 인프라 부담이 막대함.
2. 연합 학습(Federated Learning)이란?
- 핵심 철학: 데이터를 서버로 보내는 대신, 서버(모델)를 데이터(기기)로 보낸다.
- 특징: 로컬 데이터를 서버로 전송하지 않고도 분산된 데이터를 활용해 모델 학습 가능
3. 연합 학습의 프로세스
- 초기화: 서버에서 글로벌 모델 초기화
- 모델 배포: 연결된 기기(Client Nodes) 중 일부를 선택해 현재의 글로벌 모델 파라미터를 전송
- 로컬 학습: 각 기기는 자신의 로컬 데이터를 활용해 모델을 짧게 학습시킴
- 업데이트 전송: 학습 후 변경된 파라미터 혹은 그래디언트를 서버로 전송
- 모델 집계: 서버는 여러 기기에서 받은 업데이트들을 하나로 합침(예: FedAvg 알고리즘: 데이터 수에 따른 가중 평균)
- 반복: 모델이 충분히 성능을 낼 때까지 1~4단계를 계속 반복함.
4. 관련 주요 개념
- Federated Evaluation: 학습과 마찬가지로, 분산된 기기 내의 데이터를 이용해 모델 성능 측정
- Federated Analytics: 모델 학습이 아닌, 분산된 데이터의 통계값(평균 나이 등)을 계산
- Differential Privacy: 업데이트 값에 노이즈를 추가하여 특정 개인의 정보가 역추적되지 않도록 보호
5. Flower 프레임워크의 역할
Get started with Flower