연합 런타임
연합 런타임(Federated Runtime)이란 머신러닝 모델이나 복잡한 애플리케이션을 단일 중앙 서버가 아닌 분산된 장치나 서버 네트워크 전반에 걸쳐 실행하는 컴퓨팅 환경을 의미합니다. 모든 원시 데이터를 한 곳에 모으는 대신, 런타임은 데이터 소스에서 모델을 로컬로 훈련하거나 실행하는 과정을 관리합니다.
현대의 데이터 집약적 애플리케이션에서는 데이터 주권, 개인정보 보호 규정(GDPR 등), 대역폭 제한으로 인해 중앙 집중식 데이터 집계가 비실용적이거나 불법적일 수 있습니다. 연합 런타임은 계산을 데이터 쪽으로 가져옴으로써 이러한 문제를 해결하며, 민감한 정보가 로컬에 유지되면서도 전역 모델 개선에 기여할 수 있도록 보장합니다.
일반적으로 이 과정에는 중앙 오케스트레이터가 포함되며, 이 오케스트레이터는 전역 모델 또는 훈련 작업을 다양한 로컬 노드(클라이언트)에 분배합니다. 각 로컬 노드는 자신의 개인적인 로컬 데이터셋을 사용하여 모델을 훈련하거나 실행합니다. 원시 데이터가 아닌, 결과로 나온 모델 업데이트 또는 파라미터만 오케스트레이터로 다시 전송됩니다. 그런 다음 오케스트레이터는 이러한 업데이트들을 집계(예: 연합 평균화 사용)하여 개선된 전역 모델을 생성하고, 이 모델은 다음 훈련 라운드에 재분배됩니다.
연합 런타임은 민감한 데이터와 관련된 시나리오에서 매우 중요합니다. 예를 들어, 의료 분야(병원 데이터로 진단 모델 훈련), 모바일 장치 학습(키 입력을 업로드하지 않고 키보드 예측 개선), 그리고 실시간 추론이 엣지에서 발생해야 하는 IoT 배포 등이 있습니다.
연합 런타임을 구현하는 것은 시스템 이질성(노드 간의 다른 하드웨어/소프트웨어), 파라미터 교환을 위한 통신 오버헤드, 그리고 비-IID(독립적이고 동일하게 분포되지 않은) 로컬 데이터에도 불구하고 모델 수렴을 보장하는 것과 관련된 복잡성을 도입합니다.
이 개념은 소스 근처에서 데이터를 처리하는 데 중점을 두는 엣지 컴퓨팅(Edge Computing) 및 데이터 유출에 대한 수학적 보장을 추가하기 위해 연합 학습 위에 종종 계층화되는 기술인 차분 프라이버시(Differential Privacy)와 상당히 겹칩니다.