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 unterÜberwachen Sie AWS die bei der Nutzung von Amazon bereitgestellten 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. Überwachen Sie 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-Anforderungen, bei denen das Modell den HTTP-Antwortcode 4xx zurückgegeben hat. SageMaker Sendet für jede 4xx Antwort eine1.

Einheiten: keine

Gültige Statistiken: Average, Sum

Invocation5XXErrors

Die Anzahl der InvokeEndpoint-Anforderungen, bei denen das Modell den HTTP-Antwortcode 5xx 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 von Endpunktaufrufen, die an ein Modell gesendet wurden, jeweils normalisiert durchInstanceCount. ProductionVariant SageMakersendet 1/ numberOfInstances als Wert für jede Anfrage, wobei numberOfInstances es sich um die Anzahl der aktiven Instances für den ProductionVariant am Endpunkt zum Zeitpunkt der Anfrage handelt.

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 listet Latenzmetriken für jeden Endpunkt und jeden Container auf.

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 auf einer Instance verwendet werden. Der Wert reicht von 0 % bis 100 % und wird mit der Anzahl der CPUs multipliziert. Wenn beispielsweise vier CPUs genutzt werden, CPUUtilization kann zwischen 0 % und 400 % liegen.

Bei Trainingsaufträgen ist CPUUtilization die CPU-Auslastung des Algorithmus-Containers auf der Instance.

Bei Stapeltransformationsaufträgen ist CPUUtilization die CPU-Auslastung des Transformationscontainers auf der Instance.

Bei Multi-Container-Modellen ist CPUUtilization die Summe der CPU-Auslastung für alle Container, die auf der Instance ausgeführt werden.

Bei Endpunkt-Varianten ist CPUUtilization die Summe der CPU-Auslastung für 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. GPUUtilization reicht von 0 % bis 100 % und wird mit der Anzahl der GPUs multipliziert. Wenn beispielsweise vier GPUs genutzt werden, kann GPUUtilization zwischen 0 % und 400 % liegen.

Bei Trainingsaufträgen ist GPUUtilization der GPU-Anteil, den der Algorithmus-Container auf der Instance verwendet.

Bei Stapeltransformationsaufträgen ist GPUUtilization der GPU-Anteil, den der Transformationscontainer auf der Instance verwendet.

Bei Multi-Container-Modellen ist GPUUtilization die GPU-Summe für alle Container auf der Instance.

Bei Endpunkt-Varianten ist GPUUtilization die GPU-Summe für alle Container auf der Instance.

Einheiten: Prozent

GPUMemoryUtilization

Der Prozentsatz des GPU-Speichers, der von den Containern auf einer Instance belegt wird. MemoryUtilization Die GPU liegt zwischen 0 und 100% und wird mit der Anzahl der GPUs multipliziert. Wenn beispielsweise vier GPUs genutzt werden, kann GPUMemoryUtilization zwischen 0 % und 400 % liegen.

Bei Trainingsaufträgen ist GPUMemoryUtilization der GPU-Speicher, den der Algorithmus-Container auf der Instance belegt.

Bei Stapeltransformationsaufträgen ist GPUMemoryUtilization der GPU-Arbeitsspeicher, den der Transformationscontainer auf der Instance belegt.

Bei Multi-Container-Modellen ist GPUMemoryUtilization die GPU-Summe, die von allen Containern auf der Instance verwendet wird.

Bei Endpunkt-Varianten ist GPUMemoryUtilization die Summe des GPU-Speichers, die von allen Containern auf der Instance verwendet wird.

Einheiten: Prozent

DiskUtilization

Der Prozentsatz des Festplattenspeichers, der von den Containern verwendet wird, die auf einer Instanz 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 Passen Sie eine SageMaker Notebook-Instanz mithilfe eines LCC-Skripts an.

Weitere Informationen zur SageMaker Protokollierung finden Sie unter SageMaker Amazon-Ereignisse mit Amazon protokollieren CloudWatch.