Observability
Entdecke die Bedeutung der Beobachtbarkeit in KI und ML. Erfahre, wie du komplexe Systeme debuggst, die Leistung von Ultralytics YOLO26 überwachst und tiefe Einblicke in Modelle gewinnst.
Beobachtbarkeit bezeichnet die Fähigkeit, den internen Zustand eines komplexen Systems allein anhand seiner externen Ausgaben zu verstehen. In den sich schnell entwickelnden Bereichen der Künstlichen Intelligenz (AI) und des maschinellen Lernens (ML) geht Beobachtbarkeit über einfache Statusprüfungen hinaus und liefert tiefe Einblicke in die Frage, warum sich ein Modell auf eine bestimmte Weise verhält. Da moderne Deep-Learning-Architekturen (DL) – wie das hochmoderne YOLO26 – zunehmend komplexer werden, können sie oft als „Blackboxen“ funktionieren. Werkzeuge für Beobachtbarkeit schaffen ein transparentes Fenster in diese Systeme. So können Entwicklungsteams unerwartetes Verhalten debuggen, die Grundursachen von Fehlern zurückverfolgen und die Zuverlässigkeit in Produktionsumgebungen sicherstellen.
Beobachtbarkeit vs. Monitoring#
Obwohl sie häufig synonym verwendet werden, erfüllen Beobachtbarkeit und Modellüberwachung im MLOps-Lebenszyklus unterschiedliche, sich jedoch ergänzende Aufgaben.
- Modellüberwachung ist reaktiv und konzentriert sich auf „bekannte Unbekannte“. Dabei werden vordefinierte Metriken wie Inferenzlatenz, CPU-Auslastung oder Fehlerraten anhand festgelegter Schwellenwerte überwacht. Monitoring beantwortet die Frage: „Ist das System gesund?“
- Beobachtbarkeit ist proaktiv und befasst sich mit „unbekannten Unbekannten“. Sie liefert detaillierte Daten – Protokolle, Traces und Ereignisse mit hoher Kardinalität –, die erforderlich sind, um neuartige Probleme zu untersuchen, die bei der Vorbereitung der Trainingsdaten nicht vorhergesehen wurden. Wie im Google-SRE-Buch beschrieben, ermöglicht ein beobachtbares System, neue Verhaltensweisen zu verstehen, ohne neuen Code bereitzustellen. Es beantwortet die Frage: „Warum verhält sich das System so?“
Die drei Säulen der Beobachtbarkeit#
Um echte Beobachtbarkeit in Computer-Vision-Pipelines (CV) zu erreichen, stützen sich Systeme typischerweise auf drei grundlegende Arten von Telemetriedaten:
-
Protokolle: Zeitgestempelte, unveränderliche Aufzeichnungen einzelner Ereignisse. In einer Erkennungspipeline könnte ein Protokoll die Auflösung des Eingabebilds oder die spezifische Konfiguration für das Hyperparameter-Tuning erfassen, die während eines Durchlaufs verwendet wurde. Strukturiertes Protokollieren, häufig im JSON-Format, ermöglicht komplexe Abfragen und Analysen.
-
Metriken: Über einen bestimmten Zeitraum erfasste aggregierte numerische Daten, etwa die durchschnittliche Präzision, der Speicherverbrauch oder die GPU-Auslastung. Werkzeuge wie Prometheus und Grafana sind Standard für die Speicherung dieser Zeitreihendaten und die Visualisierung von Trends.
-
Traces: Beim Tracing wird der Lebenszyklus einer Anfrage verfolgt, während sie verschiedene Microservices durchläuft. Für verteilte KI-Anwendungen helfen Standards wie OpenTelemetry dabei, den Weg einer Anfrage abzubilden und Engpässe in der Inferenz-Engine oder Netzwerkverzögerungen hervorzuheben. Spezialisierte Werkzeuge wie Jaeger helfen bei der Visualisierung dieser verteilten Transaktionen.
Beobachtbarkeit in Python implementieren#
Du kannst die Beobachtbarkeit in deinen Trainingspipelines verbessern, indem du Rückruffunktionen verwendest, um bestimmte interne Zustände zu protokollieren. Das folgende Beispiel zeigt, wie du einer YOLO26-Trainingseinheit eine benutzerdefinierte Rückruffunktion hinzufügst, um Leistungsmetriken in Echtzeit zu überwachen.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Define a custom callback for observability
def on_train_epoch_end(trainer):
# Access and print specific metrics at the end of each epoch
map50 = trainer.metrics.get("metrics/mAP50(B)", 0)
print(f"Observability Log - Epoch {trainer.epoch + 1}: mAP50 is {map50:.4f}")
# Register the callback and start training
model.add_callback("on_train_epoch_end", on_train_epoch_end)
model.train(data="coco8.yaml", epochs=3)Anwendungen in der Praxis#
Beobachtbarkeit ist entscheidend für die Bereitstellung leistungsstarker Modelle in dynamischen Umgebungen, in denen Testdaten möglicherweise nicht exakt den Bedingungen der realen Welt entsprechen.
- Autonome Fahrzeuge: Bei der Entwicklung autonomer Fahrzeuge ermöglicht Beobachtbarkeit Ingenieuren, den exakten Systemzustand während eines Deaktivierungsereignisses zu rekonstruieren. Durch die Korrelation von Ausgaben der Objekterkennung mit Sensorsprotokollen und Steuerbefehlen können Teams feststellen, ob ein Bremsfehler durch Sensorrauschen, einen fehlerhaften Modell-Output oder einen Logikfehler im Planungsmodul verursacht wurde.
- Medizinische Diagnostik: Bei KI im Gesundheitswesen ist eine gleichbleibende Leistung für die Patientensicherheit von entscheidender Bedeutung. Werkzeuge für Beobachtbarkeit können Datenabweichungen erkennen, wenn sich die Leistung eines Modells verschlechtert, sobald es auf Bildern eines neuen Typs von MRT-Scanner angewendet wird. Traces können zeigen, ob das Problem auf eine Änderung der Datenvorverarbeitung von Bildern oder auf eine Verschiebung der Eingabeverteilung zurückzuführen ist. Dadurch wird eine schnelle Behebung ermöglicht, ohne die Sicherheit von KI-Systemen zu beeinträchtigen.
Integration in moderne Werkzeuge#
Moderne Arbeitsabläufe integrieren Beobachtbarkeit häufig direkt in die Trainingsplattform. Nutzer der Ultralytics Platform profitieren von der integrierten Visualisierung von Verlustkurven, Systemleistung und Datensatzanalysen. Darüber hinaus ermöglichen Standardintegrationen mit Werkzeugen wie TensorBoard und MLflow Datenwissenschaftlern, über den gesamten Lebenszyklus des Modells hinweg eine strenge Experimentverfolgung und Beobachtbarkeit aufrechtzuerhalten.









