AI 101
연방 학습이란 무엇인가?

연방 학습이란 무엇인가?
전통적인 방법으로 AI 모델을 훈련하는 것은 데이터를 처리하기 위해 클라우드 기반 컴퓨팅 플랫폼을 사용하여 모델을 훈련하는 서버를 설정하는 것을 포함합니다. 그러나 최근 몇 년 동안 모델 생성의 대안 형태가 등장했으며, 이를 연방 학습이라고 합니다. 연방 학습은 모델을 데이터 소스로 가져가며, 데이터를 모델로 가져가는 것이 아닙니다. 연방 학습은 여러 계산 장치를 연결하여 분산된 시스템을 만들며, 데이터를 수집하는 개별 장치가 모델을 훈련하는 것을 도와줍니다.
연방 학습 시스템에서 학습 네트워크의 일부인 다양한 장치에는 각 장치에 모델의 복사본이 있습니다. 다른 장치/클라이언트는 클라이언트의 로컬 데이터를 사용하여 모델의 복사본을 훈련시키고, 개별 모델의 매개변수/가중치를 마스터 장치 또는 서버에 전송하여 전역 모델을 업데이트합니다. 이 훈련 프로세스는 원하는 수준의 정확도가 달성될 때까지 반복될 수 있습니다. 간단히 말해, 연방 학습의 아이디어는 훈련 데이터가 절대로 장치 간 또는 당사자 간에 전송되지 않는다는 것입니다. 모델과 관련된 업데이트만 전송됩니다.
연방 학습은 세 가지 단계 또는 단계로 나눌 수 있습니다. 연방 학습은 일반적으로 중앙 서버에서 훈련된 기준 모델에서 시작합니다. 첫 번째 단계에서는 이 기준 모델을 클라이언트에 전송합니다. 이러한 로컬 복사본은 클라이언트 시스템에서 생성된 데이터를 사용하여 훈련되고, 성능을 향상시킵니다.
두 번째 단계에서는 클라이언트가 중앙 서버에 학습된 모델 매개변수를 전송합니다. 이는 정기적으로 설정된 일정에 따라 발생합니다.
세 번째 단계에서는 서버가 매개변수를 수신할 때 이를 집계합니다. 매개변수가 집계된 후에 중앙 모델을 업데이트하고 클라이언트와 다시 공유합니다. 전체 프로세스는 반복됩니다.
모델의 복사본을 다양한 장치에 두는 장점은 네트워크 지연이 줄어들거나 제거된다는 것입니다. 서버와 데이터를 공유하는 비용도 제거됩니다. 연방 학습 방법의 다른 장점으로는 연방 학습 모델이 개인 정보를 보호하며, 모델 응답이 장치 사용자에게 개인화되어 있다는 사실이 있습니다.
연방 학습 모델의 예로는 추천 엔진, 사기 탐지 모델, 의료 모델이 있습니다. 넷플릭스 또는 아마존과 같은 미디어 추천 엔진은 수천 명의 사용자에서 수집된 데이터로 훈련될 수 있습니다. 클라이언트 장치는 각기 riêng으로 모델을 훈련시키고, 중앙 모델은 더 나은 예측을 하게 됩니다. 비슷하게, 은행에서 사용되는 사기 탐지 모델은 여러 장치의 활동 패턴으로 훈련될 수 있으며, 여러 은행이 협력하여 공통 모델을 훈련할 수 있습니다. 의료 연방 학습 모델의 경우, 여러 병원이 협력하여 의료 스캔을 통해 잠재적인 종양을 인식할 수 있는 공통 모델을 훈련할 수 있습니다.
연방 학습의 유형
연방 학습 스키마는 일반적으로 두 가지 클래스 중 하나에 속합니다. 단일 파티 시스템과 다중 파티 시스템입니다. 단일 파티 연방 학습 시스템은 단일 엔티티가 학습 네트워크의 모든 클라이언트 장치에 대한 데이터의 캡처와 흐름을 관리하기 때문에 “단일 파티”라고 합니다. 클라이언트 장치에 있는 모델은 구조가 동일하지만 일반적으로 다양한 사용자와 장치에 고유한 데이터로 훈련됩니다.
단일 파티 시스템과는 달리, 다중 파티 시스템은 두 개 이상의 엔티티에 의해 관리됩니다. 이러한 엔티티는 공유 모델을 훈련하기 위해 여러 장치와 데이터 세트를 사용하여 협력합니다. 매개변수와 데이터 구조는 일반적으로 여러 엔티티에 속하는 장치에서 비슷하지만, 정확히 동일할 필요는 없습니다. 대신, 모델의 입력을 표준화하기 위해 사전 처리가 수행됩니다. 중립적인 엔티티가 각 엔티티에 고유한 장치에서 설정된 가중치를 집계하는 데 사용될 수 있습니다.
연방 학습 프레임워크
연방 학습에 사용되는 인기 있는 프레임워크로는 Tensorflow Federated, Federated AI Technology Enabler (FATE), 및 PySyft가 있습니다. PySyft는 PyTorch 딥 러닝 라이브러리를 기반으로 하는 오픈 소스 연방 학습 라이브러리입니다. PySyft는 암호화된 계산을 사용하여 서버와 에이전트 간에 개인 정보가 보호되고 보안이 유지되는 딥 러닝을 보장하도록 설계되었습니다. 한편, Tensorflow Federated는 Google의 Tensorflow 플랫폼을 기반으로 하는 또 다른 오픈 소스 프레임워크입니다. 사용자 지정 알고리즘을 생성할 수 있을 뿐만 아니라, Tensorflow Federated를 사용하면 사용자의 모델과 데이터에서 포함된 여러 연방 학습 알고리즘을 시뮬레이션할 수 있습니다. 마지막으로, FATE는 Webank AI에서 설계한 오픈 소스 프레임워크이며, 연방 AI 생태계에 보안 컴퓨팅 프레임워크를 제공하도록 설계되었습니다.
연방 학습의 도전
연방 학습은 아직 tương对 새로운 기술이기 때문에, 여러 가지 도전이 남아 있습니다. 에지 장치의 훈련 능력, 데이터 레이블링 및 표준화, 모델 수렴은 연방 학습 접근 방식의 잠재적인 장애물입니다.
로컬 훈련에 대한 에지 장치의 계산 능력은 연방 학습 접근 방식을 설계할 때 고려해야 합니다. 대부분의 스마트폰, 태블릿, 기타 IoT 호환 장치는 기계 학습 모델을 훈련할 수 있지만, 이는 일반적으로 장치의 성능을 저하합니다. 모델 정확도와 장치 성능 간에妥协해야 합니다.
데이터를 레이블링하고 표준화하는 것은 연방 학습 시스템이 극복해야 하는 또 다른 도전입니다. 지도 학습 모델은 일관되게 레이블이 지정된 훈련 데이터가 필요합니다. 이는 시스템의 여러 클라이언트 장치에서 어려울 수 있습니다. 이러한 이유로 이벤트와 사용자 동작에 따라 자동으로 레이블을 적용하는 모델 데이터 파이프라인을 개발하는 것이 중요합니다.
모델 수렴 시간은 연방 학습의 또 다른 도전입니다. 연방 학습 모델은 일반적으로 로컬로 훈련된 모델보다 더 오래 수렴하는 데 시간이 걸립니다. 훈련에 참여하는 장치의 수는 모델 훈련에 예측할 수 없는 요소를 추가하며, 연결 문제, 비정규 업데이트,甚至 다른 애플리케이션 사용 시간이 수렴 시간을 증가시키고 신뢰성을 감소시킬 수 있습니다. 이러한 이유로, 연방 학습 솔루션은 일반적으로 중앙에서 모델을 훈련하는 것보다 유의미한 이점을 제공하는 경우에 가장 유용합니다. 예를 들어, 데이터 세트가 매우 크고 분산된 경우입니다.

Photo: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)












