추론 권장 사항 생성하기 - Amazon SageMaker

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

추론 권장 사항 생성하기

AWS SDK for Python (Boto3) 또는 를 사용하여 프로그래밍 방식으로 추론 권장 사항을 생성 AWS CLI하거나 Studio Classic 또는 SageMaker 콘솔을 사용하여 대화형으로 추론 권장 사항을 생성합니다. 모델 레지스트리에 모델을 등록할 ARN 때 추론 권장 사항의 작업 이름, AWS IAM 역할, ARN입력 구성 및 모델 패키지, 사전 요구 사항 섹션에서 모델을 생성할 때의 모델 이름 및 ContainerConfig 사전을 지정합니다.

AWS SDK for Python (Boto3)

CreateInferenceRecommendationsJob API 를 사용하여 추론 권장 사항 작업을 시작합니다. 추론 권장 작업 시 JobType 필드를 'Default'(으)로 설정합니다. 또한 다음을 입력합니다.

  • Inference Recommender가 사용자를 대신하여 작업을 수행할 수 있는 IAM 역할의 Amazon 리소스 이름(ARN)입니다. RoleArn 필드에 정의합니다.

  • 모델 패키지 ARN 또는 모델 이름입니다. 추론 추천자는 하나의 모델 패키지 또는 ARN 모델 이름을 입력으로 지원합니다. 다음 중 하나를 지정하세요.

    • 모델 SageMaker 레지스트리에 모델을 등록할 때 생성한 버전 모델 패키지ARN의 . ModelPackageVersionArnInputConfig 필드에 정의합니다.

    • 생성한 모델의 이름. ModelNameInputConfig 필드에 정의합니다. 또한 모델 이름과 함께 입력해야 하는 필수 필드가 포함된 ContainerConfig 사전을 입력합니다. ContainerConfigInputConfig 필드에 정의합니다. ContainerConfig에서 선택적으로 SupportedEndpointType 필드를 RealTime 또는 Serverless(으)로 지정할 수도 있습니다. 이 필드를 지정하면 Inference Recommender는 해당 엔드포인트 유형에 대한 권장 사항만 반환합니다. 이 필드를 지정하지 않으면 Inference Recommender는 두 엔드포인트 유형 모두에 대한 권장 사항을 반환합니다.

  • JobName 필드에 대한 Inference Recommender 권장 작업 이름. 추론 추천자 작업 이름은 AWS 리전 내 및 계정 AWS 내에서 고유해야 합니다.

AWS SDK for Python (Boto3) 패키지를 가져오고 SageMaker 클라이언트 클래스를 사용하여 클라이언트 객체를 생성합니다. 필수 조건 섹션의 단계를 따랐다면 다음 중 하나만 지정합니다.

  • 옵션 1: 모델 패키지 를 사용하여 추론 권장 사항 작업을 생성하려면 모델 패키지 그룹을 라는 변수ARN에 ARN저장합니다model_package_arn.

  • 옵션 2: 모델 이름과 ContainerConfig을(를) 사용하여 추론 권장 작업을 생성하려면, 모델 이름을 model_name 변수에 저장하고 ContainerConfig 사전을 container_config 변수에 저장합니다.

# Create a low-level SageMaker service client. import boto3 aws_region = '<INSERT>' sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide only one of model package ARN or model name, not both. # Provide your model package ARN that was created when you registered your # model with Model Registry model_package_arn = '<INSERT>' ## Uncomment if you would like to create an inference recommendations job with a ## model name instead of a model package ARN, and comment out model_package_arn above ## Provide your model name # model_name = '<INSERT>' ## Provide your container config # container_config = '<INSERT>' # Provide a unique job name for SageMaker Inference Recommender job job_name = '<INSERT>' # Inference Recommender job type. Set to Default to get an initial recommendation job_type = 'Default' # Provide an IAM Role that gives SageMaker Inference Recommender permission to # access AWS services role_arn = 'arn:aws:iam::<account>:role/*' sagemaker_client.create_inference_recommendations_job( JobName = job_name, JobType = job_type, RoleArn = role_arn, # Provide only one of model package ARN or model name, not both. # If you would like to create an inference recommendations job with a model name, # uncomment ModelName and ContainerConfig, and comment out ModelPackageVersionArn. InputConfig = { 'ModelPackageVersionArn': model_package_arn # 'ModelName': model_name, # 'ContainerConfig': container_config } )

에 전달할 수 있는 선택적 및 필수 인수의 전체 목록은 Amazon SageMaker API 참조 가이드를 참조하세요CreateInferenceRecommendationsJob.

AWS CLI

create-inference-recommendations-job API 를 사용하여 추론 권장 사항 작업을 시작합니다. 추론 권장 작업 시 job-type 필드를 'Default'(으)로 설정합니다. 또한 다음을 입력합니다.

  • Amazon SageMaker Inference Recommender가 사용자를 대신하여 작업을 수행할 수 있도록 하는 IAM 역할의 Amazon 리소스 이름(ARN)입니다. role-arn 필드에 정의합니다.

  • 모델 패키지 ARN 또는 모델 이름입니다. 추론 추천자는 하나의 모델 패키지 또는 ARN 모델 이름을 입력으로 지원합니다. 다음 중 하나를 지정하세요.

    • 모델 레지스트리에 모델을 등록할 때 생성한 버전 모델 패키지ARN의 . ModelPackageVersionArninput-config 필드에 정의합니다.

    • 생성한 모델의 이름. ModelNameinput-config 필드에 정의합니다. 또한 모델 이름과 함께 입력해야 하는 필수 필드가 포함된 ContainerConfig 사전을 입력합니다. ContainerConfiginput-config 필드에 정의합니다. ContainerConfig에서 선택적으로 SupportedEndpointType 필드를 RealTime 또는 Serverless(으)로 지정할 수도 있습니다. 이 필드를 지정하면 Inference Recommender는 해당 엔드포인트 유형에 대한 권장 사항만 반환합니다. 이 필드를 지정하지 않으면 Inference Recommender는 두 엔드포인트 유형 모두에 대한 권장 사항을 반환합니다.

  • job-name 필드에 대한 Inference Recommender 권장 작업 이름. 추론 추천자 작업 이름은 AWS 리전 내 및 계정 AWS 내에서 고유해야 합니다.

모델 패키지 를 사용하여 추론 권장 작업을 생성하려면 다음 예제를 ARN사용합니다.

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelPackageVersionArn\": \"arn:aws:sagemaker:<region:account:role/*>\", }"

모델 이름과 ContainerConfig(으)로 추론 권장 작업을 생성하려면, 다음 예제를 적용합니다. 이 예제에서는 SupportedEndpointType 필드를 사용하여 실시간 추론 권장 사항만 반환하도록 지정합니다.

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelName\": \"model-name\", \"ContainerConfig\" : { \"Domain\": \"COMPUTER_VISION\", \"Framework\": \"PYTORCH\", \"FrameworkVersion\": \"1.7.1\", \"NearestModelName\": \"resnet18\", \"PayloadConfig\": { \"SamplePayloadUrl\": \"s3://{bucket}/{payload_s3_key}\", \"SupportedContentTypes\": [\"image/jpeg\"] }, \"SupportedEndpointType\": \"RealTime\", \"DataInputConfig\": \"[[1,3,256,256]]\", \"Task\": \"IMAGE_CLASSIFICATION\", }, }"
Amazon SageMaker Studio Classic

Studio Classic에서 추론 추천 작업을 생성합니다.

  1. Studio Classic 애플리케이션에서 홈 아이콘()을 선택합니다 Black square icon representing a placeholder or empty image. .

  2. Studio Classic의 왼쪽 사이드바에서 모델 을 선택합니다.

  3. 드롭다운 목록에서 모델 레지스트리(Model Registry)를 선택하면 모델 레지스트리에 등록한 모델이 표시됩니다.

    왼쪽 패널에는 모델 그룹 목록이 표시됩니다. 목록에는 Studio Classic 외부에 등록된 모델을 포함하여 계정의 모델 레지스트리에 등록된 모든 모델 그룹이 포함됩니다.

  4. 모델 그룹의 이름을 선택합니다. 모델 그룹을 선택하면 Studio Classic의 오른쪽 창에 버전 및 설정과 같은 열 헤드가 표시됩니다.

    모델 그룹 내에 모델 패키지가 하나 이상 있는 경우 버전 열에 해당 모델 패키지 목록이 표시됩니다.

  5. Inference Recommender 열을 선택합니다.

  6. 추론 추천자에게 AWS 서비스에 액세스할 수 있는 권한을 부여하는 IAM 역할을 선택합니다. 역할을 생성하고 AmazonSageMakerFullAccess IAM 관리형 정책을 연결하여 이를 수행할 수 있습니다. 또는 Studio Classic에서 역할을 생성하도록 허용할 수 있습니다.

  7. 추천 받기를 선택합니다.

    추론 권장 사항은 최대 45분이 걸릴 수 있습니다.

    주의

    이 탭을 닫지 마세요. 탭을 닫으면 인스턴스 권장 작업이 취소됩니다.

SageMaker console

다음을 수행하여 SageMaker 콘솔을 통해 인스턴스 추천 작업을 생성합니다.

  1. 에서 SageMaker 콘솔로 이동합니다https://console.aws.amazon.com/sagemaker/.

  2. 왼쪽 탐색 창에서 추론(Inference)을 선택한 다음 Inference Recommender를 선택합니다.

  3. Inference Recommender 작업(Inference recommender jobs) 페이지에서 작업 생성(Create job)을 선택합니다.

  4. 1단계: 모델 구성에서 다음을 수행합니다.

    1. 작업 유형(Job type)으로 기본 Recommender 작업(Default recommender job)을 선택합니다.

    2. 모델 레지스트리에 SageMaker 등록된 모델을 사용하는 경우 모델 레지스트리에서 모델 선택 토글을 켜고 다음을 수행합니다.

      1. 모델 그룹 드롭다운 목록에서 모델이 위치한 모델 레지스트리에서 SageMaker 모델 그룹을 선택합니다.

      2. 모델 버전(Model version) 드롭다운 목록에서 원하는 모델 버전을 선택합니다.

    3. 에서 생성한 모델을 사용하는 경우 모델 레지스트리에서 모델 선택 토글을 SageMaker끄고 다음을 수행합니다.

      1. 모델 이름 필드에 SageMaker 모델 이름을 입력합니다.

    4. IAM 역할 드롭다운 목록에서 인스턴스 추천 작업을 생성하는 데 필요한 권한이 있는 기존 AWS IAM 역할을 선택할 수 있습니다. 또는 기존 역할이 없는 경우 새 역할 생성을 선택하여 역할 생성 팝업을 열고 생성한 새 역할에 필요한 권한을 SageMaker 추가할 수 있습니다.

    5. 페이로드 벤치마킹용 S3 버킷(S3 bucket for benchmarking payload)에 샘플 페이로드 아카이브의 Amazon S3 경로를 입력합니다. 이 경로에는 Inference Recommender가 다양한 인스턴스 유형에서 모델을 벤치마크할 때 사용하는 샘플 페이로드 파일이 포함되어야 합니다.

    6. 페이로드 콘텐츠 유형 에 샘플 페이로드 데이터의 MIME 유형을 입력합니다.

    7. (선택 사항) 모델 레지스트리에서 모델 선택 토글을 끄고 SageMaker 모델을 지정한 경우 컨테이너 구성 에 대해 다음을 수행합니다.

      1. 도메인(Domain) 드롭다운 목록에서 컴퓨터 비전, 자연어 처리, 기계 학습 등 모델의 기계 학습 도메인을 선택합니다.

      2. 프레임워크 드롭다운 목록에서 TensorFlow 또는 와 같은 컨테이너의 프레임워크를 선택합니다XGBoost.

      3. 프레임워크 버전(Framework version)에 컨테이너 이미지의 프레임워크 버전을 입력합니다.

      4. 가장 가까운 모델 이름(Nearest model name) 드롭다운 목록에서 사용자 모델과 가장 가깝게 일치하는 사전 훈련된 모델을 선택합니다.

      5. 태스크(Task) 드롭다운 목록에서 모델이 수행하는 기계 학습 태스크(예: 이미지 분류, 회귀)를 선택합니다.

    8. (선택 사항) SageMaker Neo를 사용한 모델 컴파일의 경우 SageMaker Neo를 사용하여 컴파일한 모델에 대한 권장 작업을 구성할 수 있습니다. 데이터 입력 구성(Data input configuration){'input':[1,1024,1024,3]}와(과) 비슷한 형식으로 모델에 맞는 정확한 입력 데이터 형상을 입력합니다.

    9. Next(다음)를 선택합니다.

  5. 2단계: 인스턴스 및 환경 파라미터에서 다음을 수행합니다.

    1. (선택 사항) 벤치마킹할 인스턴스 선택(Select instances for benchmarking)에서 벤치마킹할 인스턴스 유형을 최대 8개까지 선택할 수 있습니다. 인스턴스를 선택하지 않으면 Inference Recommender는 모든 인스턴스 유형을 고려합니다.

    2. Next(다음)를 선택합니다.

  6. 3단계: 작업 파라미터에서 다음을 수행합니다.

    1. (선택 사항) 작업 이름(Job name) 필드에 인스턴스 권장 작업의 이름을 입력합니다. 작업을 생성할 때 는 타임스탬프를 이 이름 끝에 SageMaker 추가합니다.

    2. (선택 사항) 작업 설명(Job description) 필드에 작업에 대한 설명을 입력합니다.

    3. (선택 사항) 암호화 키 드롭다운 목록에서 이름별로 AWS KMS 키를 선택하거나 키를 입력하여 데이터를 ARN 암호화합니다.

    4. (선택 사항) 최장 테스트 지속 시간(Max test duration (s))에 개별 테스트를 실행할 최장 시간(초)을 입력합니다.

    5. (선택 사항) 분당 최대 간접 호출(Max invocations per minute)에 엔드포인트가 권장 작업을 중단하기 전에 도달할 수 있는 분당 최대 요청 수를 입력합니다. 이 한도에 도달하면 가 작업을 SageMaker 종료합니다.

    6. (선택 사항) P99 모델 지연 시간 임계값(ms)(P99 Model latency threshold (ms))에 모델 지연 시간 백분위수를 밀리초 단위로 입력합니다.

    7. Next(다음)를 선택합니다.

  7. 4단계: 작업 검토에서 구성 검토 후 제출(Submit)을 선택합니다.