교육 스크립트에 SMDDP 라이브러리를 사용하십시오. PyTorch - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

교육 스크립트에 SMDDP 라이브러리를 사용하십시오. PyTorch

SageMaker 분산 데이터 병렬화 (SMDDP) 라이브러리 v1.4.0부터 라이브러리를 분산 패키지의 백엔드 옵션으로 사용할 수 있습니다. PyTorch SMDDP AllReduceAllGather 집단 연산을 사용하려면 교육 스크립트 시작 부분에서 SMDDP 라이브러리를 가져오고 프로세스 그룹 초기화 중에 SMDDP를 분산 모듈의 백엔드로 설정하기만 하면 됩니다. PyTorch 한 줄의 백엔드 사양을 통해 모든 기본 PyTorch 분산 모듈과 전체 교육 스크립트를 변경하지 않고 유지할 수 있습니다. 다음 코드 스니펫은 분산 PyTorch 데이터 병렬 (DDP), PyTorch 완전 샤딩된 데이터 병렬화 (FSDP), Megatron-와 같은 SMDDP 라이브러리를 PyTorch 기반 분산 교육 패키지의 백엔드로 사용하는 방법을 보여줍니다. DeepSpeedDeepSpeed

DDP 또는 FSDP의 경우 PyTorch

다음과 같이 프로세스 그룹을 초기화합니다.

import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
참고

( PyTorch DDP 작업에만 해당) smddp 백엔드는 현재 API를 사용한 하위 프로세스 그룹 생성을 지원하지 않습니다. torch.distributed.new_group() 또한 및 같은 다른 프로세스 그룹 smddp 백엔드와 동시에 백엔드를 사용할 수 없습니다. NCCL Gloo

For DeepSpeed Megatron- DeepSpeed

다음과 같이 프로세스 그룹을 초기화합니다.

import deepspeed import smdistributed.dataparallel.torch.torch_smddp deepspeed.init_distributed(dist_backend="smddp")
참고

mpirun기반 런처 (smdistributedpytorchddp) AllGather 와 함께 SMDDP를 사용하려면 교육 스크립트에 2단계: SageMaker Python SDK를 사용하여 분산 교육 작업 시작 다음 환경 변수도 설정해야 합니다.

export SMDATAPARALLEL_OPTIMIZE_SDP=true

PyTorch FSDP 교육 스크립트 작성에 대한 일반적인 지침은 설명서의 FSDP (완전 샤딩된 데이터 병렬) 를 사용한 고급 모델 학습을 참조하십시오. PyTorch

PyTorch DDP 교육 스크립트 작성에 대한 일반적인 지침은 PyTorch 설명서의 분산 데이터 병렬로 시작하기를 참조하십시오.

훈련 스크립트 조정을 완료한 후 2단계: SageMaker Python SDK를 사용하여 분산 교육 작업 시작 섹션으로 넘어갑니다.