연합학습/추론 성능

연합학습에서의 데이터 이질성(Non-IID) 정량화

FedTensor 2026. 1. 10. 12:24

1. 개요

연합학습의 가장 큰 난제는 클라이언트(기관)마다 데이터 분포가 다른 Non-IID(Non-Independent and Identically Distributed) 상황입니다. 중앙 서버가 원본 데이터를 볼 수 없는 보안 제약 하에서, 서버는 클라이언트들이 전송하는 모델 업데이트의 기하학적, 통계적 특성을 분석하여 이질성을 간접적으로 정량화할 수 있습니다.

2. 서버 측 이질성 정량화 방법론

2.0. 전제: 모델 업데이트의 정의와 등가성

본 문서에서 언급하는 '모델 업데이트'는 구체적인 구현(FedAvg, FedSGD 등)에 따라 다음 세 가지 중 하나일 수 있으나, 이질성 정량화의 본질은 동일합니다.

  1. 파라미터 ($w_t$): 학습이 완료된 로컬 모델의 가중치 자체
  2. 파라미터 차이 ($\Delta w$): 글로벌 모델과의 차이 ($w_t - w_{global}$)
  3. 그래디언트 ($\nabla L$): 손실 함수의 기울기

물리학적/수학적 등가성: 이들은 선형 관계에 있습니다. 학습률을 $\eta$라고 할 때, $\Delta w \approx -\eta \cdot \nabla L$의 관계가 성립합니다. 따라서 벡터의 방향을 분석하는 코사인 유사도나, 분산을 분석하는 SVD 기법은 스칼라 배($-\eta$)나 평행 이동(Shift by $w_{global}$)을 고려하면 수학적으로 등가입니다. 편의상 이하 설명에서는 이를 통칭하여 업데이트 벡터 $u$로 표기합니다.

방법 1: 그래디언트/가중치 발산(Divergence) 분석

가장 직관적인 방법으로, 각 클라이언트의 업데이트 벡터가 글로벌 모델의 업데이트 방향과 얼마나 다른지를 측정합니다.

1) 코사인 유사도 기반 (Directional Analysis)

클라이언트의 로컬 업데이트 벡터와 글로벌 업데이트 벡터(또는 평균 벡터) 사이의 각도를 측정합니다.

  • 정량화 지표: $Sim(u_i, u_{avg}) = \frac{u_i \cdot u_{avg}}{||u_i|| ||u_{avg}||}$
    • $u_i$: 클라이언트 $i$의 업데이트 벡터 (파라미터인 경우 $w_i - w_{global}$로 변환하여 사용)
    • $u_{avg}$: 해당 라운드의 평균 업데이트 벡터
  • 해석: 값이 1에 가까울수록 IID에 가깝고, 값이 낮거나 음수라면 해당 클라이언트의 데이터 분포가 전체 분포와 크게 다르거나(Non-IID), 적대적(Adversarial)임을 의미합니다.

2) 유클리드 거리 기반 (Magnitude Analysis)

업데이트 벡터 간의 직선 거리를 측정합니다.

  • 정량화 지표: $Dist(u_i, u_{global}) = ||u_i - u_{global}||_2$
  • 해석: 거리가 멀수록 해당 클라이언트가 로컬 최적점(Local Minimum)으로 강하게 끌려가고 있음을 의미하며, 이는 데이터 분포의 편향을 시사합니다. (파라미터 $w$를 직접 사용하는 경우에도 클라이언트 간의 거리는 동일하게 유지됩니다.)

방법 2: 업데이트 행렬의 스펙트럼 분석 (SVD 활용)

물리학의 고유값 문제와 유사하게, 클라이언트들의 업데이트 벡터들을 모아 행렬을 만들고, 이 행렬의 주성분을 분석합니다.

  • 구체적 과정:
    1. 라운드 $t$에 참여한 $K$개 클라이언트의 업데이트 벡터($u$)를 $d$차원으로 펼칩니다.
    2. 이를 모아 $K \times d$ 크기의 행렬 $G$를 구성합니다.
    3. 행렬 $G$에 대해 특이값 분해(SVD)를 수행하여 특이값(Singular Values, $\sigma$)들을 추출합니다.
  • 정량화 지표: 특이값들의 분포 (예: $\sigma_1 / \sum \sigma_i$ 또는 유효 랭크)
  • 해석:
    • IID 상황: 모든 클라이언트가 비슷한 방향을 가리키므로 첫 번째 특이값($\sigma_1$)이 매우 크고 나머지는 작습니다 (Rank-1 근사).
    • Non-IID 상황: 업데이트 방향이 제각각이므로, 특이값들이 넓게 퍼지며 행렬의 유효 랭크(Effective Rank)가 높아집니다. 이 랭크 값을 이질성의 척도로 사용할 수 있습니다.

방법 3: 클라이언트 제어 변수 (Control Variates) 모니터링

SCAFFOLD와 같은 알고리즘을 사용하는 경우, 알고리즘 내부 변수를 활용하여 이질성을 측정할 수 있습니다.

  • 개념: SCAFFOLD는 '클라이언트 드리프트(Client Drift)'를 보정하기 위해 각 클라이언트마다 제어 변수 $c_i$와 글로벌 제어 변수 $c$를 유지합니다.
  • 정량화 지표: $Drift_i = ||c_i - c||$
  • 해석: $c_i$는 클라이언트 $i$의 데이터 분포가 글로벌 분포에서 얼마나 벗어나 있는지를 나타내는 벡터입니다. 이 벡터의 크기(Norm) 자체가 시스템이 학습한 해당 기관의 이질성 점수가 됩니다. 이는 별도의 연산 없이 알고리즘 과정 중에 자연스럽게 얻어집니다.

방법 4: Fisher Information Matrix (FIM) 근사 (심화)

곡률(Curvature) 정보를 활용하는 방법입니다.

  • 개념: 모델 파라미터 공간에서 손실 함수(Loss Landscape)의 곡률은 데이터 분포에 민감합니다.
  • 과정: 클라이언트로부터 그래디언트의 제곱합(또는 대각 Hessian 근사값)을 추가로 전송받습니다. (보안 집계 필요)
  • 정량화 지표: 클라이언트 간 FIM 대각 성분의 불일치도(Discrepancy).
  • 해석: 특정 파라미터에 대해 어떤 클라이언트는 민감하게 반응하고(높은 곡률), 어떤 클라이언트는 둔감하다면(낮은 곡률), 이는 해당 특징(Feature)에 대한 데이터 분포가 상이함을 의미합니다.

2.5. 정량화 방법론 비교 요약

구분 방법 1: 발산 분석 (Divergence) 방법 2: 스펙트럼 분석 (SVD) 방법 3: 제어 변수 (Control Variates) 방법 4: Fisher Information (FIM)
핵심 지표 코사인 유사도, 유클리드 거리 특이값 분포($\sigma$), 유효 랭크 드리프트 벡터 크기 ($Drift_i$) FIM 대각 성분 불일치도
연산 복잡도 (서버) 낮음 ($O(d)$)


단순 벡터 연산
높음 ($O(K \cdot d^2)$)


행렬 분해 필요
중간


알고리즘 내재 (SCAFFOLD)
매우 높음


2차 미분 근사 계산 필요
통신 비용 낮음


기본 모델 업데이트만 전송
낮음


기본 모델 업데이트만 전송
중간


제어 변수($c_i$) 추가 전송 필요
높음


Hessian 근사값 등 추가 정보 필요
보안 리스크 낮음


표준적인 보안 집계 적용 가능
낮음


표준적인 보안 집계 적용 가능
낮음


추가 변수도 암호화 가능
중간


곡률 정보 유출로 인한 간접 추론 가능성
특징 및 추천 가장 직관적이고 구현 용이.


초기 프로토타입에 적합.
전체적인 상관관계 파악 가능.


클라이언트 수($K$)가 많을 때 유리.
알고리즘에 통합되어 자연스러움.


SCAFFOLD 도입 시 최적.
가장 정밀한 분석 가능.


고성능/연구 목적에 적합.