실시간 예측 - Amazon SageMaker AI

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

실시간 예측

실시간 예측은 즉각적인 응답이 필요한 애플리케이션이나 개별 데이터 포인트에 대한 예측과 같이 즉시 예측을 생성해야 할 때 유용합니다.

AutoML 모델을 실시간 엔드포인트로 배포하면 온디맨드로 예측을 생성하고 새 데이터를 수신하고 예측을 얻는 사이의 지연 시간을 최소화할 수 있습니다. 따라서 실시간 예측은 즉각적, 개인화 또는 이벤트 기반 예측 기능이 필요한 애플리케이션에 적합합니다.

실시간 예측의 경우 데이터세트는 입력 데이터세트의 서브셋이어야 합니다. 실시간 엔드포인트의 입력 데이터 크기는 약 6MB이고 응답 제한 시간은 60초입니다. 한 번에 하나 또는 몇 개의 항목을 가져오는 것이 좋습니다.

SageMaker APIs 사용하여 AutoML 작업의 최적의 후보를 검색한 다음 해당 후보를 사용하여 SageMaker AI 엔드포인트를 생성할 수 있습니다.

또는 Autopilot 실험을 생성할 때 자동 배포 옵션을 선택할 수도 있습니다. 모델 자동 배포 설정에 대한 자세한 내용은 자동 배포를 활성화하는 방법 섹션을 참조하세요.

최상의 모델 후보를 사용하여 SageMaker AI 엔드포인트를 생성하려면:
  1. AutoML 작업의 세부 정보를 검색합니다.

    다음 AWS CLI 명령 예제에서는 DescribeAutoMLJobV2 API를 사용하여 최적의 모델 후보에 대한 정보를 포함하여 AutoML 작업에 대한 세부 정보를 가져옵니다.

    aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
  2. 최적의 모델 후보를 위해 InferenceContainers에서 컨테이너 정의를 추출합니다.

    컨테이너 정의는 예측을 위해 훈련된 SageMaker AI 모델을 호스팅하는 데 사용되는 컨테이너화된 환경입니다.

    BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \ --auto-ml-job-name job-name --region region \ --query 'BestCandidate.InferenceContainers[0]' \ --output json

    이 명령은 최상의 모델 후보에 대한 컨테이너 정의를 추출하여 BEST_CANDIDATE 변수에 저장합니다.

  3. 최상의 후보 컨테이너 정의를 사용하여 SageMaker AI 모델을 생성합니다.

    이전 단계의 컨테이너 정의를 사용하여 CreateModel API를 사용하여 SageMaker AI 모델을 생성합니다.

    aws sagemaker create-model \ --model-name 'your-candidate-name>' \ --primary-container "$BEST_CANDIDATE" --execution-role-arn 'execution-role-arn>' \ --region 'region>

    --execution-role-arn 파라미터는 추론에 모델을 사용할 때 SageMaker AI가 수임하는 IAM 역할을 지정합니다. 이 역할에 필요한 권한에 대한 자세한 내용은 CreateModel API: 실행 역할 권한 섹션을 참조하세요.

  4. 모델을 사용하여 SageMaker AI 엔드포인트 구성을 생성합니다.

    다음 AWS CLI 명령은 CreateEndpointConfig API를 사용하여 엔드포인트 구성을 생성합니다.

    aws sagemaker create-endpoint-config \ --production-variants file://production-variants.json \ --region 'region'

    production-variants.json 파일에 모델 이름 및 인스턴스 유형을 포함한 모델 구성이 포함된 경우.

    참고

    실시간 예측에는 m5.12xlarge 인스턴스를 사용하는 것이 좋습니다.

    [ { "VariantName": "variant-name", "ModelName": "model-name", "InitialInstanceCount": 1, "InstanceType": "m5.12xlarge" } ] }
  5. 엔드포인트 구성을 사용하여 SageMaker AI 엔드포인트를 생성합니다.

    다음 AWS CLI 예제에서는 CreateEndpoint API를 사용하여 엔드포인트를 생성합니다.

    aws sagemaker create-endpoint \ --endpoint-name 'endpoint-name>' \ --endpoint-config-name 'endpoint-config-name' \ --region 'region'

    DescribeEndpoint API를 사용하여 실시간 추론 엔드포인트 배포 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하세요.

    aws sagemaker describe-endpoint \ --endpoint-name 'endpoint-name' \ --region 'region'

    EndpointStatusInService로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

  6. SageMaker AI 엔드포인트를 호출하여 예측합니다.
    aws sagemaker invoke-endpoint \ --endpoint-name 'endpoint-name' \ --region 'region' \ --body file://input-data-in-bytes.json \ --content-type 'application/json' outfile

    input-data-in-bytes.json 파일에 예측에 대한 입력 데이터가 포함된 경우.