Come posso risolvere i problemi che si verificano quando invoco o creo un endpoint asincrono SageMaker AI?

3 minuti di lettura
0

Desidero risolvere i problemi che si verificano quando invoco o creo un endpoint asincrono Amazon SageMaker AI.

Breve descrizione

Per rilevare gli errori che si verificano quando invochi un endpoint asincrono, esamina i log di Amazon CloudWatch dell'endpoint. Esamina i log di CloudWatch con il nome del gruppo di log /aws/sagemaker/Endpoints/example-endpoint-name e il nome del flusso di log example-production-variant-name/example-instance-id/data-log. Per ulteriori informazioni, consulta la sezione Metriche degli endpoint comuni e la sezione Metriche degli endpoint di inferenza asincrona di Monitoraggio con CloudWatch.

Risoluzione

Risolvi i problemi che si verificano quando invochi o crei un endpoint asincrono SageMaker AI in base ai seguenti errori:

"ModelError: An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (413) from primary and could not load the entire response body"

Se questo errore si verifica quando la dimensione del payload è inferiore a 1 GB, rivedi i log di CloudWatch dell'endpoint asincrono. Inoltre, verifica localmente il modello con immagini di dimensioni diverse e controlla se l'errore si verifica con dimensioni del payload inferiori a 1 GB.

Per eseguire il debug locale del modello, esegui più registrazioni (istruzioni di stampa), quindi controlla la parte di codice che causa l'errore. Se il modello viene eseguito senza errori localmente, ospita il modello su SageMaker AI. Per ulteriori informazioni, consulta amazon-sagemaker-local-mode sul sito web di GitHub.

Esempio di codice:

import logging
import syslogger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.info("Loading file.")print("Loading file. --> from print statement")

Timeout del worker

Questo errore si verifica quando non ci sono abbastanza worker all'interno del container del modello per elaborare le richieste di ping e invocazione. Per risolvere questo errore, aumenta il numero di worker e il valore model_server_timeout.

ApprossimateAgeOfOldestRequest aumenta frequentemente fino a quando la coda non viene cancellata

Questo problema si verifica quando le richieste in coda non vengono cancellate in modo efficiente. Gli endpoint asincroni di SageMaker AI utilizzano un approccio first in first out (FIFO). Tuttavia, il tempo di inferenza del modello, il conflitto tra le risorse o le latenze di rete possono interferire con l'approccio FIFO.

Se le richieste sono scadute, aumenta il valore del parametro InvocationTimeoutSeconds. Questo parametro specifica il periodo di tempo in cui SageMaker AI attende che venga effettuata l'inferenza prima che venga restituito un errore. Il valore massimo che è possibile impostare è 3.600 secondi (1 ora).

Inoltre, è consigliabile aggiungere una policy di dimensionamento automatico che monitori ApproximateBacklogSizePerInstance. Ciò consente all'endpoint di aumentare verticalmente in base alle dimensioni del backlog e di elaborare le richieste più rapidamente.

La dimensione del tuo backlog è elevata e il numero di istanze non aumenta

Per risolvere questo problema, utilizza i comandi AWS CLI describe-scalable-target, describe-scaling-policies e describe-scaling-activities. Inoltre, controlla se l'endpoint è nello stato InService.

Informazioni correlate

Risoluzione dei problemi

How to get logs or print statements from SageMaker PyTorch deployed endpoint? (Come ottenere i log o stampare le istruzioni dall'endpoint distribuito da SageMaker PyTorch?)

Configuring autoscaling inference endpoints in Amazon SageMaker (Configurazione degli endpoint di inferenza con dimensionamento automatico in Amazon SageMaker)

Definizione di una policy di dimensionamento

amazon-sagemaker-examples sul sito web di GitHub

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 mesi fa