Risoluzione dei problemi delle pipeline di inferenza - Amazon SageMaker AI

Risoluzione dei problemi delle pipeline di inferenza

Per risolvere i problemi relativi alle pipeline di inferenza, utilizza log di CloudWatch e messaggi di errore. Se stai utilizzando immagini Docker personalizzate in una pipeline che include algoritmi integrati Amazon SageMaker AI, potrebbero verificarsi problemi legati alle autorizzazioni. Per concedere le autorizzazioni richieste, crea una policy Amazon Elastic Container Registry (Amazon ECR).

Risoluzione dei problemi relativi alle autorizzazioni Amazon ECR per le pipeline di inferenza

Quando utilizzi immagini Docker personalizzate in una pipeline che include algoritmi integrati SageMaker AI, è necessaria una policy di Amazon ECR. La policy consente al repository Amazon ECR di concedere a SageMaker AI l’autorizzazione per estrarre l’immagine. La policy deve aggiungere le seguenti autorizzazioni:

{ "Version": "2008-10-17", "Statement": [ { "Sid": "allowSageMakerToPull", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ] } ] }

Utilizzo di log di CloudWatch per risolvere problemi relativi alle pipeline di inferenza di SageMaker AI

SageMaker AI pubblica i log del container per gli endpoint che implementano una pipeline di inferenza in Amazon CloudWatch, in corrispondenza del percorso indicato di seguito per ogni container.

/aws/sagemaker/Endpoints/{EndpointName}/{Variant}/{InstanceId}/{ContainerHostname}

Ad esempio, i log per questo endpoint vengono pubblicati nei seguenti gruppi di log e flussi:

EndpointName: MyInferencePipelinesEndpoint Variant: MyInferencePipelinesVariant InstanceId: i-0179208609ff7e488 ContainerHostname: MyContainerName1 and MyContainerName2
logGroup: /aws/sagemaker/Endpoints/MyInferencePipelinesEndpoint logStream: MyInferencePipelinesVariant/i-0179208609ff7e488/MyContainerName1 logStream: MyInferencePipelinesVariant/i-0179208609ff7e488/MyContainerName2

Un flusso di log è una sequenza di eventi di log che condividono la stessa origine. Ciascuna origine di registri separata in CloudWatch costituisce un flusso di log distinto. Un gruppo di log è un gruppo di flussi di log che condividono le stesse impostazioni di conservazione, monitoraggio e controllo degli accessi.

Per vedere i gruppi di log e i flussi
  1. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nella pagina di navigazione scegli Log.

  3. In Gruppi di log, applicare il filtro MyInferencePipelinesEndpoint:

    I gruppi di log di CloudWatch filtrati per l'endpoint della pipeline di inferenza.
  4. Per visualizzare i flussi di log, nella pagina Gruppi di log CloudWatch, scegli MyInferencePipelinesEndpoint, quindi Cerca gruppo di log.

    Il flusso di log di CloudWatch per la pipeline di inferenza.

Per un elenco dei log pubblicati da SageMaker AI, consulta Log e parametri della pipeline di inferenza.

Utilizzo dei messaggi di errore per la risoluzione dei problemi relativi alla pipeline di inferenza

I messaggi di errore della pipeline di inferenza indicano quali container non sono riusciti.

Se si verifica un errore durante l’invocazione di un endpoint da parte di SageMaker AI, il servizio restituisce un ModelError (codice di errore 424), che indica quali container non sono riusciti. Se il payload della richiesta (la risposta dal container precedente) supera il limite di 5 MB, SageMaker AI fornisce un messaggio di errore dettagliato, ad esempio:

Risposta ricevuta da MyContainerName1 con codice di stato 200. Tuttavia, la richiesta di payload di MyContainerName1 a MyContainerName2 è di 6000000 byte e supera il limite massimo di 5 MB.

Se un container non supera il controllo dell’integrità di ping mentre SageMaker AI sta creando un endpoint, restituisce un ClientError e indica tutti i container che non hanno superato il controllo di ping nell’ultimo controllo dell’integrità.