AI 101

์—ฐํ•ฉ ํ•™์Šต์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

mm

연합 학습이란 무엇인가?

전통적인 방법으로는 AI 모델을 훈련시키기 위해 서버를 설정하고 클라우드 기반의 컴퓨팅 플랫폼을 사용하여 데이터를 모델에 전송하는 방식이 있습니다. 그러나 최근 몇 년 동안 대안적인 모델 생성 방식인 연합 학습이 등장했습니다. 연합 학습은 모델을 데이터 소스에 가져가서 훈련시키는 방식입니다. 연합 학습은 여러 컴퓨팅 장치를 연결하여 분산된 시스템을 생성하고, 각 장치에서 수집된 데이터를 사용하여 모델을 훈련시킵니다.

연합 학습 시스템에서 각 장치는 모델의 복사본을 가지고 있습니다. 각 장치/클라이언트는 자신의 로컬 데이터를 사용하여 모델을 훈련시키고, 모델의 파라미터/가중치를 마스터 장치 또는 서버에 전송하여 글로벌 모델을 업데이트합니다. 이 훈련 과정을 원하는 정확도까지 반복할 수 있습니다. 간단히 말해서, 연합 학습의 아이디어는 훈련 데이터가 장치 간 또는 당사자 간에 전송되지 않는다는 것입니다. 모델 관련 업데이트만 전송됩니다.

연합 학습은 세 단계 또는 चरण으로 나눌 수 있습니다. 연합 학습은 일반적으로 중앙 서버에서 훈련된 기본 모델로 시작합니다. 첫 번째 단계에서는 이 기본 모델을 클라이언트에 전송합니다. 각 클라이언트는 자신의 로컬 데이터를 사용하여 모델을 훈련시키고 성능을 향상시킵니다.

두 번째 단계에서는 클라이언트가 학습한 모델 파라미터를 중앙 서버에 전송합니다. 이는 정기적으로 수행됩니다.

세 번째 단계에서는 서버가 전송받은 파라미터를 집계합니다. 파라미터를 집계한 후, 중앙 모델을 업데이트하고 클라이언트에 다시 전송합니다.整个 과정은 반복됩니다.

모델의 복사본을 각 장치에 두는 것은 네트워크 지연을 줄이거나 제거하는 장점이 있습니다. 서버와 데이터를 공유하는 비용도 제거됩니다. 연합 학습의 다른 장점으로는 모델이 개인 정보를 보호하고, 모델 응답이 장치 사용자에게 개인화된다는 점입니다.

연합 학습 모델의 예로는 추천 엔진, 사기 탐지 모델, 의료 모델이 있습니다. 넷플릭스 또는 아마존에서 사용하는 미디어 추천 엔진은 수천 명의 사용자로부터 수집된 데이터를 사용하여 훈련될 수 있습니다. 각 클라이언트 장치는 자신의 모델을 훈련시키고, 중앙 모델은 더 나은 예측을 하는 것을 학습합니다. 비슷하게, 은행에서 사용하는 사기 탐지 모델은 여러 장치의 패턴을 사용하여 훈련될 수 있습니다. 여러 은행이 협력하여 공통 모델을 훈련할 수 있습니다. 의료 연합 학습 모델의 경우, 여러 병원이 협력하여 의학적 스캔을 통해 잠재적인 종양을 인식할 수 있는 공통 모델을 훈련할 수 있습니다.

연합 학습의 유형

연합 학습 스키마는 일반적으로 두 가지 클래스 중 하나에 속합니다: 다중 당사자 시스템과 단일 당사자 시스템. 단일 당사자 연합 학습 시스템은 단일 당사자라고 불리며, 클라이언트 장치 간의 데이터 캡처와 흐름을 관리하는 단일 엔티티만 존재합니다. 클라이언트 장치上的 모델은 동일한 구조의 데이터를 사용하여 훈련되지만, 데이터 포인트는 일반적으로 각 사용자와 장치에 고유합니다.

단일 당사자 시스템과 대조적으로, 다중 당사자 시스템은 두 개 이상의 엔티티에 의해 관리됩니다. 이러한 엔티티는 공유 모델을 훈련하기 위해 각기 접근할 수 있는 장치와 데이터 세트를 사용하여 협력합니다. 파라미터와 데이터 구조는 일반적으로 엔티티에 속한 장치에서 유사하지만, 동일할 필요는 없습니다. 대신, 입력을 표준화하기 위해 전처리가 수행됩니다. 중립적인 엔티티가 장치에서 설정된 가중치를 집계하기 위해 사용될 수 있습니다.

연합 학습 프레임워크

연합 학습에 사용되는 인기 있는 프레임워크로는 Tensorflow Federated, Federated AI Technology Enabler (FATE), 및 PySyft가 있습니다. PySyft는 PyTorch를 기반으로 하는 오픈 소스 연합 학습 라이브러리입니다. PySyft는 서버와 에이전트 간의 암호화된 계산을 사용하여 개인 정보를 보호하고 보안을 유지하는 것을 목표로 합니다. 한편, Tensorflow Federated는 Google의 Tensorflow 플랫폼을 기반으로 하는 또 다른 오픈 소스 프레임워크입니다. 사용자가 자신의 알고리즘을 생성할 수 있을 뿐만 아니라, Tensorflow Federated는 포함된 연합 학습 알고리즘을 사용자의 모델과 데이터에 시뮬레이션할 수 있습니다. 마지막으로, FATE는 Webank AI에서 설계한 오픈 소스 프레임워크로, 연합 AI 생태계에 보안 컴퓨팅 프레임워크를 제공하기 위해 설계되었습니다.

연합 학습의 도전

연합 학습은 아직 초기 단계에 있기 때문에, 몇 가지 도전을 극복해야 합니다. 에지 장치의 훈련 능력, 데이터 레이블링 및 표준화, 모델 수렴은 연합 학습 접근 방식의 잠재적인 장애물입니다.

로컬 훈련에 대한 에지 장치의 계산 능력을 고려해야 합니다. 대부분의 스마트폰, 태블릿, 및 기타 IoT 장치는 기계 학습 모델을 훈련시킬 수 있지만, 이는 장치의 성능을 저하시킵니다. 모델 정확도와 장치 성능 간의 妥協을 해야 합니다.

데이터를 레이블링하고 표준화하는 것은 연합 학습 시스템이 극복해야 하는 또 다른 도전입니다. 지도 학습 모델은 일관되게 레이블링된 훈련 데이터가 필요합니다. 이는 시스템의 여러 클라이언트 장치에서 어려울 수 있습니다. 따라서 이벤트와 사용자 동작에 따라 자동으로 레이블을 적용하는 모델 데이터 파이프라인을 개발하는 것이 중요합니다.

모델 수렴 시간은 연합 학습의 또 다른 도전입니다. 연합 학습 모델은 일반적으로 로컬로 훈련된 모델보다 수렴에 더 오랜 시간이 걸립니다. 훈련에 참여하는 장치의 수는 모델 훈련에 불확실성을 추가합니다. 연결 문제, 불규칙한 업데이트, 및 다른 애플리케이션 사용 시간은 수렴 시간을 증가시키고 신뢰성을 감소시킵니다. 따라서 연합 학습 솔루션은 일반적으로 중앙에서 모델을 훈련하는 것보다 유의미한 이점을 제공하는 경우에 가장 유용합니다. 예를 들어, 매우 큰 분산 데이터 세트가 있는 경우입니다.

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

๋ธ”๋กœ๊ฑฐ์ด์ž ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ Machine Learning๊ณผ Deep Learning ์ฃผ์ œ์— ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค. ๋‹ค๋‹ˆ์—˜์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด AI์˜ ํž˜์„ ์‚ฌํšŒ์ ๅ–„์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋•๊ธฐ๋ฅผ ํฌ๋งํ•ฉ๋‹ˆ๋‹ค.