기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
재시도 정책 구성
SageMaker Pipelines은 기계 학습 워크플로를 오케스트레이션하는 강력하고 자동화된 방법을 제공하지만 실행 시 오류가 발생할 수 있습니다. 이러한 시나리오를 원활하게 처리하고 파이프라인의 신뢰성을 높이려면 예외가 발생한 후 특정 단계를 자동으로 재시도하는 방법과 시기를 정의하는 재시도 정책을 구성할 수 있습니다. 재시도 정책을 사용하면 재시도할 예외 유형, 최대 재시도 횟수, 재시도 간격 및 재시도 간격을 늘리기 위한 백오프 속도를 지정할 수 있습니다. 다음 섹션에서는 JSON 및 SageMaker Python SDK를 사용하여 파이프라인의 훈련 단계에 대한 재시도 정책을 구성하는 방법의 예를 제공합니다.
다음은 재시도 정책이 포함된 훈련 단계의 예제입니다.
{ "Steps": [ { "Name": "MyTrainingStep", "Type": "Training", "RetryPolicies": [ { "ExceptionType": [ "SageMaker.JOB_INTERNAL_ERROR", "SageMaker.CAPACITY_ERROR" ], "IntervalSeconds":1, "BackoffRate":2, "MaxAttempts":5} ] } ] }
다음은 재시도 정책을 사용하여 Python용 SDK (Boto3)에서 TrainingStep을 빌드하는 방법의 예제입니다.
from sagemaker.workflow.retry import ( StepRetryPolicy, StepExceptionTypeEnum, SageMakerJobExceptionTypeEnum, SageMakerJobStepRetryPolicy ) step_train = TrainingStep( name="MyTrainingStep", xxx, retry_policies=[ // override the default StepRetryPolicy( exception_types=[StepExceptionTypeEnum.SERVICE_FAULT,StepExceptionTypeEnum.THROTTLING], expire_after_mins=5, interval_seconds=10, backoff_rate=2.0), // retry when resource limit quota gets exceeded SageMakerJobStepRetryPolicy( exception_types=[SageMakerJobExceptionTypeEnum.RESOURCE_LIMIT], expire_after_mins=120, interval_seconds=60, backoff_rate=2.0), // retry when job failed due to transient error or EC2 ICE. SageMakerJobStepRetryPolicy( failure_reason_types=[SageMakerJobExceptionTypeEnum.INTERNAL_ERROR,SageMakerJobExceptionTypeEnum.CAPACITY_ERROR, ], max_attempts=10, interval_seconds=30, backoff_rate=2.0) ] )
특정 단계 유형에 대한 재시도 동작을 구성하는 방법에 대한 자세한 내용은 Amazon SageMaker Python SDK 설명서에서 Amazon SageMaker Pipelines - Retry Policy