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

분산 학습

분산 학습으로 AI 학습을 가속화하세요! 복잡한 ML 프로젝트를 위해 학습 시간 단축, 모델 확장, 리소스 최적화 방법을 알아보세요.

분산 훈련은 머신러닝(ML)의 강력한 기술로 머신러닝(ML)의 강력한 기술로 계산 워크로드를 다음과 같은 여러 프로세서로 분할하여 모델 생성 프로세스를 가속화하는 강력한 기술입니다. 그래픽 처리 장치(GPU) 또는 Tensor 처리 장치(TPU). 단일 워크스테이션에 있든 여러 워크스테이션에 걸쳐 네트워크로 연결된 단일 워크스테이션에 있든 방대한 클러스터에 네트워크로 연결되어 있든 상관없이 개발자는 복잡한 딥 러닝(DL) 아키텍처를 훈련하는 데 필요한 딥 러닝(DL) 아키텍처를 훈련하는 데 필요한 시간을 대폭 단축할 수 있습니다. 이 접근 방식은 방대한 데이터 세트를 처리하고 최첨단 인공 지능(AI) 시스템을 개발하는 데 필수적입니다, 더 빠른 반복 주기와 더 광범위한 실험을 가능하게 합니다.

병렬화를 위한 핵심 전략

워크로드를 효과적으로 분산하기 위해 엔지니어는 일반적으로 두 가지 기본 전략 중 하나 또는 하이브리드 접근 방식을 사용합니다. 효율성을 극대화하도록 설계되었습니다:

  • 데이터 병렬 처리: 다음과 같은 작업에 가장 일반적인 방법입니다. 객체 감지와 같은 작업에 가장 일반적인 방법입니다. 이 설정에서는 모델의 전체 사본 모델이 모든 디바이스에 상주합니다. 학습 데이터는 학습 데이터는 더 작은 청크로 나뉘고 각 디바이스는 서로 다른 하위 집합을 동시에 처리합니다. 역전파 단계에서 역전파 단계에서 그라데이션이 계산됩니다. 독립적으로 계산한 다음 다음과 같은 통신 프로토콜을 사용하여 모든 디바이스에서 동기화합니다. 메시지 전달 인터페이스(MPI) 와 같은 통신 프로토콜을 사용하여 모든 디바이스에서 동기화하여 모델 가중치를 일관되게 업데이트합니다.
  • 모델 병렬 처리: 신경망이 신경망(NN) 이 너무 커서 단일 GPU의 메모리 내에 너무 큰 경우 모델 병렬화가 필요합니다. 모델의 레이어 또는 구성 요소는 여러 장치에 걸쳐 분할됩니다. 여러 디바이스에 걸쳐 분할됩니다. 데이터는 네트워크를 통과할 때 장치 간에 순차적으로 또는 동시에 흐릅니다. 이 기술은 대규모 기초 모델과 대규모 언어 모델(LLM)을 학습하는 데 중요합니다. 매개변수 수가 수조 개에 달할 수 있으므로 다음과 같은 특수 도구가 필요합니다. 메모리 관리를 위한 Microsoft DeepSpeed.

실제 애플리케이션

분산 교육을 통해 업계에서는 시간이나 메모리 제약으로 인해 계산이 불가능했던 문제를 해결할 수 있습니다. 시간이나 메모리 제약으로 인해 계산이 불가능했던 문제를 해결할 수 있습니다.

  • 자율 주행: 신뢰할 수 있는 자율 주행 자동차를 개발하려면 페타바이트 단위의 비디오 및 센서 데이터 및 센서 데이터를 처리해야 합니다. 자동차 회사들은 대규모 분산 클러스터를 사용하여 실시간 시맨틱 세분화 및 객체 추적을 위한 시맨틱 세분화 및 객체 추적을 위해 대규모 분산 클러스터를 사용합니다. 자동차 워크 플로우에 AI를 활용하면, 엔지니어는 안전에 중요한 모델을 빠르게 반복하여 성능을 개선할 수 있습니다.
  • 의료 영상: In 의료 분야의 AI, 고해상도 3D 분석 스캔을 분석하려면 상당한 컴퓨팅 리소스가 필요합니다. 분산 학습을 통해 연구자들은 다음을 수행할 수 있습니다. 다양한 데이터 세트에서 정확도가 높은 진단 모델을 훈련할 수 있습니다, 다양한 데이터 세트에서 정확도가 높은 진단 모델을 훈련할 수 있습니다. 다음과 같은 프레임워크 NVIDIA CLARA와 같은 프레임워크는 종종 분산 기술에 의존하여 복잡한 의료 이미지를 효율적으로 처리합니다.

YOLO 분산 교육 구현하기

그리고 ultralytics 라이브러리는 분산 데이터 병렬(DDP) 교육 구현을 간소화합니다. 사용자 의 교육을 쉽게 확장할 수 있습니다. YOLO11 모델에 걸쳐 여러 GPU 모델에 걸쳐 간단히 장치 인덱스를 지정할 수 있습니다.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using two GPUs (device 0 and 1)
# The library automatically handles DDP setup for parallel processing
results = model.train(data="coco8.yaml", epochs=5, device=[0, 1])

분산 학습 vs. 관련 개념

분산 학습을 AI 생태계의 다른 관련 용어와 구별하는 것이 중요합니다:

  • 대 연합 학습: 둘 다 여러 장치를 사용하지만 주요 목표는 다릅니다. 분산 학습은 일반적으로 고성능 클러스터에서 데이터를 중앙 집중화하여 속도와 처리량을 극대화합니다. 반면 반면 연합 학습은 데이터를 사용자 디바이스(예: 스마트폰)에 분산시켜 데이터 프라이버시를 우선시하고 데이터 개인 정보 보호, 모델 업데이트 집계 원시 데이터가 소스 디바이스를 떠나지 않고 모델 업데이트를 집계합니다.
  • 고성능 컴퓨팅(HPC)비교: HPC는 슈퍼컴퓨팅을 포괄하는 광범위한 분야입니다. 과학 시뮬레이션을 포괄하는 광범위한 분야입니다. 분산 훈련은 신경망의 최적화 알고리즘에 적용되는 신경망의 최적화 알고리즘에 네트워크의 최적화 알고리즘에 적용되는 HPC의 특정 응용 분야로, 종종 다음과 같은 전문 통신 라이브러리를 활용합니다. GPU 간의 지연 시간을 줄이기 위한 NVIDIA NCCL.

도구 및 생태계

오픈 소스 도구와 플랫폼으로 구성된 강력한 에코시스템이 분산 교육을 구현할 수 있도록 지원합니다:

  • 프레임워크: PyTorch 는 네이티브 배포 패키지를 통해 지원하며 TensorFlow 다음과 같은 전략을 제공합니다. MirroredStrategy 를 사용하여 원활하게 확장할 수 있습니다.
  • 오케스트레이션: 대규모 클러스터에서 리소스를 관리하려면 종종 컨테이너 오케스트레이션이 필요합니다. 도구 또는 교육 작업의 배포와 확장을 자동화하는 Kubeflow와 같은 컨테이너 오케스트레이션 도구가 필요합니다.
  • 클라우드 인프라: 주요 제공업체는 다음과 같은 관리형 서비스를 제공합니다. AWS 세이지메이커 및 분산된 워크로드에 최적화된 인프라를 제공하여 최적화된 인프라를 제공하여 하드웨어 유지 관리의 부담을 덜어줍니다.
  • 범용 확장성: HorovodRay와 같은 라이브러리는 프레임워크에 구애받지 않는 확장 접근 방식을 제공하여 개발자가 최소한의 변경만으로 분산 환경에 맞게 최소한의 변경만으로 분산 환경에 맞게 코드를 조정할 수 있습니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기