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à.
Risolvi gli errori del suggeritore di inferenza
Questa sezione contiene informazioni su come comprendere e impedire errori comuni, i messaggi di errore da essi generati e le linee guida su come risolvere questi errori.
Come risolvere i problemi
Puoi tentare di risolvere l'errore eseguendo le fasi seguenti:
-
Verifica se hai soddisfatto tutti i prerequisiti per utilizzare il suggeritore di inferenza. Vedi Prerequisiti del suggeritore di inferenza.
-
Verifica di essere in grado di implementare il modello da Model Registry a un endpoint e che sia in grado di elaborare i payload senza errori. Consulta Implementazione di un modello dal registro.
-
Quando avvii un job di Inference Recommender, dovresti vedere gli endpoint creati nella console e puoi rivedere i log. CloudWatch
Errori comuni
Consulta la tabella seguente per gli errori più comuni del suggeritore di inferenza e le relative soluzioni.
Errore | Soluzione |
---|---|
Specifica |
Assicurati di fornire il dominio ML o se sconosciuto. |
Il ruolo fornito ARN non può essere assunto e si è verificato un |
Assicurati che il ruolo di esecuzione fornito disponga delle autorizzazioni necessarie specificate nei prerequisiti. |
Specifica |
Assicurati di indicare il framework ML o |
Gli utenti alla fine della fase precedente sono 0 mentre il numero di utenti iniziali della fase corrente è pari a 1. |
Gli utenti qui descritti si riferiscono agli utenti o ai thread virtuali utilizzati per inviare richieste. Ogni fase inizia con utenti A e termina con utenti B, ad esempio B > A. Tra le fasi sequenziali, x_1 e x_2, è necessario che abs (X_2.a - X_1.b) <= 3 e >= 0. |
La durata del traffico totale (trasversale) non deve essere superiore alla durata dei processi. |
La durata totale di tutte le fasi non può superare la durata dei processi. |
Il tipo di istanza burstable ml.t2.medium non è consentito. |
Il suggeritore di inferenza non supporta i test di carico sulla famiglia di istanze t2 perché le istanze burstable non forniscono prestazioni uniformi. |
ResourceLimitExceeded quando si chiama CreateEndpoint l'operazione |
Hai superato il limite di SageMaker risorse. Ad esempio, il suggeritore di inferenza potrebbe non essere in grado di fornire gli endpoint per il benchmarking se l'account ha raggiunto la quota degli endpoint. Per ulteriori informazioni su SageMaker limiti e quote, consulta Amazon SageMaker endpoints e quote. |
ModelError quando si chiama l'operazione InvokeEndpoint |
Un errore di modello può verificarsi per i seguenti motivi:
|
PayloadError durante l' InvokeEndpoint operazione di chiamata |
Un errore di payload può verificarsi per i seguenti motivi:
|
Controlla CloudWatch
Quando avvii un processo del suggeritore di inferenza, dovresti vedere gli endpoint creati nella console. Seleziona uno degli endpoint e visualizza i CloudWatch log per monitorare eventuali errori 4xx/5xx. Se hai un processo del suggeritore di inferenza con esito positivo, potrai vedere i nomi degli endpoint come parte dei risultati. Anche se il processo di Inference Recommender non ha esito positivo, puoi comunque controllare i CloudWatch log degli endpoint eliminati seguendo i passaggi seguenti:
-
Apri la CloudWatch console Amazon all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Seleziona la Regione in cui hai creato il processo del suggeritore di inferenza dall'elenco a discesa Regione in alto a destra.
-
Nel riquadro di navigazione di CloudWatch, scegli Registri, quindi seleziona Gruppi di log.
-
Cerca il gruppo di log chiamato
/aws/sagemaker/Endpoints/sm-epc-*
. Seleziona il gruppo di log in base al tuo processo del suggeritore di inferenza più recente.
Puoi anche risolvere i problemi del tuo lavoro controllando i log di Inference Recommender. CloudWatch I log di Inference Recommender, pubblicati nel gruppo di /aws/sagemaker/InferenceRecommendationsJobs
CloudWatch log, offrono una visione di alto livello sullo stato di avanzamento del lavoro nel flusso di log.
È possibile trovare informazioni dettagliate su ciascuna configurazione degli endpoint testate nel flusso di log <jobName>
/execution
.<jobName>
/Endpoint/<endpointName>
Panoramica dei flussi di log del suggeritore di inferenza
-
contiene informazioni generali sul processo, come le configurazioni degli endpoint programmate per il benchmarking, il motivo del mancato completamento del processo di compilazione e il motivo dell'errore di convalida.<jobName>
/execution -
contiene informazioni quali lo stato di avanzamento della creazione delle risorse, la configurazione del test, il motivo dell'interruzione del test di carico e lo stato di pulizia delle risorse.<jobName>
/Endpoint/<endpointName>
-
contiene informazioni sui processi di compilazione creati dal suggeritore di inferenza, come la configurazione del processo di compilazione e lo stato del processo di compilazione.<jobName>
/CompilationJob/<compilationJobName>
Crea un allarme per i messaggi di errore del suggeritore di inferenza
Il suggeritore di inferenza genera istruzioni di log per gli errori che potrebbero essere utili durante la risoluzione dei problemi. Con un gruppo di CloudWatch log e un filtro metrico, puoi cercare termini e modelli in questi dati di registro man mano che i dati vengono inviati. CloudWatch Quindi, puoi creare un CloudWatch allarme basato sul filtro metrico del gruppo di log. Per ulteriori informazioni, consulta Creare un CloudWatch allarme basato su un filtro metrico del gruppo di log.
Controlla i benchmark
Quando si avvia un processo del suggeritore di inferenza, quest'ultimo crea diversi benchmark per valutare le prestazioni del modello su diversi tipi di istanze. Puoi usare il ListInferenceRecommendationsJobStepsAPIper visualizzare i dettagli di tutti i benchmark. Se un benchmark ha avuto esito negativo, è possibile visualizzare i motivi dell'errore come parte dei risultati.
Per utilizzare il ListInferenceRecommendationsJobStepsAPI, fornite i seguenti valori:
-
Per
JobName
, fornisci il nome del processo del suggeritore di inferenza. -
Per
StepType
, utilizzaBENCHMARK
per restituire informazioni sui benchmark del processo. -
Per
Status
, utilizzaFAILED
per restituire informazioni solo sui benchmark che hanno avuto esito negativo. Per un elenco degli altri tipi di stato, consulta ilStatus
campo in ListInferenceRecommendationsJobStepsAPI.
# Create a low-level SageMaker service client. import boto3 aws_region =
'<region>'
sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide the job name for the SageMaker Inference Recommender job job_name ='<job-name>'
# Filter for benchmarks step_type = 'BENCHMARK' # Filter for benchmarks that have a FAILED status status = 'FAILED' response = sagemaker_client.list_inference_recommendations_job_steps( JobName = job_name, StepType = step_type, Status = status )
È possibile stampare l'oggetto di risposta per visualizzare i risultati. L'esempio di codice precedente memorizzava la risposta in una variabile chiamata response
:
print(response)