Yolo 비전 선전
선전
지금 참여하기
용어집

분산 학습

분산 훈련이 여러 GPU에 걸쳐 AI 워크로드를 확장하는 방식을 살펴보세요. DDP를 활용해 Ultralytics 훈련을 가속화하여 더 빠르고 정확한 결과를 얻는 방법을 알아보세요.

분산 훈련은 머신 러닝에서 모델 훈련 작업 부하를 여러 프로세서나 머신에 분할하는 방법입니다. 이 접근 방식은 대규모 데이터셋과 복잡한 신경망 아키텍처를 처리하는 데 필수적이며, 그렇지 않으면 단일 장치에서 훈련하는 데 비현실적인 시간이 소요될 것입니다. 여러 그래픽 처리 장치(GPU) 나 텐서 처리 장치( TPU)의 결합된 연산 능력을 활용함으로써 분산 훈련은 개발 주기를 크게 가속화하여 연구자와 엔지니어가 더 빠르게 반복하고 모델의 정확도를 높일 수 있게 합니다. Tensor 장치(TPU)의 결합된 연산 능력을 활용함으로써, 분산 훈련은 개발 주기를 크게 가속화하여 연구자와 엔지니어가 더 빠르게 반복 작업을 수행하고 모델의 정확도를 높일 수 있도록 합니다.

분산 훈련의 작동 방식

분산 훈련의 핵심 개념은 병렬화입니다. 하나의 칩에서 데이터를 순차적으로 처리하는 대신, 작업은 더 작은 조각으로 분할되어 동시에 처리됩니다. 이를 달성하기 위한 두 가지 주요 전략은 다음과 같습니다:

  • 데이터 병렬 처리: 이것은 객체 탐지와 같은 작업에 가장 흔히 사용되는 접근 방식입니다. 이 설정에서는 전체 모델의 복사본이 각 장치에 배치됩니다. 전체 훈련 데이터는 더 작은 배치로 분할되며, 각 장치는 서로 다른 배치를 동시에 처리합니다. 각 단계 후에는 모델 가중치가 일관성을 유지하도록 모든 장치 간에 기울기(모델 업데이트)가 동기화됩니다.
  • 모델 병렬 처리: 신경망(NN) 이 GPU 수용하기에 너무 클 경우, 모델 자체를 여러 장치에 분할합니다. 모델의 서로 다른 계층이나 구성 요소가 각기 다른 칩에 배치되며, 데이터는 이들 사이를 이동합니다. 이는 대규모 기초 모델과 대규모 언어 모델(LLM) 훈련에 필수적인 경우가 많습니다.

실제 애플리케이션

분산 학습은 이전에는 계산적으로 불가능했던 문제들을 해결할 수 있게 함으로써 산업을 변화시켰습니다.

  • 자율주행: 안전한 자율주행 차량 개발에는 페타바이트 규모의 영상 및 센서 데이터 분석이 필요합니다. 자동차 엔지니어들은 대규모 분산 클러스터를 활용해 실시간 의미적 분할 및 차선 감지를 위한 비전 모델을 훈련합니다. 이러한 대규모 처리 능력은 자동차 시스템 내 AI가 다양한 도로 상황에 안정적으로 대응할 수 있도록 보장합니다.
  • 의료 영상: 의료 분야에서 MRI와 같은 고해상도 3D 스캔을 분석하려면 상당한 메모리와 처리 능력이 필요합니다. 분산 학습을 통해 연구자들은 종양 검출및 기타 중요한 작업을 위한 고성능 진단 도구를 구축할 수 있습니다. NVIDIA 같은 프레임워크를 활용함으로써 병원들은 메모리 병목 현상 없이 다양한 데이터셋으로 모델을 훈련시켜 의료 AI의 성과를 향상시킬 수 있습니다.

Ultralytics 활용한 분산 훈련 활용

그리고 ultralytics 이 라이브러리를 사용하면 분산 데이터 병렬(DDP) 훈련을 간편하게 구현할 수 있습니다. 최첨단 모델 훈련을 확장할 수 있습니다. YOLO26 여러 GPU에 걸쳐 모델을 훈련하려면 단순히 훈련 인수에서 장치 인덱스를 지정하기만 하면 됩니다.

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Train the model using two GPUs (device 0 and 1)
# The library automatically handles the DDP communication backend
results = model.train(data="coco8.yaml", epochs=100, device=[0, 1])

관련 개념 및 비교

머신러닝 생태계에서 유사한 용어들과 분산 훈련을 구분하여 각각의 구체적인 역할을 이해하는 것이 도움이 됩니다:

  • 연방 학습과의 비교: 둘 다 다중 장치를 활용하지만 목표는 다릅니다. 분산 학습은 일반적으로 속도 극대화를 위해 데이터를 고성능 클러스터에 중앙 집중화합니다. 반면 연방 학습은 데이터 프라이버시를 우선시하기 위해 데이터를 사용자 장치(스마트폰 등)에 분산된 상태로 유지하며, 원본 데이터를 출처에서 벗어나지 않게 하면서도 글로벌 모델을 업데이트합니다.
  • Vs. 고성능 컴퓨팅(HPC): HPC는 기상 예측과 같은 과학적 시뮬레이션을 위한 슈퍼컴퓨팅을 포함하는 광범위한 분야입니다. 분산 훈련은 딥 러닝의 최적화 알고리즘에 적용되는 HPC의 특정 응용 분야입니다. 이는 종종 GPU 간 지연 시간을 최소화하기 위해 NVIDIA 같은 특수 통신 라이브러리에 의존합니다.

클라우드 플랫폼을 통한 확장

분산 훈련을 위한 인프라 관리는 복잡할 수 있습니다. 현대적인 플랫폼은 관리형 환경을 제공함으로써 이를 단순화합니다. 예를 들어, Ultralytics 사용자가 데이터셋을 관리하고 클라우드 환경이나 로컬 클러스터에 배포할 수 있는 훈련 실행을 시작할 수 있도록 합니다. 이러한 통합은 데이터 주석 작업부터 최종 모델 배포까지의 워크플로를 간소화하여 다중 GPU로의 확장도 최대한 원활하게 보장합니다. 마찬가지로 Google Vertex AIAmazon SageMaker와 같은 클라우드 제공업체는 기업 규모로 분산 훈련 작업을 실행하기 위한 강력한 인프라를 제공합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기