Ospita più modelli che utilizzano container diversi dietro un unico endpoint - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ospita più modelli che utilizzano container diversi dietro un unico endpoint

SageMaker gli endpoint multi-container consentono ai clienti di implementare più container, che utilizzano modelli o framework diversi, su un singolo endpoint. SageMaker I container possono essere eseguiti in sequenza come pipeline di inferenza oppure è possibile accedere a ciascun container singolarmente utilizzando la chiamata diretta per migliorare l'utilizzo degli endpoint e ottimizzare i costi.

Per informazioni sull'invocazione dei container in un endpoint multi-container in sequenza, consulta Modelli host insieme alla logica di pre-elaborazione come pipeline di inferenza seriale dietro un endpoint.

Per informazioni sull'invocazione di un container specifico in un endpoint multi-container, consulta Usare un endpoint multi-container con invocazione diretta

Per creare un endpoint multi-container (Boto 3)

Crea un endpoint con più contenitori chiamando e CreateEndpointAPI come CreateModelfaresti CreateEndpointConfigper creare qualsiasi altro endpoint. Puoi eseguire questi container in sequenza come pipeline di inferenza o eseguire ogni singolo container utilizzando la chiamata diretta. Gli endpoint multi-container presentano i seguenti requisiti per le chiamate create_model:

  • Utilizza il parametro Containers anziché PrimaryContainere includi più di un container nel parametro Containers.

  • Il parametro ContainerHostname è obbligatorio per ogni container in un endpoint multi-container con invocazione diretta.

  • Imposta il parametro Mode del campo InferenceExecutionConfig per l'invocazione diretta Direct di ogni container o Serial per utilizzare i come pipeline di inferenza. La modalità predefinita è Serial.

Nota

Attualmente esiste un limite massimo di 15 container supportati su un endpoint multi-container.

L'esempio seguente crea un modello multi-container per l'invocazione diretta.

  1. Crea elementi container e InferenceExecutionConfig con invocazione diretta.

    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. Crea il modello con gli elementi del container e imposta il 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] )

Per creare un endpoint, devi quindi chiamare create_endpoint_config e create_endpoint come faresti per creare qualsiasi altro endpoint.

Aggiornare un endpoint multi-container

Per aggiornare un endpoint multi-container, completa la procedura seguente.

  1. Chiama create_model per creare un nuovo modello con un nuovo valore per il parametro Mode nel campo InferenceExecutionConfig.

  2. Chiama create_endpoint_config per creare una nuova configurazione di endpoint con un nome diverso utilizzando il nuovo modello creato nel passaggio precedente.

  3. Chiama update_endpoint per aggiornare l'endpoint con la nuova configurazione dell'endpoint creata nel passaggio precedente.

Eliminare un endpoint multi-container

Per eliminare un endpoint, chiama delete_endpoint e fornisci il nome dell'endpoint che desideri eliminare come parametro EndpointName.