Log e parametri della pipeline di inferenza - Amazon SageMaker AI

Log e parametri della pipeline di inferenza

Il monitoraggio è importante per assicurare l’affidabilità, la disponibilità e le prestazioni delle risorse di Amazon SageMaker AI. Per monitorare e risolvere i problemi relativi alle prestazioni della pipeline di inferenza, utilizza log e messaggi di errore di Amazon CloudWatch. Per informazioni sugli strumenti di monitoraggio forniti da SageMaker AI, consulta Monitoraggio delle risorse AWS in Amazon SageMaker AI.

Utilizzo di parametri per monitorare i modelli multicontainer

Per monitorare i modelli multi-container in Inference Pipelines, usa Amazon CloudWatch. CloudWatch raccoglie ed elabora i dati grezzi trasformandoli in metriche leggibili, quasi in tempo reale. Gli endpoint e i job di addestramento SageMaker AI scrivono le metriche e i log di CloudWatch nel namespace AWS/SageMaker.

Le seguenti tabelle elencano i parametri e le dimensioni per gli elementi seguenti:

  • Invocazioni dell'endpoint

  • Processi di addestramento, processi di trasformazione in batch e istanze di endpoint

Una dimensione è una coppia nome/valore che identifica un parametro in modo univoco. Puoi assegnare a un parametro fino a 10 dimensioni. Per ulteriori informazioni sul monitoraggio con CloudWatch, consulta Metriche di Amazon SageMaker AI in Amazon CloudWatch.

Parametri di invocazione dell'endpoint

Lo spazio dei nomi AWS/SageMaker include i seguenti parametri di richiesta dalle chiamate a InvokeEndpoint.

I parametri sono segnalati a intervalli di 1 minuto.

Parametro Descrizione
Invocation4XXErrors

Numero di richieste InvokeEndpoint per cui il modello ha restituito un codice di risposta HTTP 4xx. Per ogni risposta 4xx, SageMaker AI invia 1.

Unità: nessuna

Statistiche valide: Average, Sum

Invocation5XXErrors

Numero di richieste InvokeEndpoint per cui il modello ha restituito un codice di risposta HTTP 5xx. Per ogni risposta 5xx, SageMaker AI invia 1.

Unità: nessuna

Statistiche valide: Average, Sum

Invocations

Richieste number of InvokeEndpoint inviate a un endpoint di un modello.

Per ottenere il numero totale di richieste inviate a un endpoint di un modello, utilizza la statistica Sum.

Unità: nessuna

Statistiche valide: Sum, Sample Count

InvocationsPerInstance

Numero di invocazioni degli endpoint inviate a un modello, normalizzato da InstanceCount in ogni ProductionVariant. SageMaker AI invia 1/numberOfInstances come valore per ciascuna richiesta, dove numberOfInstances è il numero di istanze attive per la ProductionVariant nell’endpoint al momento della richiesta.

Unità: nessuna

Statistiche valide: Sum

ModelLatency Il tempo richiesto dal modello o dai modelli per rispondere. Questo include il tempo richiesto per inviare la richiesta, recuperare la risposta dal container di modello e completare l'inferenza nel container. ModelLatency è il tempo totale impiegato da tutti i container in una pipeline di inferenza.

Unità: microsecondi

Statistiche valide: Average, Sum, Min, Max, conteggio di esempio

OverheadLatency

Il tempo aggiunto al tempo richiesto per rispondere a una richiesta client da SageMaker AI per le operazioni di gestione. La misurazione di OverheadLatency ha inizio dal momento in cui SageMaker AI riceve la richiesta finché non restituisce una risposta al client, meno il valore di ModelLatency. La latenza di gestione può variare in base alle dimensioni di payload di richiesta e risposta, frequenza delle richieste e autenticazione o autorizzazione della richiesta, tra gli altri fattori.

Unità: microsecondi

Statistiche valide: Average, Sum, Min, Max, Sample Count

ContainerLatency Il tempo impiegato da un container delle pipeline di inferenza per rispondere come visualizzato da SageMaker AI. ContainerLatency include il tempo impiegato per inviare la richiesta, recuperare la risposta dal container del modello e completare l’inferenza nel container.

Unità: microsecondi

Statistiche valide: Average, Sum, Min, Max, Sample Count

Dimensioni dei parametri di invocazione dell'endpoint

Dimensione Descrizione
EndpointName, VariantName, ContainerName

Filtra i parametri di invocazione dell'endpoint per un ProductionVariant presso l'endpoint specificato e la variante specificata.

Per un endpoint della pipeline di inferenza, CloudWatch elenca le metriche di latenza per container nell’account come Parametri container endpoint e Parametri variante endpoint nel namespace SageMaker AI, come descritto di seguito. Il parametro ContainerLatency viene visualizzato solo per pipeline di inferenza.

La dashboard di CloudWatch per una pipeline di inferenza.

Per ogni endpoint e ogni container, i parametri di latenza visualizzano i nomi di container, endpoint, variante e metrica.

I parametri di latenza per un endpoint.

Parametri delle istanze endpoint, dei processi di addestramento e dei processi di trasformazione in batch

Gli spazi dei nomi /aws/sagemaker/TrainingJobs, /aws/sagemaker/TransformJobs e /aws/sagemaker/Endpoints includono i seguenti parametri per i processi di addestramento e le istanze endpoint.

I parametri sono segnalati a intervalli di 1 minuto.

Parametro Descrizione
CPUUtilization

Percentuale di unità CPU utilizzate dai container in esecuzione su un'istanza. Il valore varia da 0% a 100% ed è moltiplicato per il numero di CPU. Ad esempio, se ci sono quattro CPU, CPUUtilization può variare da 0% a 400%.

Per i processi di addestramento, CPUUtilization corrisponde all'utilizzo della CPU del container di algoritmi in esecuzione sull'istanza.

Per i processi di trasformazione in batch, CPUUtilization corrisponde all'utilizzo della CPU del container di trasformazione in esecuzione sull'istanza.

Per modelli multi-container, CPUUtilization è la somma dell'utilizzo della CPU per tutti i container in esecuzione sull'istanza.

Per le varianti di endpoint, CPUUtilization è la somma dell'utilizzo della CPU per tutti i container in esecuzione nell'istanza.

Unità: percentuale

MemoryUtilization

Percentuale di memoria utilizzata dai container in esecuzione su un'istanza. Questo valore è compreso tra 0% e 100%.

Per i processi di addestramento, MemoryUtilization è la memoria utilizzata dal container degli algoritmi in esecuzione sull'istanza.

Per i processi di trasformazione in batch, MemoryUtilization è la memoria utilizzata dal container di trasformazione in esecuzione sull'istanza.

Per i modelli multi-container, MemoryUtilization è la somma della memoria utilizzata da tutti i container in esecuzione sull'istanza.

Per le varianti di endpoint, MemoryUtilization è la somma della memoria utilizzata da tutti i container in esecuzione sull'istanza.

Unità: percentuale

GPUUtilization

La percentuale di unità GPU utilizzata dai container in esecuzione su un'istanza. GPUUtilization varia da 0% a 100% ed è moltiplicata per il numero di GPU. Ad esempio, se ci sono quattro GPU, GPUUtilization può variare da 0% a 400%.

Per i processi di addestramento, GPUUtilization è la GPU utilizzata dal container degli algoritmi in esecuzione sull'istanza.

Per i processi di trasformazione in batch, GPUUtilization è la GPU utilizzata dal container di trasformazione in esecuzione sull'istanza.

Per modelli multi-container, GPUUtilization è la somma della GPU utilizzata da tutti i container in esecuzione sull'istanza.

Per le varianti di endpoint, GPUUtilization è la somma della GPU utilizzata da tutti i container in esecuzione sull'istanza.

Unità: percentuale

GPUMemoryUtilization

Percentuale di memoria GPU utilizzata dai container in esecuzione su un'istanza. GPUMemoryUtilization varia da 0% a 100% ed è moltiplicata per il numero di GPU. Ad esempio, se ci sono quattro GPU, GPUMemoryUtilization può variare da 0% a 400%.

Per i processi di addestramento, GPUMemoryUtilization è la memoria GPU utilizzata dal container degli algoritmi in esecuzione sull'istanza.

Per i processi di trasformazione in batch, GPUMemoryUtilization è la memoria GPU utilizzata dal container di trasformazione in esecuzione sull'istanza.

Per i modelli multi-container, GPUMemoryUtilization è la somma della GPU utilizzata da tutti i container in esecuzione sull'istanza.

Per le versioni di endpoint, GPUMemoryUtilization è la somma della memoria GPU utilizzata da tutti i container in esecuzione nell'istanza.

Unità: percentuale

DiskUtilization

Percentuale di spazio su disco utilizzata dai container in esecuzione su un'istanza. DiskUtilization varia da 0% a 100%. Questo parametro non è supportato per i processi di trasformazione in batch.

Per i processi di addestramento, DiskUtilization è lo spazio su disco utilizzato dal container degli algoritmi in esecuzione sull'istanza.

Per le varianti di endpoint, DiskUtilization è la somma dello spazio su disco utilizzato da tutti i container forniti in esecuzione sull'istanza.

Unità: percentuale

Dimensioni dei parametri delle istanze dell'endpoint, dei processi di addestramento e dei processi di trasformazione in batch

Dimensione Descrizione
Host

Per i processi di addestramento, Host ha il formato [training-job-name]/algo-[instance-number-in-cluster]. Utilizza questa dimensione per filtrare i parametri di istanza per i processi di addestramento e l'istanza specificati. Questo formato di dimensione è presente solo nello spazio dei nomi /aws/sagemaker/TrainingJobs.

Per i processi di trasformazione in batch, Host ha il formato [transform-job-name]/[instance-id]. Utilizza questa dimensione per filtrare i parametri dell'istanza per il processo di trasformazione in batch e l'istanza specificati. Questo formato di dimensione è presente solo nello spazio dei nomi /aws/sagemaker/TransformJobs.

Per gli endpoint, Host ha il formato [endpoint-name]/[ production-variant-name ]/[instance-id]. Utilizza questa dimensione per filtrare i parametri di istanza per l'endpoint, la variante e l'istanza specificati. Questo formato di dimensione è presente solo nello spazio dei nomi /aws/sagemaker/Endpoints.

Per semplificare il debug dei job di addestramento, degli endpoint e delle configurazioni del ciclo di vita delle istanze del notebook, SageMaker AI invia inoltre a Amazon CloudWatch Logs tutto ciò che un container di algoritmi, un container di modelli o una configurazione del ciclo di vita delle istanze del notebook invia a stdout o stderr. Puoi utilizzare queste informazioni per il debug e l'analisi dell'avanzamento.

Utilizzo di log per monitorare una pipeline di inferenza

La tabella seguente elenca i gruppi di log e i flussi di log inviati da SageMaker AI ad Amazon CloudWatch

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.

Log

Nome gruppo di log Nome flusso di log
/aws/sagemaker/TrainingJobs

[training-job-name]/algo-[instance-number-in-cluster]-[epoch_timestamp]

/aws/sagemaker/Endpoints/[EndpointName]

[production-variant-name]/[instance-id]

[production-variant-name]/[instance-id]

[production-variant-name]/[instance-id]/[container-name provided in the SageMaker AI model] (For Inference Pipelines) Per i log delle pipeline di inferenza, se non fornisci nomi di container, CloudWatch usa **container-1, container-2** e così via, nell'ordine in cui i container vengono forniti nel modello.

/aws/sagemaker/NotebookInstances

[notebook-instance-name]/[LifecycleConfigHook]

/aws/sagemaker/TransformJobs

[transform-job-name]/[instance-id]-[epoch_timestamp]

[transform-job-name]/[instance-id]-[epoch_timestamp]/data-log

[transform-job-name]/[instance-id]-[epoch_timestamp]/[container-name provided in the SageMaker AI model] (For Inference Pipelines) Per i log delle pipeline di inferenza, se non fornisci nomi di container, CloudWatch usa **container-1, container-2** e così via, nell'ordine in cui i container vengono forniti nel modello.

Nota

SageMaker AI crea il gruppo di log /aws/sagemaker/NotebookInstances quando crei un’istanza del notebook con una configurazione del ciclo di vita. Per ulteriori informazioni, consulta Personalizzazione di un’istanza del notebook SageMaker con uno script LCC.

Per ulteriori informazioni sulla registrazione di log di SageMaker AI, consulta Log di CloudWatch per Amazon SageMaker AI.