SageMaker 모델 병렬화 라이브러리의 핵심 기능
Amazon SageMaker 모델 병렬 처리 라이브러리는 샤딩된 데이터 병렬 처리, 텐서 병렬 처리, 파이프라인 일정을 예약하기 위한 레이어별 모델 분할, 체크포인트 등의 배포 전략 및 메모리 절약 기술을 제공합니다. 모델 병렬 처리 전략 및 기법은 훈련 속도와 메모리 소비를 최적화하면서 여러 디바이스에 대형 모델을 배포하는 데 도움이 됩니다. 또한 라이브러리는 Python 헬퍼 함수, 컨텍스트 관리자 및 래퍼 함수를 제공하여 모델의 자동 또는 수동 분할에 맞게 훈련 스크립트를 조정합니다.
훈련 작업에 모델 병렬 처리를 구현하면 모델 병렬 처리를 사용하여 SageMaker 분산 훈련 작업 실행 섹션에 표시된 것과 동일한 2단계 워크플로를 유지합니다. 훈련 스크립트를 수정하려면 훈련 스크립트에 코드 라인을 0개 또는 몇 개 추가해야 합니다. 조정된 훈련 스크립트의 훈련 작업을 시작하려면 분포 구성 파라미터를 설정하여 메모리 절약 기능을 활성화하거나 병렬도 값을 전달해야 합니다.
예제를 시작하려면 SageMaker 모델 병렬 처리 라이브러리를 사용하는 방법을 보여주는 다음 Jupyter notebook을 참조하세요.
라이브러리의 핵심 기능을 자세히 살펴보려면 다음 주제를 참조하세요.
참고
SageMaker 분산형 훈련 라이브러리는 SageMaker 훈련 플랫폼 내의 PyTorch, Hugging Face 및 TensorFlow AWS 딥 러닝 컨테이너를 통해 사용할 수 있습니다. 분산 훈련 라이브러리의 기능을 활용하려면 SageMaker Python SDK를 사용하는 것이 좋습니다. 또한 Python용 SDK(Boto3)또는 AWS Command Line Interface를 통해 SageMaker API를 사용하는 경우 JSON 요청 구문에서 수동으로 구성할 수도 있습니다. 지침과 예제는 설명서 전반에 걸쳐 SageMaker Python SDK를 사용하여 분산형 훈련 라이브러리를 사용하는 방법에 중점을 둡니다.
중요
SageMaker 모델 병렬 처리 라이브러리는 PyTorch의 모든 핵심 기능을 지원하고 TensorFlow의 파이프라인 병렬 처리를 지원합니다.