AI 시스템 구축: 분산 전략
ㅁ 분산 전략
ㅇ 정의:
여러 개의 장치나 서버에서 데이터를 직접 공유하지 않고 모델 학습을 수행하는 방식으로, 데이터 프라이버시를 보장하면서 분산 환경에서 학습 효율을 높이는 전략.
ㅇ 특징:
– 데이터가 로컬에 머물고, 모델 파라미터나 중간 결과만 공유.
– 네트워크 지연, 통신 비용, 보안 위협 등을 고려해야 함.
– 프라이버시 보호와 성능 간의 균형이 중요.
ㅇ 적합한 경우:
– 데이터가 민감하여 중앙 서버로 전송이 불가능한 경우.
– 여러 기관이나 장치가 협력하여 모델을 학습해야 하는 경우.
ㅇ 시험 함정:
– 단순히 ‘분산 학습’과 혼동하여 데이터가 중앙 서버에 모인다고 오답을 선택하는 경우.
– 보안 기술이 반드시 암호화만을 의미한다고 착각하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 데이터는 각 장치에 남겨둔 채 모델을 학습한다.
X: 원본 데이터를 중앙 서버로 전송하여 학습한다.
================================
1. Federated Learning
ㅇ 정의:
여러 클라이언트(스마트폰, IoT 기기 등)가 각자의 데이터를 로컬에서 학습시키고, 학습된 모델 파라미터만 중앙 서버에 전송하여 집계하는 분산 학습 방식.
ㅇ 특징:
– 데이터 프라이버시 보장.
– 중앙 서버는 모델 파라미터를 집계(Aggregation)하여 글로벌 모델을 갱신.
– 통신 효율을 위해 파라미터 압축, 업데이트 주기 조정 필요.
ㅇ 적합한 경우:
– 모바일 키보드 추천, 의료 데이터 분석 등 민감 데이터 활용.
ㅇ 시험 함정:
– 파라미터 집계 과정에서 원본 데이터가 유출된다고 착각.
– 모든 클라이언트의 데이터 분포가 동일하다고 가정하는 오류.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 각 클라이언트가 로컬 모델을 학습하고 파라미터만 서버로 전송한다.
X: 각 클라이언트의 원본 데이터를 서버로 전송한다.
================================
2. Split Learning
ㅇ 정의:
모델을 여러 부분으로 나누어 각 부분을 서로 다른 장치나 서버에서 학습하는 방식. 앞부분은 클라이언트가, 뒷부분은 서버가 학습.
ㅇ 특징:
– 클라이언트는 입력 데이터를 전처리 후 중간 활성값(Activation)만 서버에 전송.
– 서버는 해당 활성값을 받아 나머지 모델 부분을 학습.
– 데이터 프라이버시와 연산 효율성을 동시에 고려.
ㅇ 적합한 경우:
– 연산 리소스가 제한된 장치에서 대규모 모델 학습.
– 의료 영상 분석 등 민감 데이터 처리.
ㅇ 시험 함정:
– 중간 활성값이 원본 데이터와 동일한 정보량을 가진다고 오해.
– Federated Learning과 동일하게 전부 로컬 학습이라고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 모델의 앞부분은 클라이언트가, 뒷부분은 서버가 학습한다.
X: 전체 모델을 서버에서만 학습한다.
================================
3. Homomorphic Encryption
ㅇ 정의:
암호화된 상태에서 연산이 가능한 암호 기법으로, 복호화하지 않고도 덧셈, 곱셈 등의 연산을 수행할 수 있음.
ㅇ 특징:
– 데이터 보안과 프라이버시를 극대화.
– 연산 속도가 느리고, 계산 자원이 많이 필요.
– 완전동형(Full)과 부분동형(Partial) 방식이 있음.
ㅇ 적합한 경우:
– 민감 데이터를 암호화 상태로 분석해야 하는 경우.
– 클라우드 환경에서 데이터 유출 위험이 높은 경우.
ㅇ 시험 함정:
– 암호화된 데이터는 연산이 불가능하다고 착각.
– 모든 연산이 가능한 것이 부분동형 암호라고 잘못 이해.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 암호화된 상태에서도 연산이 가능하다.
X: 연산하려면 반드시 복호화해야 한다.
ㅁ 추가 학습 내용
학습 정리
1. Federated Learning
– FedAvg: 각 클라이언트의 로컬 모델 파라미터를 평균하여 집계. 단순하고 구현 용이하지만 데이터 불균형(Non-IID) 상황에서 성능 저하 가능.
– FedProx: FedAvg에 정규화 항(Proximal term)을 추가하여 클라이언트 간 데이터 분포 차이를 완화. Non-IID 환경에서 안정적 수렴 가능.
– 알고리즘 비교 시 수렴 속도, 통신 효율성, Non-IID 대응 능력, 구현 복잡도 등을 기준으로 장단점 분석.
2. Split Learning
– U자형 학습(U-shaped training): 모델의 앞부분과 뒷부분을 클라이언트가, 중간 부분을 서버가 담당하는 구조. 마지막 레이어 일부를 클라이언트 쪽으로 되돌려 학습.
– 클라이언트-서버 간 역전파 처리: 순전파 시 중간 활성화값 전송, 역전파 시 중간 그라디언트를 전송하여 나머지 레이어 학습 진행.
3. Homomorphic Encryption
– 완전동형암호(FHE): 덧셈, 곱셈 등 모든 연산을 암호 상태에서 수행 가능. 계산 복잡도 높음.
– 부분동형암호(PHE): 특정 연산(덧셈 또는 곱셈)만 암호 상태에서 가능.
– 대표 알고리즘: Paillier(덧셈 동형), BFV(정수 연산 지원), CKKS(근사 실수 연산 지원).
– 알고리즘별 지원 연산, 효율성, 적용 분야 비교.
4. 분산 전략과 보안 기술
– Differential Privacy: 데이터에 노이즈를 추가하여 개별 정보 노출 방지.
– Secure Multi-Party Computation(SMPC): 여러 참여자가 각자의 입력을 숨긴 채 공동 계산 수행.
– 차이점: DP는 결과에 노이즈 추가, SMPC는 계산 과정에서 데이터 비노출.
– 결합 사례: Federated Learning + DP, FL + SMPC 등.
5. 실제 적용 시 고려사항
– 통신 병목: 파라미터 전송량 감소 기법(압축, 희소화 등) 활용.
– 모델 수렴 속도 저하: 학습률 조정, 적응형 옵티마이저, 로컬 학습 횟수 조절.
– 데이터 불균형(Non-IID): 데이터 샘플링 전략, 클러스터링 기반 FL, FedProx 등 사용.
시험 대비 체크리스트
[ ] FedAvg와 FedProx의 구조와 차이점, 장단점 설명 가능
[ ] Split Learning의 U자형 학습 개념과 역전파 절차 이해
[ ] 완전동형암호와 부분동형암호의 차이 및 연산 가능 범위 구분 가능
[ ] Paillier, BFV, CKKS 알고리즘의 특징과 적용 사례 설명 가능
[ ] Differential Privacy와 SMPC의 개념, 차이점, 결합 사례 설명 가능
[ ] 통신 병목 해결 방법 나열 가능
[ ] 모델 수렴 속도 저하 원인과 해결책 제시 가능
[ ] Non-IID 데이터 문제의 영향과 대응 방법 설명 가능