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.
Implementierung der Inferenzbeobachtbarkeit auf Clustern HyperPod
Amazon SageMaker HyperPod bietet umfassende Funktionen zur Beobachtung von Inferenzen, mit denen Datenwissenschaftler und Ingenieure für maschinelles Lernen ihre eingesetzten Modelle überwachen und optimieren können. Diese Lösung wird durch SageMaker HyperPod Observability aktiviert und sammelt automatisch Leistungskennzahlen für Inferenz-Workloads. Dadurch wird eine produktionsbereite Überwachung über integrierte Prometheus- und Grafana-Dashboards ermöglicht.
Mit standardmäßig aktivierten Metriken erfasst die Plattform wichtige Modellleistungsdaten wie Aufruflatenz, gleichzeitige Anfragen, Fehlerraten und Metriken auf Token-Ebene und bietet gleichzeitig Standard-Prometheus-Endpunkte für Kunden, die es vorziehen, benutzerdefinierte Observability-Lösungen zu implementieren.
Anmerkung
Dieses Thema befasst sich eingehend mit der Implementierung von Inferenzbeobachtbarkeit in Clustern. HyperPod Eine allgemeinere Referenz finden Sie unter. Beobachtbarkeit von Clustern und Aufgaben
Dieses Handbuch enthält step-by-step Anweisungen zur Implementierung und Verwendung von Inferenzbeobachtbarkeit in Ihren HyperPod Clustern. Sie erfahren, wie Sie Metriken in Ihren YAML-Bereitstellungsdateien konfigurieren, je nach Ihrer Rolle (Administrator, Datenwissenschaftler oder Ingenieur für maschinelles Lernen) auf Monitoring-Dashboards zugreifen, benutzerdefinierte Observability-Lösungen mithilfe von Prometheus-Endpunkten integrieren und häufig auftretende Überwachungsprobleme beheben.
Unterstützte Inferenzmetriken
Aufrufmetriken
Diese Metriken erfassen Anforderungs- und Antwortdaten zur Modellinferenz und sorgen so für allgemeine Transparenz, unabhängig von Ihrem Modelltyp oder Serving-Framework. Wenn Inferenzmetriken aktiviert sind, werden diese Metriken zum Zeitpunkt des Aufrufs berechnet und in Ihre Monitoring-Infrastruktur exportiert.
-
model_invocations_total
- Gesamtzahl der Aufrufanfragen an das Modell -
model_errors_total
- Gesamtzahl der Fehler beim Modellaufruf -
model_concurrent_requests
- Aktive gleichzeitige Modellanfragen -
model_latency_milliseconds
- Modellieren Sie die Latenz bei Aufrufen in Millisekunden -
model_ttfb_milliseconds
- Modellieren Sie die Latenz von der Zeit bis zum ersten Byte in Millisekunden
Modellieren Sie Container-Metriken
Diese Metriken bieten Einblicke in die internen Abläufe Ihrer Modellcontainer, einschließlich Token-Verarbeitung, Warteschlangenverwaltung und Framework-spezifischer Leistungsindikatoren. Die verfügbaren Metriken hängen von Ihrem Model Serving-Framework ab:
Metrische Abmessungen
Alle Inferenzmetriken enthalten umfassende Labels, die eine detaillierte Filterung und Analyse Ihrer Bereitstellungen ermöglichen:
-
Cluster-Identität:
-
cluster_id
- Die eindeutige ID des HyperPod Clusters -
cluster_name
- Der Name des HyperPod Clusters
-
-
Identität der Ressource:
-
resource_name
— Name der Bereitstellung (z. B. "jumpstart-model-deployment„) -
resource_type
— Art der Bereitstellung (Jumpstart, Inferenzendpunkt) -
namespace
— Kubernetes-Namespace für Mehrmandantenfähigkeit
-
-
Eigenschaften des Modells:
-
model_name
- Spezifische Modell-ID (zum Beispiel „llama-2-7b-chat“) -
model_version
- Modellversion für Tests und Rollbacks A/B -
model_container_type
- Serving-Framework (TGI, LMI, -)
-
-
Kontext der Infrastruktur:
-
pod_name
- Individuelle Pod-ID zum Debuggen -
node_name
- Kubernetes-Knoten für Ressourcenkorrelation -
instance_type
- EC2 Instanztyp für die Kostenanalyse
-
-
Operativer Kontext:
-
metric_source
- Sammelstelle (Reverse-Proxy, Modellcontainer) -
task_type
- Klassifizierung der Arbeitslast (Inferenz)
-
Konfigurieren Sie Metriken im YAML-Bereitstellungsmodus
Amazon SageMaker HyperPod aktiviert standardmäßig Inferenzmetriken für alle Modellbereitstellungen und bietet so sofortige Beobachtbarkeit ohne zusätzliche Konfiguration. Sie können das Verhalten von Metriken anpassen, indem Sie die YAML-Konfiguration für die Bereitstellung ändern, um die Erfassung von Metriken je nach Ihren spezifischen Anforderungen zu aktivieren oder zu deaktivieren.
Stellen Sie ein Modell bereit von JumpStart
Verwenden Sie die folgende YAML-Konfiguration, um ein JuJumpStartmpStart Modell mit aktivierten Metriken bereitzustellen:
apiVersion: inference.sagemaker.aws.amazon.com/v1alpha1 kind: JumpStartModel metadata: name:mistral-model namespace: ns-team-a spec: model: modelId: "huggingface-llm-mistral-7b-instruct" modelVersion: "3.19.0" metrics: enabled:true # Default: true (can be set to false to disable) replicas: 2 sageMakerEndpoint: name: "mistral-model-sm-endpoint" server: instanceType: "ml.g5.12xlarge" executionRole: "arn:aws:iam::123456789:role/SagemakerRole" tlsConfig: tlsCertificateOutputS3Uri: s3://hyperpod/mistral-model/certs/
Stellen Sie benutzerdefinierte und fein abgestimmte Modelle von Amazon S3 oder Amazon bereit FSx
Konfigurieren Sie benutzerdefinierte Inferenzendpunkte mit detaillierten Metrikeinstellungen mithilfe der folgenden YAML:
apiVersion: inference.sagemaker.aws.amazon.com/v1alpha1 kind: JumpStartModel metadata: name:mistral-model namespace: ns-team-a spec: model: modelId: "huggingface-llm-mistral-7b-instruct" modelVersion: "3.19.0" metrics: enabled:true # Default: true (can be set to false to disable) replicas: 2 sageMakerEndpoint: name: "mistral-model-sm-endpoint" server: instanceType: "ml.g5.12xlarge" executionRole: "arn:aws:iam::123456789:role/SagemakerRole" tlsConfig: tlsCertificateOutputS3Uri: s3://hyperpod/mistral-model/certs/ Deploy a custom inference endpoint Configure custom inference endpoints with detailed metrics settings using the following YAML: apiVersion: inference.sagemaker.aws.amazon.com/v1alpha1 kind: InferenceEndpointConfig metadata: name: inferenceendpoint-deepseeks namespace: ns-team-a spec: modelName: deepseeks modelVersion: 1.0.1 metrics: enabled: true # Default: true (can be set to false to disable) metricsScrapeIntervalSeconds: 30 # Optional: if overriding the default 15s modelMetricsConfig: port: 8000 # Optional: if overriding, it defaults to the WorkerConfig.ModelInvocationPort.ContainerPort within the InferenceEndpointConfig spec 8080 path: "/custom-metrics" # Optional: if overriding the default "/metrics" endpointName: deepseek-sm-endpoint instanceType: ml.g5.12xlarge modelSourceConfig: modelSourceType: s3 s3Storage: bucketName: model-weights region: us-west-2 modelLocation: deepseek prefetchEnabled: true invocationEndpoint: invocations worker: resources: limits: nvidia.com/gpu: 1 requests: nvidia.com/gpu: 1 cpu: 25600m memory: 102Gi image: 763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.32.0-lmi14.0.0-cu124 modelInvocationPort: containerPort: 8080 name: http modelVolumeMount: name: model-weights mountPath: /opt/ml/model environmentVariables: ... tlsConfig: tlsCertificateOutputS3Uri: s3://hyperpod/inferenceendpoint-deepseeks4/certs/
Anmerkung
Um Metriken für bestimmte Bereitstellungen zu deaktivieren, legen Sie dies metrics.enabled:
false
in Ihrer YAML-Konfiguration fest.
Überwachen Sie Inferenz-Workloads nach Rollen und beheben Sie Fehler
Amazon SageMaker HyperPod bietet umfassende Observability-Funktionen, die verschiedene Benutzerworkflows unterstützen, von der anfänglichen Clustereinrichtung bis hin zur erweiterten Leistungsbehebung. Verwenden Sie je nach Ihrer Rolle und Ihren Überwachungsanforderungen die folgenden Anleitungen.
HyperPod Administrator
Ihre Verantwortung: Aktivieren Sie die Observability-Infrastruktur und stellen Sie die Systemintegrität im gesamten Cluster sicher.
Was Sie wissen müssen:
-
Clusterweite Observability bietet Infrastrukturkennzahlen für alle Workloads
-
Bei der Einrichtung mit nur einem Klick wird ein Monitoring-Stack mit vorkonfigurierten Dashboards bereitgestellt
-
Infrastrukturmetriken sind von modellspezifischen Inferenzmetriken getrennt
Was Sie tun müssen:
-
Navigiere zur HyperPod Konsole.
-
Wählen Sie Ihren Cluster aus.
-
Gehen Sie zu der HyperPod Cluster-Detailseite, die Sie gerade erstellt haben. Sie werden eine neue Option zur Installation des HyperPod Observability-Add-ons sehen.
-
Klicken Sie auf die Option Schnellinstallation. Nach 1-2 Minuten sind alle Schritte abgeschlossen und Sie sehen das Grafana-Dashboard und die Prometheus-Workspace-Details.
Diese einzelne Aktion stellt automatisch das EKS-Add-on bereit, konfiguriert Observability-Operatoren und stellt vorgefertigte Dashboards in Grafana bereit.
Datenwissenschaftler
Ihre Verantwortung: Stellen Sie Modelle effizient bereit und überwachen Sie deren grundlegende Leistung.
Was Sie wissen müssen:
-
Metriken werden automatisch aktiviert, wenn Sie Modelle bereitstellen
-
Grafana-Dashboards bieten sofortigen Einblick in die Modellleistung
-
Sie können Dashboards filtern, um sich auf Ihre spezifischen Bereitstellungen zu konzentrieren
Was Sie tun müssen:
-
Stellen Sie Ihr Modell mit Ihrer bevorzugten Methode bereit:
-
Amazon SageMaker Studio-Benutzeroberfläche
-
HyperPod CLI-Befehle
-
Python-SDK in Notizbüchern
-
kubectl mit YAML-Konfigurationen
-
-
Greifen Sie auf Ihre Modellmetriken zu:
-
Öffnen Sie Amazon SageMaker Studio
-
Navigieren Sie zu HyperPod Cluster und öffnen Sie das Grafana-Dashboard
-
Wählen Sie Inference Dashboard
-
Wenden Sie Filter an, um Ihre spezifische Modellbereitstellung anzuzeigen
-
-
Überwachen Sie die wichtigsten Leistungsindikatoren:
-
Verfolgen Sie die Latenz und den Datendurchsatz
-
Überwachen Sie Fehlerquoten und Verfügbarkeit
-
Überprüfen Sie die Trends bei der Ressourcennutzung
-
Sobald dieser Vorgang abgeschlossen ist, erhalten Sie ohne zusätzliche Konfiguration sofort einen Überblick über die Leistung Ihres Modells. So können Sie Probleme bei der Bereitstellung oder Leistungsänderungen schnell identifizieren.
Ingenieur für maschinelles Lernen (MLE)
Ihre Verantwortung: Aufrechterhaltung der Leistung des Produktionsmodells und Lösung komplexer Leistungsprobleme.
Was Sie wissen müssen:
-
Zu den erweiterten Metriken gehören Details zu Modellcontainern wie Warteschlangentiefen und Token-Metriken
-
Die Korrelationsanalyse über mehrere Metriktypen hinweg deckt die Hauptursachen auf
-
Konfigurationen mit automatischer Skalierung wirken sich direkt auf die Leistung bei Verkehrsspitzen aus
Hypothetisches Szenario: Das Chat-Modell eines Kunden reagiert zeitweise langsam. Benutzer beschweren sich über Verzögerungen von 5-10 Sekunden. Das MLE kann die Beobachtbarkeit von Inferenzen für systematische Leistungsuntersuchungen nutzen.
Was Sie tun müssen:
-
Untersuchen Sie das Grafana-Dashboard, um den Umfang und die Schwere des Leistungsproblems zu verstehen:
-
Warnung bei hoher Latenz, aktiv seit 09:30 Uhr
-
P99-Latenz: 8,2 s (normal: 2,1 s)
-
Betroffenes Zeitfenster: 09:30-10:15 (45 Minuten)
-
-
Korrelieren Sie mehrere Messwerte, um das Systemverhalten während des Vorfalls zu verstehen:
-
Gleichzeitige Anfragen: Die Zahl wurde auf 45 erhöht (normal: 15 bis 20)
-
Pod-Skalierung: KEDA hat während des Vorfalls 2 → 5 Pods skaliert
-
GPU-Auslastung: Blieb normal (85-90%)
-
Speichernutzung: Normal (24 GB/32 GB)
-
-
Untersuchen Sie das Verhalten verteilter Systeme, da die Infrastrukturkennzahlen normal zu sein scheinen:
-
Ansicht auf Knotenebene: Alle Pods konzentrierten sich auf denselben Knoten (schlechte Verteilung)
-
Modellcontainer-Metriken: Die Tiefe der TGI-Warteschlange zeigt 127 Anfragen an (normal: 5-10)
Available in Grafana dashboard under "Model Container Metrics" panel Metric: tgi_queue_size{resource_name="customer-chat-llama"} Current value: 127 requests queued (indicates backlog)
-
-
Identifizieren Sie miteinander verbundene Konfigurationsprobleme:
-
KEDA-Skalierungsrichtlinie: Zu langsam (Abfrageintervall von 30 Sekunden)
-
Zeitplan für die Skalierung: Die Reaktion bei der Skalierung blieb um mehr als 45 Sekunden hinter der Verkehrsspitze zurück
-
-
Implementieren Sie gezielte Korrekturen auf der Grundlage der Analyse:
-
Das KEDA-Abfrageintervall wurde aktualisiert: 30 s → 15 s
-
Mehr MaxReplicas in der Skalierungskonfiguration
-
Die Skalierungsschwellenwerte wurden angepasst, um früher zu skalieren (15 gegenüber 20 gleichzeitigen Anfragen)
-
Sie können komplexe Leistungsprobleme anhand umfassender Kennzahlen systematisch diagnostizieren, gezielte Lösungen implementieren und präventive Maßnahmen ergreifen, um eine konsistente Leistung des Produktionsmodells aufrechtzuerhalten.
Implementieren Sie Ihre eigene Observability-Integration
Amazon SageMaker HyperPod stellt Inferenzmetriken über branchenübliche Prometheus-Endpunkte zur Verfügung und ermöglicht so die Integration in Ihre bestehende Observability-Infrastruktur. Verwenden Sie diesen Ansatz, wenn Sie es vorziehen, benutzerdefinierte Überwachungslösungen zu implementieren oder in Observability-Plattformen von Drittanbietern zu integrieren, anstatt den integrierten Grafana- und Prometheus-Stack zu verwenden.
Greifen Sie auf Endpunkte für Inferenzmetriken zu
Was Sie wissen müssen:
-
Inferenzmetriken werden automatisch auf standardisierten Prometheus-Endpunkten verfügbar gemacht
-
Metriken sind unabhängig von Ihrem Modelltyp oder Serving-Framework verfügbar
-
Für die Datenerfassung gelten die üblichen Prometheus-Scraping-Praktiken
Konfiguration des Endpunkts für Inferenzmetriken:
-
Port: 9113
-
Pfad: /metrics
-
Vollständiger Endpunkt: http://pod-ip:9113/metrics
Verfügbare Inferenzmetriken:
-
model_invocations_total
- Gesamtzahl der Aufrufanfragen an das Modell -
model_errors_total
- Gesamtzahl der Fehler beim Modellaufruf -
model_concurrent_requests
- Aktive gleichzeitige Anfragen pro Modell -
model_latency_milliseconds
- Modellieren Sie die Latenz bei Aufrufen in Millisekunden -
model_ttfb_milliseconds
- Modellieren Sie die Latenz von der Zeit bis zum ersten Byte in Millisekunden
Greifen Sie auf Kennzahlen für Modellcontainer zu
Was Sie wissen müssen:
-
Modellcontainer stellen zusätzliche Metriken zur Verfügung, die für ihr Serving-Framework spezifisch sind
-
Diese Metriken bieten Einblicke in interne Container wie die Token-Verarbeitung und die Warteschlangentiefe
-
Die Endpunktkonfiguration variiert je nach Modell und Containertyp
Für JumpStart Modellbereitstellungen mit TGI-Containern (Text Generation Inference):
-
Port: 8080 (Modellcontainerport)
-
Pfad: /metrics
-
Dokumentation: https://huggingface. co/docs/text-generation-inference/en/reference/metrics
Für JumpStart Modellbereitstellungen mit Large Model Inference (LMI) -Containern:
-
Port: 8080 (Modellcontainerport)
-
Pfad: /server/metrics
-
Dokumentation: https://github.com/deepjavalibrary/ djl - .md serving/blob/master/prometheus/README
Für benutzerdefinierte Inferenzendpunkte (BYOD):
-
Port: Vom Kunden konfiguriert (Standard 8080). Standardmäßig ist der. WorkerConfig ModelInvocationPort. ContainerPort innerhalb der InferenceEndpointConfig Spezifikation.)
-
Pfad: Vom Kunden konfiguriert (Standard /metrics)
Implementieren Sie eine benutzerdefinierte Observability-Integration
Bei einer benutzerdefinierten Observability-Integration sind Sie verantwortlich für:
-
Metrics Scraping: Implementieren Sie Prometheus-kompatibles Scraping von den oben genannten Endpunkten
-
Datenexport: Konfigurieren Sie den Export auf die von Ihnen gewählte Observability-Plattform
-
Warnung: Richten Sie Warnregeln ein, die auf Ihren betrieblichen Anforderungen basieren
-
Dashboards: Erstellen Sie Visualisierungs-Dashboards für Ihre Überwachungsanforderungen
Beheben Sie Probleme mit der Beobachtbarkeit von Inferenzen
Das Dashboard zeigt keine Daten
Wenn das Grafana-Dashboard leer ist und in allen Bereichen „Keine Daten“ angezeigt wird, führen Sie zur Untersuchung die folgenden Schritte durch:
-
Stellen Sie sicher, dass der Administrator Inference Observability installiert hat:
-
Navigieren Sie zu HyperPod Konsole > Cluster auswählen > Prüfen Sie, ob der Status „Observability“ auf „Aktiviert“ steht
-
Stellen Sie sicher, dass der Grafana-Workspace-Link von der Cluster-Übersicht aus zugänglich ist
-
Bestätigen Sie, dass Amazon Managed Prometheus Workspace konfiguriert ist und Daten empfängt
-
-
Stellen Sie sicher, dass HyperPod Observability aktiviert ist:
hyp observability view
-
Stellen Sie sicher, dass Modellmetriken aktiviert sind:
kubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabled
kubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabled
-
Überprüfen Sie den Endpunkt der Metriken:
kubectl port-forward pod/customer-chat-llama-xxx 9113:9113 curl localhost:9113/metrics | grep model_invocations_total# Expected: model_invocations_total{...} metrics
-
Überprüfen Sie die Protokolle:
# Model Container kubectl logs customer-chat-llama-xxx -c customer-chat-llama# Look for: OOM errors, CUDA errors, model loading failures # Proxy/SideCar kubectl logs customer-chat-llama-xxx -c sidecar-reverse-proxy# Look for: DNS resolution issues, upstream connection failures # Metrics Exporter Sidecar kubectl logs customer-chat-llama-xxx -c otel-collector# Look for: Metrics collection issues, export failures
Andere häufig auftretende Probleme
Problem | Lösung | Aktion |
---|---|---|
Inference Observability ist nicht installiert |
Installieren Sie Inference Observability über die Konsole |
„Observability aktivieren“ in der Konsole HyperPod |
Metriken sind im Modell deaktiviert |
Modellkonfiguration aktualisieren |
|
AMP Workspace ist nicht konfiguriert |
Korrigieren Sie die Datenquellenverbindung |
Überprüfen Sie die AMP Workspace-ID in Grafana-Datenquellen |
Netzwerkkonnektivität |
Überprüfen Sie die Sicherheitsgruppen/ NACLs |
Stellen Sie sicher, dass Pods AMP-Endpunkte erreichen können |