Protokolle und Metriken der Inferenz-Pipeline - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Protokolle und Metriken der Inferenz-Pipeline

Die Überwachung ist wichtig, um die Zuverlässigkeit, Verfügbarkeit und Leistung der SageMaker Amazon-Ressourcen aufrechtzuerhalten. Verwenden Sie CloudWatch Amazon-Protokolle und Fehlermeldungen, um die Leistung der Inferenz-Pipeline zu überwachen und Fehler zu beheben. Informationen zu den bereitgestellten Überwachungstools finden Sie unterTools zur Überwachung der bei der Nutzung von Amazon bereitgestellten AWS Ressourcen SageMaker. SageMaker

Verwenden von Metriken zum Überwachen von Multicontainer-Modellen

Verwenden Sie Amazon, um die Multi-Container-Modelle in Inference Pipelines zu überwachen. CloudWatch CloudWatchsammelt Rohdaten und verarbeitet sie zu lesbaren Metriken, die nahezu in Echtzeit verfügbar sind. SageMakerTrainingsjobs und Endpunkte schreiben CloudWatch Metriken und Protokolle in den AWS/SageMaker Namespace.

Die folgenden Tabellen listen die Metriken und Dimensionen für Folgendes auf:

  • Endpunkt-Aufrufe

  • Trainingsaufträge, Stapeltransformationsaufträge und Endpunkt-Instances

Eine Dimension ist ein Name-Wert-Paar, durch das eine Metrik eindeutig identifiziert wird. Sie können einer Metrik bis zu 10 Dimensionen zuweisen. Weitere Informationen zur Überwachung mit CloudWatch finden Sie unter. Metriken für die Überwachung von Amazon SageMaker mit Amazon CloudWatch

Kennzahlen für Endpunktaufrufe

Der AWS/SageMaker-Namespace enthält die folgenden Anforderungsmetriken von InvokeEndpoint-Aufrufen.

Metriken werden in Intervallen von einer Minute gemeldet.

Metrik Beschreibung
Invocation4XXErrors

Die Anzahl der InvokeEndpoint Anfragen, für die das Modell einen 4xx HTTP Antwortcode zurückgegeben hat. SageMaker Sendet für jede 4xx Antwort eine1.

Einheiten: keine

Gültige Statistiken: Average, Sum

Invocation5XXErrors

Die Anzahl der InvokeEndpoint Anfragen, für die das Modell einen 5xx HTTP Antwortcode zurückgegeben hat. SageMaker Sendet für jede 5xx Antwort eine1.

Einheiten: keine

Gültige Statistiken: Average, Sum

Invocations

Die an einen Modellendpunkt gesendeten number of InvokeEndpoint-Anforderungen.

Mit der Sum-Statistik können Sie die Gesamtanzahl der an einen Modellendpunkt gesendeten Anforderungen abrufen.

Einheiten: keine

Gültige Statistiken: Sum, Sample Count

InvocationsPerInstance

Die Anzahl der an ein Modell gesendeten Endpunktaufrufen, jeweils normalisiert durchInstanceCount. ProductionVariant SageMakersendet 1/ numberOfInstances als Wert für jede Anfrage, wobei die Anzahl der aktiven Instanzen für den am Endpunkt zum ProductionVariant Zeitpunkt der Anfrage angegebenen Wert numberOfInstances ist.

Einheiten: keine

Gültige Statistiken: Sum

ModelLatency Die Zeit, die das/die Modell(e) für die Antwort gebraucht hat/haben. Dies umfasst die Zeit, die zum Senden der Anforderung, zum Abrufen der Antwort vom Modell-Container und zum Abschluss der Inferenz in dem Container benötigt wurde. ModelLatency ist die Gesamtzeit von allen Containern in einer Inferenz-Pipeline.

Einheiten: Mikrosekunden

Gültige Statistiken: Average, Sum, Min, Max, SampleCount

OverheadLatency

Die Zeit, die zu der Zeit hinzukommt, die SageMaker für die Beantwortung einer Client-Anfrage benötigt wurde, um Overhead. OverheadLatencywird von der Zeit des Eingangs SageMaker der Anfrage bis zur Rückgabe einer Antwort an den Client gemessen, abzüglich derModelLatency. Die Overhead-Latenz kann in Abhängigkeit von mehreren Faktoren variieren. Diese Faktoren sind beispielsweise die Größe der Nutzlast für Anfragen und Antworten, die Häufigkeit von Anfragen und die Authentifizierung oder Autorisierung der Anfrage.

Einheiten: Mikrosekunden

Gültige Statistiken: Average, Sum, Min, Max, Sample Count

ContainerLatency Die Zeit, die ein Inference Pipelines-Container benötigt hat, um zu antworten, wie von angezeigt. SageMaker ContainerLatencybeinhaltet die Zeit, die benötigt wurde, um die Anfrage zu senden, die Antwort aus dem Container des Modells abzurufen und die Inferenz im Container abzuschließen.

Einheiten: Mikrosekunden

Gültige Statistiken: Average, Sum, Min, Max, Sample Count

Dimensionen für Kennzahlen für den Aufruf von Endpunkten

Dimension Beschreibung
EndpointName, VariantName, ContainerName

Filtert Endpunktaufrufmetriken für ein ProductionVariant am angegebenen Endpunkt und für die angegebene Variante.

Für einen Inferenz-Pipeline-Endpunkt CloudWatch listet die Latenzmetriken pro Container in Ihrem Konto wie folgt als Endpunkt-Container-Metriken und Endpunktvarianten-Metriken im SageMakerNamespace auf. Die ContainerLatency-Metrik wird nur für Inferenz-Pipelines angezeigt.

Das CloudWatch Dashboard für eine Inferenz-Pipeline.

Für jeden Endpunkt und jeden Container zeigen die Latenzmetriken die Namen für den Container, den Endpunkt, die Variante und die Metrik an.

Die Latenzmetriken für einen Endpunkt.

Trainingsauftrag-, Stapeltransformationsauftrag- und Endpunkt-Instance-Metriken

Die Namespaces /aws/sagemaker/TrainingJobs, /aws/sagemaker/TransformJobs und /aws/sagemaker/Endpoints beinhalten die folgenden Metriken für die Trainingsaufträge und Endpunkt-Instances.

Metriken werden in Intervallen von einer Minute gemeldet.

Metrik Beschreibung
CPUUtilization

Der Prozentsatz der CPU Einheiten, die von den Containern verwendet werden, die auf einer Instance ausgeführt werden. Der Wert liegt zwischen 0% und 100% und wird mit der Anzahl von CPUs multipliziert. Wenn es beispielsweise vier gibtCPUs, CPUUtilization kann der Wert zwischen 0 und 400% liegen.

Für Trainingsjobs CPUUtilization wird die CPU Nutzung des Algorithmus-Containers auf der Instance ausgeführt.

Bei Batch-Transformationsjobs CPUUtilization ist dies die CPU Nutzung des Transformationscontainers, der auf der Instance ausgeführt wird.

Bei Modellen mit mehreren Containern CPUUtilization ist dies die Summe der CPU Nutzung durch alle Container, die auf der Instance ausgeführt werden.

Bei Endpunktvarianten CPUUtilization ist dies die Summe der CPU Nutzung durch alle Container, die auf der Instance ausgeführt werden.

Einheiten: Prozent

MemoryUtilization

Der Prozentsatz des Speichers, der von den Containern auf einer Instance belegt wird. Dieser Wert reicht von 0 bis 100 %.

Bei Trainingsaufträgen ist MemoryUtilization der vom Algorithmus-Container auf der Instance verwendete Speicher.

Bei Stapeltransformationsaufträgen ist MemoryUtilization ist der vom Transformationscontainer auf der Instance verwendete Speicher.

Bei Multi-Container-Modellen ist MemoryUtilization ist die Summe des Speichers für alle Container, die auf der Instance ausgeführt werden.

Bei Endpunkt-Varianten ist MemoryUtilization die Summe des Speichers für alle Container, die auf der Instance ausgeführt werden.

Einheiten: Prozent

GPUUtilization

Der Prozentsatz der GPU Einheiten, die von den Containern verwendet werden, die auf einer Instance ausgeführt werden. GPUUtilizationreicht von 0% bis 100% und wird mit der Anzahl von GPUs multipliziert. Wenn es beispielsweise vier gibtGPUs, GPUUtilization kann der Wert zwischen 0 und 400% liegen.

Für Trainingsjobs GPUUtilization wird der vom Algorithmus GPU verwendete Container auf der Instanz ausgeführt.

Bei Batch-Transformationsjobs GPUUtilization wird der vom Transformationscontainer GPU verwendete Container verwendet, der auf der Instanz ausgeführt wird.

Bei Modellen mit mehreren Containern GPUUtilization ist dies die Summe der Daten, die von allen Containern GPU verwendet werden, die auf der Instance ausgeführt werden.

Bei Endpunktvarianten GPUUtilization ist dies die Summe der Daten, die von allen Containern GPU verwendet werden, die auf der Instance ausgeführt werden.

Einheiten: Prozent

GPUMemoryUtilization

Der Prozentsatz des GPU Speichers, der von den Containern verwendet wird, die auf einer Instance ausgeführt werden. GPUMemoryUtilizationreicht von 0% bis 100% und wird mit der Anzahl von GPUs multipliziert. Wenn es beispielsweise vier gibtGPUs, GPUMemoryUtilization kann der Wert zwischen 0 und 400% liegen.

Wird der GPU Speicher, GPUMemoryUtilization der vom Algorithmuscontainer verwendet wird, für Trainingsjobs verwendet, der auf der Instance ausgeführt wird.

Bei Batch-Transformationsjobs GPUMemoryUtilization ist dies der GPU Speicher, der vom Transformationscontainer verwendet wird, der auf der Instance ausgeführt wird.

Bei Modellen mit mehreren Containern GPUMemoryUtilization ist dies die Summe der GPU Nutzung durch alle Container, die auf der Instance ausgeführt werden.

Bei Endpunktvarianten GPUMemoryUtilization ist dies die Summe des GPU Speichers, der von allen Containern verwendet wird, die auf der Instance ausgeführt werden.

Einheiten: Prozent

DiskUtilization

Der Prozentsatz des Festplattenspeichers, der von den Containern genutzt wird, die auf einer Instance ausgeführt werden. DiskUtilization reicht von 0 bis 100%. Diese Metrik wird für Stapeltransformationsaufträge nicht unterstützt.

Bei Trainingsaufträgen ist DiskUtilization der Speicherplatz, den der Algorithmus-Container auf der Instance verwendet.

Bei Endpunkt-Varianten ist DiskUtilization ist die Summe des Speicherplatzes für alle bereitgestellten Container auf der Instance.

Einheiten: Prozent

Dimensions for Training Job, Batch Transform Job, and Endpoint Instance Metrics (Dimensionen für Instance-Metriken für Trainingsaufträge, Stapeltransformationsaufträge und Endpunkte)

Dimension Beschreibung
Host

Bei Trainingsaufträgen hat Host das Format [training-job-name]/algo-[instance-number-in-cluster]. Mit dieser Dimension können Sie Instance-Metriken für den angegebenen Trainingsauftrag und die Instance filtern. Dieses Dimensionsformat ist nur im Namensraum /aws/sagemaker/TrainingJobs vorhanden.

Bei Stapeltransformationsaufträgen hat Host das Format [transform-job-name]/[instance-id]. Mit dieser Dimension können Sie Instance-Kennzahlen für den angegebenen Stapeltransformationsauftrag und die Instance filtern. Dieses Dimensionsformat ist nur im Namensraum /aws/sagemaker/TransformJobs vorhanden.

Bei Endpunkten hat Host das Format [endpoint-name]/[ production-variant-name ]/[instance-id]. Mit dieser Dimension können Sie Instance-Metriken für den angegebenen Endpunkt sowie die Variante und die Instance filtern. Dieses Dimensionsformat ist nur im Namensraum /aws/sagemaker/Endpoints vorhanden.

Um Ihnen beim Debuggen Ihrer Trainingsjobs, Endpunkte und Lebenszykluskonfigurationen für Notebooks zu helfen, sendet es SageMaker auch alles, was ein Algorithmuscontainer, ein Modellcontainer oder eine Notebook-Instance-Lebenszykluskonfiguration sendet, an stdout oder stderr an Amazon CloudWatch Logs. Sie können diese Informationen zum Debugging und zur Fortschrittanalyse verwenden.

Verwenden von Protokollen zum Überwachen einer Inferenz-Pipeline

In der folgenden Tabelle sind die Log-Gruppen und Log-Streams SageMaker aufgeführt. sendet an Amazon CloudWatch

Ein Protokollstream ist eine Abfolge von Protokollereignissen, die dieselbe Quelle nutzen. Jede einzelne Logquelle CloudWatch bildet einen separaten Log-Stream. Eine Protokollgruppe ist eine Gruppe von Protokollstreams, die dieselben Einstellungen für die Aufbewahrung, Überwachung und Zugriffskontrolle besitzen.

Protokolle

Protokollgruppenname Protokollstreamname
/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 model] (For Inference Pipelines)Wenn Sie bei Inference Pipelines keine Containernamen angeben, CloudWatch verwenden Sie **Container-1, Container-2** usw. in der Reihenfolge, in der die Container im Modell bereitgestellt werden.

/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 model] (For Inference Pipelines)Wenn Sie für Inferenz-Pipeline-Logs keine Containernamen angeben, CloudWatch verwendet Sie**Container-1, Container-2** usw. in der Reihenfolge, in der die Container im Modell bereitgestellt werden.

Anmerkung

SageMakererstellt die /aws/sagemaker/NotebookInstances Protokollgruppe, wenn Sie eine Notebook-Instanz mit einer Lebenszykluskonfiguration erstellen. Weitere Informationen finden Sie unter Anpassung einer SageMaker Notebook-Instanz mithilfe eines LCC Skripts.

Weitere Informationen zur SageMaker Protokollierung finden Sie unterProtokollgruppen und Streams, die Amazon SageMaker an Amazon CloudWatch Logs sendet.