분산 훈련이 여러 GPU에 걸쳐 AI 워크로드를 확장하는 방식을 살펴보세요. DDP를 활용해 Ultralytics 훈련을 가속화하여 더 빠르고 정확한 결과를 얻는 방법을 알아보세요.
분산 훈련은 머신 러닝에서 모델 훈련 작업 부하를 여러 프로세서나 머신에 분할하는 방법입니다. 이 접근 방식은 대규모 데이터셋과 복잡한 신경망 아키텍처를 처리하는 데 필수적이며, 그렇지 않으면 단일 장치에서 훈련하는 데 비현실적인 시간이 소요될 것입니다. 여러 그래픽 처리 장치(GPU) 나 텐서 처리 장치( TPU)의 결합된 연산 능력을 활용함으로써 분산 훈련은 개발 주기를 크게 가속화하여 연구자와 엔지니어가 더 빠르게 반복하고 모델의 정확도를 높일 수 있게 합니다. Tensor 장치(TPU)의 결합된 연산 능력을 활용함으로써, 분산 훈련은 개발 주기를 크게 가속화하여 연구자와 엔지니어가 더 빠르게 반복 작업을 수행하고 모델의 정확도를 높일 수 있도록 합니다.
분산 훈련의 핵심 개념은 병렬화입니다. 하나의 칩에서 데이터를 순차적으로 처리하는 대신, 작업은 더 작은 조각으로 분할되어 동시에 처리됩니다. 이를 달성하기 위한 두 가지 주요 전략은 다음과 같습니다:
분산 학습은 이전에는 계산적으로 불가능했던 문제들을 해결할 수 있게 함으로써 산업을 변화시켰습니다.
그리고 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])
머신러닝 생태계에서 유사한 용어들과 분산 훈련을 구분하여 각각의 구체적인 역할을 이해하는 것이 도움이 됩니다:
분산 훈련을 위한 인프라 관리는 복잡할 수 있습니다. 현대적인 플랫폼은 관리형 환경을 제공함으로써 이를 단순화합니다. 예를 들어, Ultralytics 사용자가 데이터셋을 관리하고 클라우드 환경이나 로컬 클러스터에 배포할 수 있는 훈련 실행을 시작할 수 있도록 합니다. 이러한 통합은 데이터 주석 작업부터 최종 모델 배포까지의 워크플로를 간소화하여 다중 GPU로의 확장도 최대한 원활하게 보장합니다. 마찬가지로 Google Vertex AI 및 Amazon SageMaker와 같은 클라우드 제공업체는 기업 규모로 분산 훈련 작업을 실행하기 위한 강력한 인프라를 제공합니다.