Aloje varios modelos que utilizan diferentes contenedores detrás de un punto de conexión - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Aloje varios modelos que utilizan diferentes contenedores detrás de un punto de conexión

SageMaker los puntos finales de varios contenedores permiten a los clientes implementar varios contenedores, que utilizan diferentes modelos o marcos, en un único SageMaker punto final. Los contenedores se pueden ejecutar en secuencia como una canalización de inferencia, o se puede acceder a cada contenedor de forma individual mediante la invocación directa para mejorar la utilización de los puntos de conexión y optimizar los costes.

Para obtener información sobre cómo invocar los contenedores de un punto de conexión multicontenedor de forma secuencial, consulte Alojamiento de modelos junto con la lógica de preprocesamiento como una canalización de inferencia en serie detrás de un punto de conexión.

Para obtener información sobre cómo invocar un contenedor específico de un punto de conexión multicontenedor, consulte Utilice un punto de conexión multicontenedor con invocación directa

Para crear un punto de conexión multicontenedor (Boto 3)

Cree un punto final de varios contenedores mediante llamadas CreateModely CreateEndpointAPI como lo haría para crear cualquier otro punto de enlace. CreateEndpointConfig Puede ejecutar estos contenedores secuencialmente como una canalización de inferencia o ejecutar cada contenedor individual mediante la invocación directa. Los puntos de conexión multicontenedor tienen los siguientes requisitos cuando llama: create_model

  • Utilice el parámetro Containers en lugar de PrimaryContainer e incluya más de un contenedor en el parámetro Containers.

  • El ContainerHostname parámetro es obligatorio para cada contenedor en un punto de conexión multicontenedor con invocación directa.

  • Defina el parámetro Mode del campo InferenceExecutionConfig en Direct para la invocación directa de cada contenedor o Serial para utilizarlos como una canalización de inferencia. El modo predeterminado es Serial.

nota

Actualmente, hay un límite de hasta 15 contenedores admitidos en un punto de conexión multicontenedor.

En el siguiente ejemplo, se crea un modelo multicontenedor para la invocación directa.

  1. Cree elementos contenedores y InferenceExecutionConfig con invocación directa.

    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. Cree el modelo con los elementos contenedores y establece el campo 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] )

Para crear un punto de conexión, debe llamar a create_endpoint_config y create_endpoint como lo haría para crear cualquier otro punto de conexión.

Actualice un punto de conexión multicontenedor

Para actualizar un punto de conexión multicontenedor, siga estos pasos.

  1. Llame a create_model para crear un nuevo modelo con un nuevo valor para el parámetro Mode del campo InferenceExecutionConfig.

  2. Llame a create_endpoint_config para crear una nueva configuración de punto de conexión con un nombre diferente utilizando el nuevo modelo que creó en el paso anterior.

  3. Llame a update_endpoint para actualizar el punto de conexión con la nueva configuración de punto final que creó en el paso anterior.

Eliminar un punto de conexión multicontenedor

Para eliminar un punto de conexión, llame a delete_endpoint y proporcione el nombre del punto de conexión que desea eliminar como el parámetro EndpointName.