본문으로 건너뛰기

NVIDIA FLARE로 구현한 멀티모달 연합 학습

NVIDIA FLARE와 FedUMM이 LoRA 어댑터만 교환해 멀티모달 연합 학습의 통신 부담을 낮췄다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

기관별로 이미지와 텍스트 데이터가 분산된 Vision-Language Model 학습에서는 원시 데이터를 이동시키지 않으면서 서로 다른 모달리티와 작업의 업데이트를 조정해야 한다. NVIDIA FLARE는 서버가 라운드를 조정하고 클라이언트가 로컬 데이터로 학습하는 구조에 Large-object externalization, Tensor Streaming, disk-backed aggregation을 결합해 큰 업데이트의 전송과 집계 부담을 낮춘다. FedUMM은 고정된 BLIP3o backbone의 LoRA 어댑터만 교환해 8개 클라이언트에서 라운드당 통신량을 28.6 GB에서 0.094 GB로 줄였고 VQA v2에서 전체 모델 FedAvg보다 0.7포인트 높은 결과를 냈다. 다만 실험은 시뮬레이션과 공개 일반 도메인 벤치마크에 기반하므로 임상 성능이나 형식적 Privacy Guarantee까지 입증한 결과는 아니다.

빠른 이해

새로운 점

전체 모델 대신 고정된 BLIP3o backbone의 LoRA 어댑터만 교환하면서 NVIDIA FLARE의 스트리밍과 디스크 오프로드를 함께 적용한 멀티모달 연합 학습 설계이다.

핵심 메커니즘

각 사이트가 로컬 이미지·텍스트·프롬프트로 고정된 BLIP3o backbone의 LoRA 어댑터를 학습하고, NVIDIA FLARE 서버가 모달리티별 어댑터와 alignment token 업데이트를 집계한다. 전체 모델 업데이트가 필요한 경우에는 큰 객체를 외부화하고 Tensor를 청크 단위로 스트리밍하며, 여러 업데이트는 safetensors 파일로 디스크에 오프로드한 뒤 필요할 때 읽는다.

핵심 수치

  • 클라이언트당 라운드 통신량: 28.6 GB -> 0.094 GB- 8개 클라이언트 비교에서 전체 모델 FedAvg와 FedUMM 어댑터 교환 비교
  • 전체 모델 페이로드 대비 통신량: 0.3%- FedUMM의 라운드당 0.094 GB 기준
  • VQA v2 성능 변화: +0.7 points- 8개 클라이언트에서 전체 모델 FedAvg 대비
  • 중앙 학습 기준 성능: 약 97%- 8개 클라이언트에서 VQA v2와 GenEval 모두 해당
  • 평가 클라이언트 수: 최대 16개- Dirichlet 기반 데이터 이질성 조건의 시뮬레이션
  • 지원 버전: NVIDIA FLARE 2.8.0- PyTorch FedAvg Tensor의 디스크 오프로드 기능

섹션별 상세

01

멀티모달 연합 학습의 병목

Vision-Language Model 학습에 필요한 이미지, 캡션, 시각 질의응답 예제와 생성 프롬프트가 기관별로 분산되면 원시 데이터를 중앙화하기 어렵다. 각 사이트는 서로 다른 모달리티와 작업 조합으로 학습하므로 무엇을 로컬에 남기고 어떤 모델 상태와 지표를 서버로 보낼지 먼저 정해야 한다. 전체 모델을 매 라운드 직렬화하고 전송하면 단일 업데이트의 네트워크 비용이 커지고, 여러 클라이언트 업데이트를 동시에 집계할 때 서버 메모리도 클라이언트 수에 따라 증가한다. 따라서 이 워크플로는 전송할 상태를 어댑터로 줄이는 선택과, 큰 업데이트를 외부화·스트리밍·디스크 오프로드로 처리하는 선택을 함께 요구한다.
여러 병원 사이트가 중앙의 연합 학습 네트워크에 연결된 구조를 나타내는 일러스트이다.
Diagram이미지는 원시 의료 데이터가 각 병원에 분산된 상태에서 중앙 서버가 여러 사이트의 학습을 조정하는 개념을 시각화한다. 본문의 Federated Learning 구조와 연결되지만, 업데이트 형식이나 성능 수치 같은 정량적 근거는 포함하지 않는다.
02

NVIDIA FLARE의 라운드 구조

NVIDIA FLARE는 서버의 전역 조정과 클라이언트의 로컬 실행을 분리해 연합 학습 라운드를 구성한다. 서버는 라운드를 예약하고 승인된 업데이트를 집계하며, 각 클라이언트는 사이트 내부 데이터로 전처리, 프롬프트 구성, 배칭, 학습 또는 평가를 수행한다. FedAvg Recipe는 모델과 클라이언트 학습 스크립트를 연결하고 동일한 구성을 시뮬레이션이나 실제 다중 사이트 배포에서 실행하도록 한다. 구현 전에는 데이터와 전처리를 로컬에 둘 범위, 반환 가능한 모델 구성 요소, 서버에 보낼 지표, 구성 요소별 업데이트를 결합하는 규칙을 업데이트 계약으로 명시해야 한다.
NVIDIA FLARE 서버가 전역 모델을 사이트로 보내고 어댑터, Tensor, 지표 업데이트를 다시 집계하는 멀티모달 연합 학습 흐름도이다.
Diagram그림은 데이터 로컬 경계를 기준으로 서버와 세 사이트를 분리하고, 각 사이트가 이미지·보고서·실험실 데이터 중 서로 다른 조합을 보유하는 상황을 나타낸다. 서버에서 전역 모델이 내려가고 사이트별 업데이트가 올라오는 흐름은 본문이 설명한 라운드 조정과 업데이트 계약의 역할을 직접 연결한다.
03

큰 업데이트의 전송과 집계

전체 모델 Fine-tuning을 선택하면 클라이언트가 만든 큰 파라미터 업데이트를 직렬화하고 전송한 뒤 서버에서 여러 개 집계해야 하므로 네트워크와 메모리가 동시에 병목이 된다. Large-object externalization은 메시지 안의 큰 객체를 가벼운 참조로 바꾸고 실제 데이터를 별도로 전달해 제어 메시지 크기를 낮춘다. PyTorch용 FLARE Tensor Downloader는 요청된 Tensor 청크만 직렬화하는 pull 기반 방식으로 전송하며, 청크 크기를 조절해 요청 횟수와 피크 메모리 사이의 균형을 맞춘다. 전송 뒤에도 여러 업데이트를 메모리에 보관해야 하는 경우 NVIDIA FLARE 2.8.0의 tensor disk offload가 PyTorch FedAvg 업데이트를 임시 safetensors 파일에 기록하고 필요할 때 읽어 CPU 메모리 증가를 억제한다.
04

FedUMM의 어댑터 기반 설계

FedUMM은 고정된 BLIP3o backbone 위에서 각 클라이언트가 LoRA 어댑터를 학습하고, 서버에는 학습 가능한 어댑터와 alignment token 업데이트만 보내는 구조이다. 클라이언트의 멀티모달 원시 데이터는 사이트를 떠나지 않으며, NVIDIA FLARE 서버는 모달리티별 어댑터를 보유한 사이트끼리 업데이트를 평균낸다. 설계는 vision, audio, text용 모달리티별 encoder를 고려하지만 현재 실험은 vision-language 작업에 초점을 맞췄다. 이 구조는 전체 28.6 GB 모델 페이로드 대신 라운드당 0.094 GB를 교환해 통신량을 약 0.3% 수준으로 낮추면서도 모델 품질을 중앙 학습 기준에 가깝게 유지하도록 구성됐다.
FedUMM 클라이언트가 고정된 BLIP3o 모듈 위에서 LoRA 어댑터를 학습하고 서버가 어댑터와 alignment token을 모달리티별로 평균내는 구조도이다.
Diagram각 클라이언트는 로컬 멀티모달 데이터를 외부로 내보내지 않고 LoRA 어댑터와 공유 alignment token의 업데이트만 전송한다. 그림의 라운드당 0.094 GB와 28.6 GB 페이로드의 0.3%라는 수치는 전체 모델 FedAvg와 비교한 통신량 절감 결과를 뒷받침하며, VQA v2에서 0.7포인트 향상됐다는 본문 수치와 연결된다.
05

실험 결과와 적용 범위

FedUMM 평가는 최대 16개 클라이언트, Dirichlet 기반 데이터 이질성, VQA v2와 GenEval 공개 벤치마크를 사용하는 시뮬레이션 환경에서 수행됐다. 8개 클라이언트 비교에서 어댑터만 교환한 방식은 전체 모델 FedAvg보다 클라이언트당 라운드 통신량을 28.6 GB에서 0.094 GB로 줄였고 VQA v2 점수는 0.7포인트 높았다. 두 벤치마크에서 성능은 중앙 학습 기준의 약 97%로 유지됐다. 다만 평가가 합성 파티션과 공개 일반 도메인 데이터에 기반하므로 임상 성능이나 형식적 Privacy Guarantee를 확립한 결과는 아니며, 실제 시스템에서는 통신량과 함께 실행 시간, 메모리 사용량, 데이터 이질성, 장애를 함께 측정해야 한다.
06

워크플로 설계와 시작점

멀티모달 연합 학습을 구축할 때는 먼저 각 클라이언트가 무엇을 학습하고 어떤 상태를 반환할지, 그리고 서버가 구성 요소별 업데이트를 어떻게 합칠지 정의해야 한다. 가능한 경우 LoRA 같은 경량 어댑터를 보내고 전체 모델이 필요한 경우에만 큰 업데이트를 사용하면 통신 비용을 먼저 줄일 수 있다. 큰 업데이트의 이동에는 Large-object externalization과 Tensor Downloader를 적용하고, 여러 클라이언트 업데이트를 동시에 집계할 때 서버 메모리가 부족하면 tensor disk offload를 추가한다. NVIDIA FLARE Recipe API로 예상 클라이언트 수를 시뮬레이션한 뒤 FedUMM 논문과 저장소 구현을 기준으로 확장하고, Auto-FL로 자체 데이터와 작업에 맞게 실험을 조정하는 흐름이다.

용어 해설

연합 학습(Federated Learning)
원시 데이터를 한곳에 모으지 않고 여러 기관이 각자의 데이터로 모델을 학습한 뒤, 서버가 승인된 모델 업데이트만 모아 전역 모델을 갱신하는 분산 학습 방식이다. 데이터는 현장에 남고 모델 상태 일부만 네트워크를 이동한다.
Vision-Language Model
이미지와 텍스트를 함께 처리해 시각 질의응답, 캡션 생성, 이미지·텍스트 추론을 수행하는 모델이다. 기관마다 보유한 이미지, 보고서, 프롬프트가 다르면 같은 모델을 공동 학습하기 위한 업데이트 규칙이 필요하다.
LoRA
사전 학습된 모델의 원래 가중치를 고정한 채 저순위 어댑터만 학습하는 Parameter-Efficient Fine-Tuning 기법이다. 연합 학습에서는 전체 모델 대신 작은 어댑터를 전송하므로 통신량과 서버 메모리 부담을 줄이는 데 쓰인다.
Tensor Streaming
큰 Tensor를 한 번에 직렬화하지 않고 필요한 청크 단위로 나누어 순차적으로 전송하는 방식이다. NVIDIA FLARE의 pull 기반 Tensor Downloader는 한 번에 처리하는 데이터 크기를 낮춰 모델 배포 중 피크 메모리를 줄인다.
디스크 기반 집계(Disk-Backed Aggregation)
여러 클라이언트의 모델 업데이트를 서버 메모리에 모두 보관하지 않고 임시 파일에 저장한 뒤 필요할 때 읽어 집계하는 방식이다. NVIDIA FLARE 2.8.0은 PyTorch FedAvg 업데이트를 safetensors 파일로 오프로드해 클라이언트 수 증가에 따른 CPU 메모리 선형 증가를 막는다.
Dirichlet 기반 데이터 이질성(Dirichlet-Controlled Heterogeneity)
클라이언트마다 데이터 분포가 다르도록 Dirichlet 분포를 이용해 합성 파티션을 구성하는 평가 조건이다. FedUMM 실험은 최대 16개 클라이언트에서 기관별 데이터와 작업 구성이 다른 연합 학습 상황을 재현했다.

기술

  • NVIDIA FLARE
  • FedUMM
  • LoRA
  • BLIP3o
  • FedAvg
  • Large-object externalization
  • FLARE Tensor Downloader
  • Tensor Streaming
  • tensor disk offload
  • safetensors
  • Recipe API
  • Auto-FL
  • VQA v2
  • GenEval
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

수집 2026. 08. 20.출처 타입 WEB

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.