개인정보보호 강화 기술/보안 다자간 계산

SMPC-06. 연합학습에서 비밀 공유 적용 시 통신 부하

FedTensor 2025. 10. 12. 17:28

연합학습(Federated Learning)에서 보안 다자간 계산(Secure Multi-Party Computation, SMPC)의 한 기법인 덧셈 기반 비밀 공유를 적용할 때 발생하는 통신 오버헤드 증가에 대해 살펴보겠습니다.

결론부터 말씀드리면, 통신 오버헤드는 참여하는 클라이언트(사용자) 수에 따라 이차적($O(N^2)$)으로 매우 크게 증가합니다.

기본 연합학습 vs. 비밀 공유 적용 연합학습

먼저 두 시나리오의 통신 방식을 비교해 보면 오버헤드 증가를 명확히 이해할 수 있습니다.

  • 기본 연합학습 (Federated Averaging):
    1. 서버가 글로벌 모델을 클라이언트들에게 전송합니다.
    2. 각 클라이언트는 자신의 로컬 데이터로 모델을 학습시킨 후, 업데이트된 모델 파라미터(또는 그래디언트)를 서버에만 전송합니다.
    3. 서버는 수집된 파라미터들을 평균 내어 새로운 글로벌 모델을 만듭니다.

          통신 흐름: 클라이언트 -> 서버 (단방향)

  • 덧셈 기반 비밀 공유 적용 연합학습 (Secure Aggregation): 이 방식은 신뢰할 수 없는 서버가 개별 클라이언트의 모델 업데이트를 들여다보는 것을 막기 위해 사용됩니다.
    1. 각 클라이언트는 자신의 모델 업데이트 값(예: $x_i$)을 여러 개의 '비밀 조각(share)'으로 분할합니다.
    2. 각 클라이언트는 이 비밀 조각들을 **자기 자신을 제외한 다른 모든 참여 클라이언트들과** 주고받습니다. 이 단계가 오버헤드의 주된 원인입니다.
    3. 다른 클라이언트들로부터 받은 비밀 조각들을 합산하여 '마스크(mask)'를 만듭니다.
    4. 자신의 원본 모델 업데이트 값에 이 마스크를 더한 값을 서버로 전송합니다.
    5. 서버는 모든 클라이언트로부터 마스킹된 값들을 수집하여 합산합니다. 이 과정에서 모든 마스크 값들이 서로 상쇄되어, 최종적으로는 모든 클라이언트의 원본 업데이트 값의 총합($\sum x_i$)만이 남게 됩니다.

          통신 흐름: 클라이언트 <-> 다른 모든 클라이언트 (P2P), 그리고 클라이언트 -> 서버

통신 오버헤드 정량 분석

통신 오버헤드가 얼마나 증가하는지 수치적으로 분석해 보겠습니다.

  • $N$: 한 라운드에 참여하는 클라이언트의 수
  • $M$: 모델 파라미터의 크기 (예: 100MB)

1. 기본 연합학습의 통신량

각 클라이언트는 모델 파라미터($M$)를 서버에 한 번만 보내면 됩니다. 따라서 총 업로드 통신량은 다음과 같습니다.
$$
\text{총 통신량} = N \times M
$$

이는 클라이언트 수($N$)에 선형적으로($O(N)$) 비례합니다.

2. 덧셈 비밀 공유 적용 시 통신량

통신은 크게 두 단계로 나뉩니다.

  1. 비밀 조각 공유 (Client-to-Client):
    • 한 명의 클라이언트는 자신의 모델 파라미터($M$)를 $N$개의 조각으로 나눈 뒤, $N-1$개의 조각을 다른 $N-1$명의 클라이언트에게 각각 전송해야 합니다.
    • 따라서 클라이언트 한 명당 발생하는 통신량은 $(N-1) \times M$ 입니다.
    • 총 $N$명의 클라이언트가 이 작업을 수행하므로, 이 단계에서 발생하는 총통신량은 $N \times (N-1) \times M$ 입니다.
  2. 마스킹된 값 전송 (Client-to-Server):
    • 각 클라이언트는 마스킹된 모델 파라미터($M$)를 서버에 한 번 전송합니다.
    • 이 단계의 총통신량은 $N \times M$ 입니다.

두 단계를 합친 총 업로드 통신량은 다음과 같습니다.
$$
\text{총 통신량} = (N \times (N-1) \times M) + (N \times M) = (N^2 - N + N) \times M = N^2 \times M
$$

이는 클라이언트 수($N$)의 제곱에($O(N^2)$) 비례합니다.

증가량 비교 및 예시

항목 기본 연합학습 덧셈 비밀 공유 적용 통신량 증가 배수
복잡도 $O(N)$ $O(N^2)$ 약 $N$ 배
총 통신량 $N \times M$ $N^2 \times M$

 

예시:


모델 파라미터 크기($M$)가 100MB라고 가정해 봅시다.

  • 클라이언트가 10명 ($N=10$)일 때:
    • 기본 FL: $10 \times 100\text{MB} = 1\text{GB}$
    • 비밀 공유 FL: $10^2 \times 100\text{MB} = 100 \times 100\text{MB} = 10\text{GB}$
    • 10배 증가
  • 클라이언트가 100명 ($N=100$)일 때:
    • 기본 FL: $100 \times 100\text{MB} = 10\text{GB}$
    • 비밀 공유 FL: $100^2 \times 100\text{MB} = 10,000 \times 100\text{MB} = 1\text{TB}$
    • 100배 증가

이처럼 참여하는 클라이언트 수가 늘어날수록 통신 오버헤드는 기하급수적으로 커지며, 이는 실제 연합학습 환경에서 큰 부담으로 작용합니다.

시사점

  • 심각한 확장성 문제: 덧셈 기반 비밀 공유는 이론적으로 강력한 프라이버시를 제공하지만, 통신 비용이 전체 클라이언트 수 N에 직접적으로 비례하여 증가합니다. 이는 수백, 수천 개의 클라이언트가 참여하는 대규모 연합학습 환경에서는 심각한 병목 현상을 유발하며 사실상 적용하기 어렵게 만듭니다.
  • 트레이드오프: 강력한 프라이버시 보장을 위해 막대한 통신 비용을 지불해야 하는 명확한 트레이드오프 관계가 존재합니다.
  • 대안 기술의 필요성: 이러한 통신 비효율성 때문에 실제 상용 환경에서는 차분 프라이버시(Differential Privacy)와 같이 통신량 증가가 없는 기술이나, 신뢰할 수 있는 하드웨어(TEE)를 활용하는 등 다른 접근법이 더 선호될 수 있습니다. 혹은 통신 효율을 개선한 다른 형태의 암호화 기법(예: 동형암호 일부 적용, 2-서버 모델)이 연구되고 있습니다.

요약하자면, 덧셈 기반 비밀 공유는 서버에 대한 강력한 개인정보 보호를 제공하지만, 그 대가로 클라이언트 간의 P2P 통신으로 인해 참여자 수의 제곱에 비례하는 막대한 통신 오버헤드를 발생시키는 명확한 단점을 가지고 있습니다.