Risolvi gli errori del suggeritore di inferenza - 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à.

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 Domain nella versione 1 del pacchetto di modelli. Domain è un parametro obbligatorio per il processo.

Assicurati di fornire il dominio ML o se sconosciuto. OTHER

Il ruolo fornito ARN non può essere assunto e si è verificato un AWSSecurityTokenServiceException errore.

Assicurati che il ruolo di esecuzione fornito disponga delle autorizzazioni necessarie specificate nei prerequisiti.

Specifica Framework nella versione 1 del pacchetto di modelli. Framework è un parametro obbligatorio per il processo.

Assicurati di indicare il framework ML o OTHER se sconosciuto.

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:

  • Si è verificato il timeout dell'invocazione in attesa di una risposta dal container del modello.

  • Il modello non è stato in grado di elaborare il payload di input.

PayloadError durante l' InvokeEndpoint operazione di chiamata

Un errore di payload può verificarsi per i seguenti motivi:

  • La fonte del payload non si trova nel bucket Amazon S3.

  • Il payload è in un formato oggetto diverso da file.

  • Il payload è in un tipo di file non valido. Ad esempio, un modello prevede un payload tipo immagine ma gli viene passato un file di testo.

  • Il payload è vuoto.

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:

  1. Apri la CloudWatch console Amazon all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Seleziona la Regione in cui hai creato il processo del suggeritore di inferenza dall'elenco a discesa Regione in alto a destra.

  3. Nel riquadro di navigazione di CloudWatch, scegli Registri, quindi seleziona Gruppi di log.

  4. 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. <jobName>/execution È possibile trovare informazioni dettagliate su ciascuna configurazione degli endpoint testate nel flusso di log <jobName>/Endpoint/<endpointName>.

Panoramica dei flussi di log del suggeritore di inferenza

  • <jobName>/execution 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>/Endpoint/<endpointName> 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>/CompilationJob/<compilationJobName> 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.

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, utilizza BENCHMARK per restituire informazioni sui benchmark del processo.

  • Per Status, utilizza FAILED per restituire informazioni solo sui benchmark che hanno avuto esito negativo. Per un elenco degli altri tipi di stato, consulta il Status 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)