연합학습
인공지능 시대에 개인정보 보호는 가장 중요한 요소로 자리 잡았습니다. 사용자들은 개인정보가 보호되면서도 성능은 꽤 괜찮게 나오는 인공지능을 원하죠. 그래서 이번 영상에서는 개인정보, 성능 두 마리 토끼를 다 잡을 수 있는 인공지능 학습 방법인 연합학습에 대해 알아볼까 합니다.
연합학습은 분산 컴퓨팅 기법의 하나로, 다수의 기기에서 데이터 정보를 노출하지 않으면서 학습하는 방법입니다. 이 방법은 2016년 구글에서 처음 소개한 기술로 기존의 중앙집중식 기계학습과 달리 데이터를 중앙 서버에 있는 모델로 직접 가져가지 않고 여러 기기에서 데이터를 수집하고, 로컬에서 모델을 학습시킨 후 중앙 서버로 업로드하여 전체적인 모델을 개선하는 방법입니다.
기존의 중압집중식 기계학습 중앙 서버에서 모든 데이터를 수집한 후, 중앙 서버에서 모델을 학습시키는 방법을 사용하여서 개인정보 보호 문제와 대역폭, 저장 용량 문제 등의 문제가 발생할 여지가 많습니다. 이와 달리 연합학습은 이러한 문제점에서 자유롭다는 장점이 있습니다.
이러한 장점과 관련하여 몇 가지 사례가 있습니다.
먼저 보안성 측면에서는 구글의 키보드 서비스죠. Gboard는 연합학습을 활용하여 사용자 입력 데이터를 기반으로 언어 모델을 학습시킨다는 구글의 연구 논문이 있습니다. 이를 통해 사용자 경험을 개선하면서도 데이터 프라이버시를 보호할 수 있습니다.
다음으로 저장 효율성 측면에서는 자율주행차가 한 시간에 4TB의 데이터를 생성하는데 이를 하나의 스토리지에 저장하는 것은 네트워크와 스토리지 용량 문제로 힘든 일입니다. 그러나 연합학습을 이용하면 이러한 문제를 해결하며 모든 데이터의 학습이 가능합니다.
마지막으로 연산가능성 측면에서는 엄청난 컴퓨팅 자원이 필요한 자율주행 차량에는 현재 자체 칩이 탑재되고 있습니다. 그렇기에 이미 테슬라와 같은 자율주행 차량은 중앙 서버의 연산력을 빌리지 않고 자체적으로 딥러닝 연산을 하고 있는 것입니다.
그래서 구글이나 애플 등 빅테크 기업에서 연구에 사용한 것으로 보입니다.
그러나 마냥 좋은 것은 아닙니다.
연합학습에는 크게 다섯 가지의 단점이 있습니다. 첫 번째는 분산된 사용자 데이터로부터 모델을 학습하므로, 사용자 간에 하드웨어, 소프트웨어 환경, 데이터의 차이 등으로 인해 모델의 안정성이 떨어질 수 있다는 것입니다. 두 번째로는 각 사용자 환경에서 학습된 모델을 중앙 서버로 업로드하고 결합하는 과정에서 중앙 서버에서 각 사용자의 모델에 대한 품질 제어를 하기 어려울 수 있다는 것입니다. 세 번째는 보안 이슈입니다. 조금 의아해하실 수 있는데, 장점에서 말씀드린 보안과는 다른 측면인 로컬 환경에서의 보안 이슈가 있습니다. 네 번째는 사용자 환경의 대역폭이 제한적인 경우, 모델 업로드와 다운로드가 느려질 수 있습니다. 마지막으로, 일부 사용자가 연합학습에 참여하지 않으면 모델의 품질이 떨어질 수 있다는 단점이 존재합니다. 당연한 얘기지만 단점을 극복하기 위한 연구도 활발히 진행 중입니다. 이 내용은 연합학습의 동작 원리를 언급한 뒤 소개 드리겠습니다.
연합학습의 목표는 서로 다른 위치에 있는 데이터를 활용하는 것입니다. 전체적인 흐름을 먼저 소개드리자면 로컬 데이터를 로컬에 저장되어 있는 머신러닝 모델을 통해 훈련시킵니다. 이후 각 기기에서 훈련된 데이터를 중앙 서버로 모으고, 훈련으로 생긴 모든 변동사항이 반영되어 업데이트된 중앙 서버의 데이터의 사본을 각 기기에 다시 전송합니다. 구체적인 작동 방식은 다음과 같습니다.
1. 각 기기는 우선 서버에 먼저 모델을 요청하거나 서버가 선제적으로 기기에 모델을 보내주는 방식으로 중앙 서버의 머신러닝 모델 사본을 수신합니다. 이때 모델은 무작위 가중치만 있는 초기 버전이거나 과거에 훈련을 받은 모델입니다.
2. 기기가 로컬 데이터를 수집하고, 이를 활용해 모델의 로컬 사본을 훈련합니다.
3. 그리고 나면 기기는 모델의 가중치 및 편향 등 변경 사항을 중앙 서버로 보냅니다. 이때 변경 사항은 초기 모델과 훈련된 모델의 차이를 나타내므로, 학습에 활용된 기본 데이터가 외부로 전송되는 것은 아닙니다.
4. 중앙 서버는 여러 기기에서 수신한 변경 사항을 결합해 FedSGD와 같은 평균화 알고리즘으로 중앙 서버 머신러닝 모델을 업데이트합니다. 변경사항이 통합되고 나면, 향상된 새 버전의 글로벌 모델은 다시 에지 기기, 즉 각각의 기기로 전송되거나 중앙 서버에서 추론에 사용되게 됩니다.
모델을 꾸준히 업데이트하기 위해 위의 과정이 반복되며, 반복되는 매 과정을 ‘라운드’라고 부릅니다. 여기서 개발자는 실제 데이터 대비 연합학습 모델의 질을 측정하는 연합분석도 수행합니다.
주요 연구 동향은 주로 앞서 언급한 단점을 극복하기 위한 연구입니다.
먼저 전송 효율 개선과 관련된 연구입니다. 이 연구에서는 모델 압축, 전송 데이터 양 최소화, 적응형 전송 방법 등의 기술을 연구하여 네트워크 대역폭을 절약하고, 학습 속도를 높입니다.
다음으로는 로컬 모델에 대한 보안 강화 관련 연구입니다. 이 연구는 백도어 공격 등을 방지하기 위해 안전한 모델 업데이트 알고리즘, 데이터 무결성 검증 기법 등이 연구되고 있습니다.
마지막으로 소개드릴 연구는 학습 품질의 불균형을 보완하는 연구입니다. 이 연구는 장화 학습과 연합학습을 결합하여 학습 효율을 높이고, 연합학습의 적용 범위를 확장시키는데 집중했습니다. 이 연구 외에도 연합학습과 다른 학습 방식을 결합한 'Federated X Learning'도 활발히 연구되고 있습니다.
오늘 소개해드린 연합학습은 개인정보 보호와 데이터 활용, 인공지능 발전에 중요한 기여를 하고 있습니다. 연합학습의 중요성과 미래 전망을 요약하면, 개인정보를 안전하게 보호하면서도 데이터의 가치를 최대한 활용할 수 있는 방법임을 알 수 있습니다.