기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker AI 분산 데이터 병렬 처리(SMDDP) 라이브러리 v1.4.0부터이 라이브러리를 PyTorch 분산 패키지AllReduce
및 AllGather
집합 작업을 사용하려면 훈련 스크립트 시작 시 SMDDP 라이브러리를 가져와서 프로세스 그룹 초기화 중에 SMDDP를 PyTorch 분산 모듈의 백엔드로 설정하기만 하면 됩니다. 한 줄의 백엔드 사양을 사용하면 모든 기본 PyTorch 분산 모듈과 전체 훈련 스크립트를 변경하지 않을 수 있습니다. 다음 코드 조각은 SMDDP 라이브러리를 PyTorch 분산 데이터 병렬(DDP)
PyTorch DDP 또는 FSDP의 경우
다음과 같이 프로세스 그룹을 초기화합니다.
import torch.distributed as dist
import smdistributed.dataparallel.torch.torch_smddp
dist.init_process_group(backend="smddp")
참고
(PyTorch DDP 작업에만 해당)smddp
백엔드는 현재 torch.distributed.new_group()
API를 사용한 하위 프로세스 그룹 생성을 지원하지 않습니다. smddp
백엔드는 NCCL
및 Gloo
같은 다른 프로세스 그룹 백엔드와 동시에 사용할 수 없습니다.
DeepSpeed 또는 Megatron-DeepSpeed의 경우
다음과 같이 프로세스 그룹을 초기화합니다.
import deepspeed
import smdistributed.dataparallel.torch.torch_smddp
deepspeed.init_distributed(dist_backend="smddp")
참고
SageMaker Python SDK를 사용하여 SMDDP로 분산 훈련 작업 시작의 mpirun
기반 런처(smdistributed
및 pytorchddp
)와 함께 SMDDP AllGather
를 사용하려면 훈련 스크립트에서 다음 환경 변수도 설정해야 합니다.
export SMDATAPARALLEL_OPTIMIZE_SDP=true
PyTorch FSDP 훈련 스크립트 작성에 대한 일반적인 지침은 PyTorch 설명서의 FSDP(Fully Sharded Data Parallel)를 사용한 고급 모델 훈련
PyTorch DDP 훈련 스크립트 작성에 대한 일반 지침은 PyTorch 설명서의 분산 데이터 병렬 시작하기
훈련 스크립트 조정을 완료한 후 SageMaker Python SDK를 사용하여 SMDDP로 분산 훈련 작업 시작 섹션으로 넘어갑니다.