조정 훈련 - Amazon SageMaker AI

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

조정 훈련

다음 섹션에서는 훈련을 확장하려는 시나리오와 AWS 리소스를 사용하여 확장하는 방법을 다룹니다. 다음 상황 중 하나에서 훈련을 확장할 수 있습니다.

  • 단일에서 다수GPU로 확장 GPUs

  • 단일 인스턴스에서 다중 인스턴스로 확장

  • 사용자 지정 훈련 스크립트 사용

단일에서 다수GPU로 확장 GPUs

기계 학습에 사용되는 데이터의 양이나 모델 크기로 인해 모델을 훈련하는 데 걸리는 시간이 기다릴 수 있는 시간보다 길어지는 상황이 발생할 수 있습니다. 모델이나 훈련 데이터가 너무 커서 훈련이 전혀 작동하지 않기도 합니다. 한 가지 해결책은 훈련에 사용하는 수를 늘리는 GPUs 것입니다. 8개가 있는와 GPUs같이가 여러 p3.16xlarge개 있는 인스턴스에서는 GPUs데이터와 처리가 8개 로 분할됩니다GPUs. 분산 훈련 라이브러리를 사용하면 모델을 훈련하는 데 걸리는 시간이 거의 선형적으로 빨라질 수 있습니다. p3.2xlarge 하나의에서 1/8이 약간 넘는 시간이 걸립니다GPU.

인스턴스 유형 GPUs
p3.2xlarge 1
p3.8xlarge 4
p3.16xlarge 8
p3dn.24xlarge 8
참고

SageMaker 훈련에 사용되는 ml 인스턴스 유형은 해당 p3 인스턴스 유형GPUs과의 수가 동일합니다. 예를 들어 ml.p3.8xlarge의 수는 p3.8xlarge - 4GPUs와 동일합니다.

단일 인스턴스에서 다중 인스턴스로 확장

훈련을 더 확장하고 싶다면 더 많은 인스턴스를 사용할 수 있습니다. 하지만 인스턴스를 더 추가하기 전에 더 큰 인스턴스 유형을 선택해야 합니다. 이전 표를 검토하여 각 p3 인스턴스 유형에 있는 수GPUs를 확인합니다.

의 단일 GPU에서 GPUs의 4로 이동p3.8xlarge했지만 더 많은 처리 능력이 필요하다고 판단한 경우 인스턴스 수p3.2xlarge를 늘리기 p3.16xlarge 전에를 선택하면 성능이 향상되고 비용이 절감될 수 있습니다. 사용하는 라이브러리에 따라 다르지만, 단일 인스턴스에서 계속 훈련하는 것이 여러 인스턴스를 사용하는 시나리오보다 성능이 향상되고 비용도 절감됩니다.

인스턴스 수를 조정할 준비가 되면를 설정하여 SageMaker AI Python SDKestimator함수로 조정할 수 있습니다instance_count. 예를 들어 instance_type = p3.16xlarge와(과) instance_count = 2을(를) 설정할 수 있습니다. 단일 GPUs의 8개 대신 동일한 인스턴스 2개GPUs에 16개가 p3.16xlarge있습니다. 다음 차트는 단일 인스턴스에서 8개로 시작하여 총 256개의 인스턴스로 증가하는 규모 조정 및 처리량GPUs을 보여줍니다GPUs.

Chart showing how throughput increases and time to train decreases with more GPUs.

사용자 지정 훈련 스크립트

SageMaker AI를 사용하면 선택한 프레임워크에 GPUs따라 인스턴스 및를 간단하게 배포하고 확장할 수 있지만 데이터 및 결과를 관리하는 것은 매우 어려울 수 있습니다. 따라서 외부 지원 라이브러리가 자주 사용됩니다. 이러한 가장 기본적인 형태의 분산 훈련을 위해서는 데이터 배포를 관리하기 위해 훈련 스크립트를 수정해야 합니다.

SageMaker 또한 AI는 Horovod와 각 주요 딥 러닝 프레임워크에서 기본적으로 분산 훈련의 구현을 지원합니다. 이러한 프레임워크의 예제를 사용하기로 선택한 경우 딥 러닝 컨테이너에 대한 SageMaker AI의 컨테이너 가이드와 구현을 보여주는 다양한 예제 노트북을 따를 수 있습니다.