Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Distributed Training

분산 학습은 데이터 병렬 처리, 샤딩, 텐서 병렬 처리 또는 파이프라인 병렬 처리를 이용해 여러 GPU나 머신에 모델 학습을 분산합니다. DDP, FSDP, 확장 방법을 다룹니다.

분산 학습은 하나의 모델을 학습하는 작업을 여러 프로세서에 분산합니다. 일반적으로 한 머신 안의 GPU 또는 TPU를 사용하거나 클라우드 또는 온프레미스 클러스터 전반에 분산하여 학습을 더 빨리 완료하거나, 단일 장치의 메모리에 들어가지 않는 모델도 학습할 수 있게 합니다. 장치들은 NVIDIA NCCL과 같은 통신 라이브러리를 사용해 고속 인터커넥트로 그래디언트, 활성값 또는 파라미터 샤드를 교환합니다. 이를 통해 최신 파운데이션 모델과 대규모 언어 모델을 학습하며, 다중 GPU 워크스테이션에서 일상적인 객체 탐지 학습 시간도 단축할 수 있습니다.

분산 학습의 작동 원리#

데이터 병렬화는 가장 일반적인 전략입니다. 각 GPU는 모델 전체 복제본을 보유하고, 각 학습 데이터 배치에서 자체 데이터 부분을 처리한 뒤, 그래디언트를 평균화하는 올리듀스 작업에 참여합니다. 따라서 모든 복제본에 동일한 경사 하강법 업데이트가 적용됩니다. PyTorch의 DistributedDataParallel (DDP)는 역전파와 통신을 겹쳐 실행합니다. 전역 배치 크기는 GPU당 배치 크기에 GPU 수를 곱한 값이므로, 학습률도 보통 이에 비례해 조정해야 합니다. Goyal 외는 ImageNet에서 ResNet-50을 256개 GPU로 이미지 8,192개 배치 크기를 사용해 1시간 만에 학습했습니다. 선형 스케일링 규칙과 워밍업 단계를 적용했으며, GPU 8개에서 256개로 확장했을 때 효율은 약 90%였습니다.

샤딩 데이터 병렬화는 모델 복제본의 메모리 비용을 줄입니다. ZeRO와 PyTorch의 Fully Sharded Data Parallel (FSDP)는 파라미터, 그래디언트, 옵티마이저 상태를 GPU 간에 분할하고 각 레이어가 계산 중일 때만 해당 레이어의 전체 가중치를 모읍니다. 따라서 GPU를 추가할수록 GPU당 필요한 메모리가 감소합니다.

모델 병렬화는 신경망 자체를 분할합니다. 텐서 병렬화는 개별 행렬 곱셈을 여러 GPU에 분산하고, 파이프라인 병렬화는 연속된 레이어를 각기 다른 GPU에 할당해 마이크로 배치를 순차적으로 전달합니다. 컨텍스트 병렬화는 긴 시퀀스를 분할하고, 전문가 병렬화는 전문가 혼합 모델의 전문가들을 서로 다른 GPU에 배치합니다. Megatron-LM과 같은 프레임워크는 이러한 기법을 데이터 병렬화와 결합해 수천억 개의 파라미터를 가진 모델을 학습합니다.

실전 다중 GPU 학습#

주요 오버헤드는 통신입니다. 모든 축소 통신(all-reduce) 트래픽은 모델 크기에 따라 증가하므로, 노드 내부에서 NVLink로 연결된 GPU는 느린 네트워크로 연결된 노드보다 확장성이 뛰어납니다. 계층을 동기화 배치 정규화로 변환하지 않으면 배치 정규화 통계는 GPU별로 계산되며, 각 GPU에 할당된 배치가 작을 때 차이가 중요해집니다. Ultralytics YOLO26은 DDP를 통해 다중 GPU 학습을 수행합니다. 여러 장치 ID를 torch.distributed.run과 함께 지정하면 GPU마다 프로세스 하나를 실행하고, CUDA에서는 NCCL 백엔드를 사용하며, batch 값을 GPU 전체에 균등하게 나눕니다.

from ultralytics import YOLO

# 사전 학습된 YOLO26 모델을 불러옵니다
model = YOLO("yolo26n.pt")

# DDP로 GPU 0과 1에서 학습합니다. batch=32이면 GPU마다 스텝당 이미지 16개를 처리합니다
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=32, device=[0, 1])

실제 적용 사례#

  • 대규모 언어 모델: Meta는 최대 16K개의 H100 GPU에서 Llama 3 405B를 학습했으며, 저자들이 4D 병렬화라고 부르는 방식으로 텐서, 파이프라인, 컨텍스트, 데이터 병렬화를 결합했습니다.
  • 자율주행 차량: 인식 팀은 차량 플릿에서 수집한 카메라, 라이다, 레이더 기록의 대규모 아카이브로 탐지 및 세그멘테이션 모델을 학습하며, 이는 대규모 GPU 클러스터에서만 실용적입니다.
  • 의료 영상 분석: 고해상도 3D CT 및 MRI 볼륨은 단일 GPU의 메모리에 부담을 주며, 배치 또는 모델 샤드를 GPU 간에 분산하면 더 큰 볼륨과 모델을 학습할 수 있습니다.
  • 연합 학습: 연합 학습도 여러 장치에서 학습하지만, 개인정보 보호를 위해 데이터는 휴대폰, 병원 또는 다른 클라이언트에 남겨 두고 모델 업데이트만 중앙 서버로 전송합니다. 분산 학습은 속도를 최대화하기 위해 하나의 클러스터에 데이터를 모읍니다.
  • 분할 학습: 분할 학습은 클라이언트와 서버 간에 모델을 나누어 원시 데이터가 클라이언트 외부로 나가지 않도록 하며, 개인정보 보호를 위해 추가 통신을 감수합니다.
  • 그래디언트 누적: 그래디언트 누적은 여러 개의 작은 배치에서 그래디언트를 합산한 후 한 번 업데이트하여 시간 비용을 감수하는 대신 단일 GPU에서 대규모 배치와 동일한 계산을 수행합니다. 데이터 병렬화는 이러한 배치를 여러 GPU에서 동시에 계산합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요