내용으로 건너뛰기

SageMaker AI 비동기식 엔드포인트를 호출 또는 생성할 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon SageMaker AI 비동기식 엔드포인트를 호출 또는 생성할 때 발생하는 문제를 해결하고 싶습니다.

간략한 설명

비동기식 엔드포인트를 호출할 때 발생하는 오류를 탐지하려면 엔드포인트의 Amazon CloudWatch Logs를 검토하십시오. 로그 그룹 이름 /aws/sagemaker/Endpoints/example-endpoint-name 및 로그 스트림 이름 example-production-variant-name/example-instance-id/data-log에서 CloudWatch 로그를 검토하십시오. 자세한 내용은 CloudWatch를 사용한 모니터링일반 엔드포인트 지표 섹션 및 비동기식 추론 엔드포인트 지표 섹션을 참조하십시오.

해결 방법

다음 오류를 기반으로 SageMaker AI 비동기식 엔드포인트를 호출 또는 생성할 때 발생하는 문제를 해결합니다.

"ModelError: An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (413) from primary and could not load the entire response body"

페이로드 크기가 1GB 미만일 때 이 오류가 발생하는 경우 비동기식 엔드포인트의 CloudWatch Logs를 검토하십시오. 또한 로컬에서 다양한 크기의 이미지로 모델을 테스트하고 페이로드 크기가 1GB 미만일 때 오류가 발생하는지 확인합니다.

로컬에서 모델을 디버그하려면 추가 로깅을 실시(명령문 인쇄)한 다음 오류를 일으키는 코드 부분을 확인합니다. 로컬에서 모델이 오류 없이 실행되는 경우 SageMaker AI에서 모델을 호스팅합니다. 자세한 내용은 GitHub 웹사이트의 amazon-sagemaker-local-mode를 참조하십시오.

코드 예시:

import logging
import syslogger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.info("Loading file.")print("Loading file. --> from print statement")

작업자 시간 초과

이 오류는 모델 컨테이너 내부에 ping 및 호출 요청을 처리할 작업자가 충분하지 않을 때 발생합니다. 이 오류를 해결하려면 작업자 수와 model_server_timeout의 값을 늘리십시오.

대기열이 지워질 때까지 ApproximateAgeOfOldestRequest가 주기적으로 증가

이 문제는 대기열 요청이 효율적으로 지워지지 않을 때 발생합니다. SageMaker AI 비동기식 엔드포인트는 선입선출(FIFO) 방식을 사용합니다. 하지만 모델 추론 시간, 리소스 경합 또는 네트워크 지연으로 인해 FIFO 방식을 방해를 받을 수 있습니다.

요청 제한 시간이 초과되면 InvocationTimeoutSeconds 파라미터 값을 늘리십시오. 이 파라미터는 오류가 반환되기 전에 SageMaker AI가 추론이 이루어지기까지 대기하는 시간을 지정합니다. 설정할 수 있는 최대값은 3600초(1시간)입니다.

또한 ApproximateBacklogSizePerInstance를 모니터링하는 오토 스케일링 정책을 추가하는 것이 좋습니다. 이를 통해 백로그 크기를 기반으로 엔드포인트를 스케일 업하고 요청을 더 빠르게 처리할 수 있습니다.

백로그 크기가 크고 인스턴스 수가 증가하지 않음

이 문제를 해결하려면 describe-scalable-target, describe-scaling-policiesdescribe-scaling-activities AWS CLI 명령을 사용합니다. 또한 엔드포인트가 InService 상태인지 확인합니다.

관련 정보

문제 해결

SageMaker PyTorch에 배포된 엔드포인트에서 로그를 가져오거나 명령문을 인쇄하는 방법은 무엇입니까?

Amazon SageMaker에서 오토 스케일링 추론 엔드포인트 구성

스케일링 정책 정의

GitHub 웹사이트의 amazon-sagemaker-examples

AWS 공식업데이트됨 2년 전