AI 시스템 구축: 연합학습 – Secure Aggregation

ㅁ 연합학습

ㅇ 정의:
여러 클라이언트(모바일, IoT 등)가 로컬 데이터를 외부로 공유하지 않고, 각자 모델을 학습한 후 모델 파라미터만 중앙 서버로 전송하여 집계하는 분산형 머신러닝 방식.

ㅇ 특징:
데이터 프라이버시 보호, 네트워크 대역폭 절감, 모델 성능 향상을 위해 다수의 이질적인 데이터 소스 활용 가능.

ㅇ 적합한 경우:
개인정보가 민감하여 중앙집중형 학습이 불가능한 환경(의료, 금융), 네트워크 연결이 제한적이거나 불안정한 환경.

ㅇ 시험 함정:
연합학습은 데이터 자체를 절대 전송하지 않는다는 점이 핵심이며, 중앙 서버가 로우 데이터를 수집하는 형태는 연합학습이 아님.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “연합학습은 로컬 데이터는 그대로 두고, 모델 파라미터만 서버로 전송한다.”
X: “연합학습은 로컬 데이터를 암호화하여 서버로 전송한다.”

================================

1. Secure Aggregation

ㅇ 정의:
연합학습에서 각 클라이언트의 모델 업데이트(파라미터)를 서버가 개별적으로 볼 수 없도록 암호화하여, 집계된 합계만 복호화 가능한 프로토콜.

ㅇ 특징:
클라이언트 간 또는 서버와 클라이언트 간의 키 교환을 통해 암호화된 파라미터를 전송, 서버는 개별 업데이트를 알 수 없고 전체 합만 계산 가능.

ㅇ 적합한 경우:
민감한 데이터 환경에서 모델 업데이트 자체도 노출 위험이 있는 경우, 다수의 참여자가 있는 연합학습 환경.

ㅇ 시험 함정:
Secure Aggregation은 모델 파라미터를 전송하지 않는 것이 아니라, 암호화하여 전송 후 집계만 가능하게 하는 것임. 단순 전송 차단과 혼동 금물.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Secure Aggregation은 개별 클라이언트 업데이트를 서버가 알 수 없도록 암호화한다.”
X: “Secure Aggregation은 클라이언트 업데이트를 서버에 전송하지 않는다.”

ㅁ 추가 학습 내용

Secure Aggregation에서 주로 사용되는 기술은 다음과 같다.
1. 동형암호(Homomorphic Encryption): 암호화된 상태에서 연산이 가능하여, 데이터 복호화 없이 합산이나 곱셈 등의 연산을 수행할 수 있다.
2. 비밀분산(Secret Sharing): 원본 데이터를 여러 조각으로 나누어 각기 다른 참여자에게 분배하고, 일정 수 이상의 조각이 모여야 원본을 복원할 수 있도록 하는 방식이다.
3. 다자간 보안 계산(Secure Multi-Party Computation, MPC): 여러 참여자가 자신의 입력을 공개하지 않고도 공동 연산을 수행하여 결과만을 얻는 기술이다.

시험에서는 이들 암호화 기법의 차이점과 적용 범위를 구분할 수 있어야 한다.

또한, Dropout Tolerance는 학습 과정에서 일부 클라이언트가 중도에 이탈하더라도 집계가 가능하도록 하는 기능으로, 실제 환경에서 중요한 고려 사항이다.

중앙 서버가 집계한 후 모델을 재배포할 때는 모델 역공학 공격 방지 등 보안 측면도 함께 고려해야 한다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*