하나의 엔드포인트 뒤에 서로 다른 컨테이너를 사용하는 여러 모델을 호스팅합니다. - 아마존 SageMaker

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

하나의 엔드포인트 뒤에 서로 다른 컨테이너를 사용하는 여러 모델을 호스팅합니다.

SageMaker 다중 컨테이너 엔드포인트를 통해 고객은 서로 다른 모델이나 프레임워크를 사용하는 여러 컨테이너를 단일 엔드포인트에 배포할 수 있습니다. SageMaker 컨테이너를 추론 파이프라인으로 순차적으로 실행하거나 직접 호출을 사용하여 각 컨테이너에 개별적으로 액세스하여 엔드포인트 활용도를 높이고 비용을 최적화할 수 있습니다.

다중 컨테이너 엔드포인트에서 컨테이너가 순서대로 호출되는 방법에 대한 자세한 내용은 하나의 엔드포인트 이면의 직렬 추론 파이프라인으로서 전처리 로직과 더불어 모델 호스트. 단원을 참조하세요.

다중 컨테이너 엔드포인트에서 특정 컨테이너가 호출되는 방법에 대한 자세한 내용은 직접 호출이 가능한 다중 컨테이너 엔드포인트 사용 단원을 참조하세요.

다중 컨테이너 엔드포인트 생성(Boto 3)

다른 엔드포인트를 생성할 때와 마찬가지로 CreateModelCreateEndpointConfig, 및 CreateEndpointAPI를 호출하여 멀티 컨테이너 엔드포인트를 생성합니다. 이러한 컨테이너를 추론 파이프라인으로 순차적으로 실행하거나 직접 호출을 사용하여 각 개별 컨테이너를 실행할 수 있습니다. 다중 컨테이너 엔드포인트는 create_model 호출 시 다음과 같은 요구 사항이 적용됩니다.

  • PrimaryContainer 대신 Containers 파라미터를 사용하고 Containers 파라미터에 컨테이너를 두 개 이상 포함시키십시오.

  • ContainerHostname 파라미터는 직접 호출이 가능한 다중 컨테이너 엔드포인트의 각 컨테이너에 필요합니다.

  • 각 컨테이너를 직접 호출하려면 InferenceExecutionConfig 필드의 Mode 파라미터를 Direct로 설정하고, 컨테이너를 추론 파이프라인으로 사용하려면 Serial로 설정하세요. 기본 모드는 Serial입니다.

참고

현재 다중 컨테이너 엔드포인트에서 지원되는 컨테이너는 최대 15개까지로 제한됩니다.

다음 예제에서는 직접 호출을 위한 다중 컨테이너 모델을 생성합니다.

  1. 직접 호출을 사용하여 컨테이너 요소와 InferenceExecutionConfig를 생성합니다.

    container1 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage1:mytag', 'ContainerHostname': 'firstContainer' } container2 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage2:mytag', 'ContainerHostname': 'secondContainer' } inferenceExecutionConfig = {'Mode': 'Direct'}
  2. 컨테이너 요소가 포함된 모델을 만들고 InferenceExecutionConfig 필드를 설정합니다.

    import boto3 sm_client = boto3.Session().client('sagemaker') response = sm_client.create_model( ModelName = 'my-direct-mode-model-name', InferenceExecutionConfig = inferenceExecutionConfig, ExecutionRoleArn = role, Containers = [container1, container2] )

엔드포인트를 생성하려면 다른 엔드포인트를 생성할 때와 마찬가지로 create_endpoint_configcreate_endpoint를 호출합니다.

다중 컨테이너 엔드포인트 업데이트

다중 컨테이너 엔드포인트를 업데이트하려면 다음 단계를 완료하세요.

  1. create_model을 호출하여 InferenceExecutionConfig 필드에 있는 Mode 파라미터의 새 값을 사용하여 새 모델을 생성합니다.

  2. create_endpoint_config를 호출하여 이전 단계에서 생성한 새 모델을 사용하여 다른 이름의 새 엔드포인트 구성을 생성합니다.

  3. update_endpoint를 호출하여 이전 단계에서 생성한 새 엔드포인트 구성으로 엔드포인트를 업데이트합니다.

다중 컨테이너 엔드포인트 삭제

엔드포인트를 삭제하려면 delete_endpoint를 호출하고 삭제하려는 엔드포인트의 이름을 EndpointName 파라미터로 제공합니다.