기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PyTorch Lightning 훈련 스크립트에서 SMDDP 라이브러리 사용
PyTorch Lightningsmdistributed.dataparallel
라이브러리의 PyTorch 모듈을 가져오고, PyTorch Lightning에 대한 환경 변수를 설정하여 SageMaker 훈련 도구 키트에서 사전 설정한 SageMaker AI 환경 변수를 수락하고, 프로세스 그룹 백엔드를 로 설정하여 SMDDP 라이브러리를 활성화하는 것이 포함됩니다"smddp"
. 자세히 알아보려면 코드 예제를 사용하여 단계를 세분화하는 다음 지침을 살펴보세요.
참고
PyTorch Lightning 지원은 SageMaker AI 데이터 병렬 라이브러리 v1.5.0 이상에서 사용할 수 있습니다.
-
pytorch_lightning
라이브러리 및smdistributed.dataparallel.torch
모듈을 가져옵니다.import lightning as pl import smdistributed.dataparallel.torch.torch_smddp
-
LightningEnvironment
를 인스턴스화합니다. from lightning.fabric.plugins.environments.lightning import LightningEnvironment env = LightningEnvironment() env.world_size = lambda: int(os.environ["WORLD_SIZE"]) env.global_rank = lambda: int(os.environ["RANK"])
-
PyTorch DDP의 경우 -
process_group_backend
용"smddp"
및accelerator
용"gpu"
를 사용하여 DDPStrategy클래스의 객체를 생성하고 이를 Trainer 클래스에 전달합니다. import lightning as pl from lightning.pytorch.strategies import DDPStrategy ddp = DDPStrategy( cluster_environment=env, process_group_backend="smddp", accelerator="gpu" ) trainer = pl.Trainer( max_epochs=200, strategy=ddp, devices=num_gpus, num_nodes=num_nodes )
PyTorch FSDP의 경우 -
process_group_backend
용"smddp"
및accelerator
용"gpu"
를 사용하여 FSDPStrategy클래스의 객체(래핑 정책 선택)를 생성하고 이를 Trainer 클래스에 전달합니다. import lightning as pl from lightning.pytorch.strategies import FSDPStrategy from functools import partial from torch.distributed.fsdp.wrap import size_based_auto_wrap_policy policy = partial( size_based_auto_wrap_policy, min_num_params=10000 ) fsdp = FSDPStrategy( auto_wrap_policy=policy, process_group_backend="smddp", cluster_environment=env ) trainer = pl.Trainer( max_epochs=200, strategy=fsdp, devices=num_gpus, num_nodes=num_nodes )
훈련 스크립트 조정을 완료한 후 SageMaker Python SDK를 사용하여 SMDDP로 분산 훈련 작업 시작 섹션으로 넘어갑니다.
참고
SageMaker AI PyTorch 예측기를 구성하고에서 훈련 작업 요청을 제출할 때 SageMaker AI PyTorch 훈련 컨테이너lightning-bolts
에 pytorch-lightning
및를 설치requirements.txt
하려면를 제공해야 SageMaker Python SDK를 사용하여 SMDDP로 분산 훈련 작업 시작합니다.
# requirements.txt pytorch-lightning lightning-bolts
requirements.txt
파일을 훈련 스크립트 및 작업 제출과 함께 배치할 소스 디렉터리를 지정하는 방법에 대한 자세한 내용은 Amazon SageMaker AI Python SDK 설명서의 타사 라이브러리 사용을