연합 학습이란 무엇인가요?

작성자

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

연합 학습이란 무엇인가요?

연합 학습은 머신 러닝(ML) 모델을 훈련하는 분산형 접근 방식입니다. 분산 네트워크의 각 노드는 자체 로컬 데이터를 사용하여 글로벌 모델을 훈련하며, 중앙 서버는 노드 업데이트를 집계하여 글로벌 모델을 개선합니다.

인공 지능(AI) 모델은 방대한 양의 데이터를 필요로 합니다. 이러한 데이터 세트는 일반적으로 모델 훈련을 위해 하나의 위치에 중앙 집중화되어 있으며, 이로 인해 데이터 전송 또는 저장 중에 개인 식별 가능 정보(PII)가 노출될 가능성이 있습니다.

연합 학습은 민감한 정보가 노드 내에 남아 있도록 하여 데이터 프라이버시를 보호하고 이러한 우려를 해소하는 데 도움이 됩니다. 또한 다양한 장치 또는 서버가 AI 모델의 개선에 기여하는 협업 학습이 가능합니다.

전문가가 전하는 최신 AI 트렌드

가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.

감사합니다! 구독이 완료되었습니다.

구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.

연합 학습의 작동 방식

연합 학습은 다음의 4가지 주요 단계로 구성됩니다.

  • 초기화

  • 로컬 학습

  • 종합 집계

  • 이터레이션

초기화

연합 학습은 중앙 서버에서 글로벌 머신 러닝 모델을 초기화하는 것으로 시작됩니다. 이 모델이 연합 학습 프로세스의 기반이 됩니다.

중앙 서버는 글로벌 모델을 연결된 클라이언트 노드(서버 또는 스마트폰, 사물인터넷(IoT) 장치와 같은 엣지 장치)에 배포합니다. 또한 하이퍼파라미터, 에포크 수(훈련 데이터를 완전히 반복하는 횟수)와 같은 구성 변수 등 관련 정보를 전달합니다.

로컬 훈련

클라이언트 노드는 글로벌 모델과 필요한 모든 세부 정보를 수신한 후 훈련을 시작합니다. 훈련 프로세스는 일반적인 신경망과 유사하며, 클라이언트 노드는 장치 내 또는 로컬 데이터를 사용하여 모델을 훈련합니다.

정해진 에포크 수가 완료되면 클라이언트 노드는 업데이트된 모델 파라미터 또는 그래디언트를 중앙 서버로 전송합니다. 완전히 훈련된 로컬 모델이나 원시 데이터는 전송되지 않습니다.

글로벌 집계

중앙 서버는 모든 클라이언트 노드 업데이트를 집계합니다. 집계 방식에는 여러 가지가 있지만 일반적인 방법은 연합 평균화(Federated Averaging)이며, 이는 모든 업데이트의 가중 평균을 계산합니다. 이렇게 결합된 업데이트는 글로벌 모델에 반영됩니다.

반복

중앙 서버는 새롭게 업데이트된 글로벌 모델을 다시 클라이언트 노드에 배포하며, 모델이 완전히 수렴하거나 충분히 훈련될 때까지 연합 학습 프로세스를 반복합니다.

AI 아카데미

AI 전문가 되기

비즈니스 성장을 주도하는 AI 투자의 우선순위를 정할 수 있는 지식을 확보하세요. 지금 바로 무료 AI 아카데미를 시작하고 조직에서 AI의 미래를 주도하세요.

연합 학습의 유형

연합 학습은 데이터 세트의 구조나 클라이언트 노드의 특성에 따라 다양하게 구성될 수 있습니다. 일반적으로 다음과 같은 카테고리로 분류됩니다.

  • 디바이스 간

  • 교차 사일로

  • 수평

  • 수직형

디바이스 간

디바이스 간 연합 학습은 모바일폰 및 IoT 장치와 같이 연결성이 불안정하고 컴퓨팅 자원이 제한된 장치를 사용합니다. 이러한 연합 학습은 불안정한 네트워크 연결을 고려해야 하며, 클라이언트 노드가 처리할 수 있는 데이터 세트가 작기 때문에 로컬 훈련에는 일반적으로 많은 장치가 필요합니다.1

예를 들어 전자 상거래 기업은 여러 디바이스에 걸친 사용자 데이터를 기반으로 추천 엔진을 훈련시켜 보다 개인화된 제품 추천을 제공할 수 있습니다.1

사일로 간

사일로 간 연합 학습은 디바이스 간 학습과 달리 안정적인 연결성과 대용량 데이터를 저장 및 처리할 수 있는 강력한 컴퓨팅 리소스를 갖춘 소수의 서버 또는 데이터 센터를 활용합니다. 클라이언트 노드는 개인 데이터를 보유한 사일로로 간주되며, 개인정보 보호 문제로 인해 이 데이터는 시스템을 벗어나거나 외부에 공유되지 않아야 합니다.1

사일로 간 연합 학습은 금융 및 의료 산업에서 특히 유용할 수 있습니다. 예를 들어 여러 병원 컨소시엄이 자체 환자 데이터를 기반으로 공동 모델을 훈련하여 특정 질병의 진단 또는 예측을 개선할 수 있습니다. 마찬가지로 여러 은행이 자체 거래 기록을 사용하여 공통 머신 러닝 알고리즘을 훈련해 사기 탐지 성능을 향상시킬 수 있습니다.1

수평형

수평형 연합 학습에서는 클라이언트 노드 데이터 세트가 동일한 특성 또는 구조를 공유하지만 샘플이 서로 다릅니다. 예를 들어 여러 클리닉이 동일한 임상 시험 변수는 같지만 각기 다른 환자 데이터를 기반으로 공동 분석 모델을 훈련할 수 있습니다.

수직형

반면 수직형 연합 학습은 동일한 샘플을 공유하지만 구조나 특성이 다른 클라이언트 노드 데이터 세트를 활용합니다. 예를 들어 소매업체와 은행이 협력하여 보다 개인화된 고객 서비스를 제공하기 위해 동일한 고객 데이터를 공유하되 구매 정보와 금융 정보는 서로 다른 데이터를 사용해 공동 추천 엔진을 훈련할 수 있습니다.

연합 학습의 이점

연합 학습의 분산형 구조는 다음과 같은 주요 이점을 제공합니다.

  • 효율성

  • 향상된 데이터 개인 정보 보호

  • 규정 준수 개선

효율성

연합 학습은 대용량 데이터 세트에 직접 접근하거나 전송할 필요가 없습니다. 이로 인해 지연 시간이 감소하고 머신 러닝 모델 훈련에 필요한 대역폭도 줄어듭니다.

데이터 프라이버시 강화

연합 학습 시스템의 프라이버시 보호 아키텍처 덕분에 민감한 데이터가 장치를 벗어나지 않습니다. 이는 사이버 공격이나 데이터 유출 위험을 최소화하는 데 도움이 됩니다.

대부분의 연합 학습 시스템은 차등 프라이버시 및 보안 다자간 연산(SMPC)과 같은 암호화 기법을 구현하여 데이터 프라이버시를 강화합니다.

차등 프라이버시는 모델 업데이트를 중앙 서버로 전송하기 전에 노이즈를 추가하며, SMPC는 중앙 서버가 암호화된 모델 업데이트에 대해 안전한 집계 연산을 수행할 수 있도록 합니다. 이러한 방법은 업데이트를 제공한 클라이언트 노드를 역으로 추적하거나 구별하기 어렵게 만들어 데이터 보안을 강화합니다.

규정 준수 개선

데이터가 로컬에서 저장되고 처리되므로, 연합 학습은 기업이 데이터 보호 규정을 준수하는 데 도움이 될 수 있습니다. 규정 준수는 민감한 데이터를 다루는 금융 및 의료 분야에서 특히 중요합니다.

연합 학습의 과제

연합 학습은 AI 모델 훈련에서 혁신적인 변화를 의미하지만, 몇 가지 한계도 존재합니다. 연합 학습과 관련된 주요 과제는 다음과 같습니다.

  • 적대적 공격

  • 통신 오버헤드

  • 이질성

적대적 공격

연합 학습은 데이터 중독(포이즈닝) 공격에 취약할 수 있습니다. 이는 위협 행위자가 로컬 훈련 중 악성 데이터를 주입하거나 모델 업데이트를 조작하여 중앙 모델을 손상시키는 공격입니다.

이러한 공격을 방지하기 위해 이상 탐지, 적대적 훈련, 엄격한 접근 제어 및 기타 보안 조치를 적용할 수 있습니다.

통신 오버헤드

클라이언트 노드와 중앙 서버 간의 정기적인 교환은 상당한 병목 현상을 초래할 수 있습니다. 통신 효율성을 개선하려면 업데이트 전 전송 시 모델 업데이트 압축, 양자화, 희소화와 같은 전략을 통해 일부 또는 필수 업데이트만 전달하는 방법을 고려할 수 있습니다. 단, 이러한 전략은 정확도 저하와의 균형을 고려해야 합니다.

이질성

연합 학습의 분산형 설계는 데이터 다양성을 높여 편향을 완화하는 데 기여할 수 있습니다. 그러나 이는 데이터가 동일하게 분포되지 않으며 불균형할 수 있음을 의미합니다. 일부 장치는 다른 장치보다 더 많은 데이터를 보유할 수 있어, 글로벌 모델이 이러한 데이터 중심 노드로 치우칠 수 있습니다.

통계적 이질성을 해결하기 위한 방법으로는 샘플링 기법, 분포 변화를 고려한 기법, 모델 훈련 시 유사한 데이터 분포를 가진 노드 클러스터링, 이질 네트워크에 특화된 최적화 알고리즘(FedProx) 등이 있습니다.

시스템 이질성도 문제이며, 장치마다 컴퓨팅 성능이 다를 수 있습니다. 적응형 로컬 훈련을 적용하여 각 노드의 처리 능력에 맞춘 모델 훈련이 가능합니다.

연합 학습 사용 사례

연합 학습은 국경과 지리적 한계를 넘어 조직들이 협력하여 실제 문제를 해결할 가능성을 제시합니다. 연합 학습의 혜택을 받을 수 있는 산업 분야는 다음과 같습니다.

  • 금융

  • 의료 서비스

  • 소매 및 제조

  • 도시 관리

금융

금융 기관은 협력하여 신용 위험 평가 모델에 사용할 데이터를 다양화함으로써 금융 소외 계층의 신용 접근성을 개선할 수 있습니다. 또한 연합 학습을 활용하여 보다 개인화된 은행 서비스 및 투자 조언을 제공하여 사용자 경험을 향상시킬 수 있습니다.

의료

병원 및 연구 기관은 희귀 질환 치료제 개발을 지원하는 공동 딥 러닝 모델을 훈련할 수 있습니다. 연합 학습 시스템은 소외된 커뮤니티에 대한 더 나은 치료 전략을 찾고 환자 결과를 개선하는 데도 기여할 수 있습니다.

소매 및 제조업

소매업체는 고객 데이터를 노출하지 않고 여러 지점의 판매 및 재고를 추적하여 재고 수준을 최적화하고 낭비를 줄일 수 있습니다. 제조업체는 공급망의 다양한 부분에서 데이터를 집계하여 물류를 최적화할 수 있습니다.

도시 관리

스마트 시티는 도시 곳곳에 설치된 수많은 장치와 센서로부터 인사이트를 확보하면서도 주민 데이터를 보호하기 위해 연합 학습을 활용할 수 있습니다. 이러한 인사이트는 예를 들어 교통 흐름을 최적화하거나 대기 및 수질 오염과 같은 환경 상태를 모니터링하는 데 활용될 수 있습니다. 

연합 학습 프레임워크

연합 학습을 실제 애플리케이션에 적용하는 것은 복잡할 수 있지만, 분산형 데이터에서 모델을 훈련하고 서버 및 클라이언트 워크플로를 간소화하는 여러 프레임워크가 존재합니다. 다음은 대표적인 연합 학습 프레임워크입니다.



  • IBM® Federated Learning

  • NVIDIA FLARE

  • OpenFL

  • TensorFlow Federated

Flower

Flower는 협업형 AI 및 데이터 과학을 위한 오픈 소스 프레임워크입니다. 이는 수많은 연결된 클라이언트를 갖춘 연합 AI 시스템을 구축하는 데 사용할 수 있습니다. 대부분의 머신 러닝 프레임워크와 호환되며 다양한 하드웨어 플랫폼 및 운영 체제와 상호 운용이 가능합니다.

IBM Federated Learning

IBM Federated Learning은 엔터프라이즈 환경에서 연합 학습을 위한 프레임워크입니다. 이는 Decision Trees, 나이브 베이즈 분류기, 신경망, 강화 학습을 포함한 다양한 머신 러닝 알고리즘과 함께 사용할 수 있습니다.IBM Federated Learning은 모델 업데이트를 결합하기 위한 다양한 융합(fusion) 기법 라이브러리를 제공하며 AI 편향을 완화하는 다양한 공정성(fairness) 기법도 지원합니다.

NVIDIA FLARE

NVIDIA FLARE(연합 학습 애플리케이션 런타임 환경)는 오픈 소스이며 도메인에 구애받지 않는 연합 학습용 소프트웨어 개발 키트(SDK)입니다.

NVIDIA FLARE에는 훈련 및 평가 워크플로, 프라이버시 보호 알고리즘, 연합 평균화, FedProx 학습 알고리즘이 내장되어 있습니다. 또한 NVIDIA FLARE는 오케스트레이션 및 모니터링을 위한 관리 툴도 제공합니다.

OpenFL

OpenFL은 Intel에서 개발하고 현재는 The Linux® Foundation 산하에 있는 Python 기반 오픈 소스 연합 학습 프레임워크입니다. OpenFL은 PyTorch와 같은 딥 러닝 프레임워크 및 TensorFlow를 포함한 머신 러닝 라이브러리와 함께 사용할 수 있습니다. 보안 기능으로는 차등 프라이버시와 하드웨어 기반 신뢰 실행 환경 지원이 포함됩니다.

TensorFlow Federated

TensorFlow Federated (TFF)는 분산형 데이터를 위한 머신 러닝용으로 Google에서 개발한 오픈 소스 프레임워크입니다. TFF의 애플리케이션 프로그래밍 인터페이스(API)는 2개의 계층으로 구분됩니다.

  • ● Federated Learning API는 기존 머신 러닝 모델을 사용한 훈련 또는 평가와 같은 연합 학습 작업을 구현하는 고수준 API입니다.

  • Federated Core API는 새로운 연합 학습 알고리즘을 구축하기 위한 저수준 API입니다.

 

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기
각주

모든 링크는 ibm.com 외부에 있습니다.

1 Cross-silo and cross-device federated learning on Google Cloud, Google Cloud, 2024년 6월 3일.