Observability (Beobachtbarkeit)
Entdecken Sie die Bedeutung der Beobachtbarkeit in KI und ML. Erfahren Sie, wie Sie komplexe Systeme debuggen, die Leistung Ultralytics überwachen und tiefgreifende Einblicke in Modelle gewinnen können.
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 (KI)
und maschinellen Lernens (ML)geht die Beobachtbarkeit über einfache Statusprüfungen hinaus und liefert tiefe Einblicke in die Gründe, warum sich ein Modell auf eine
bestimmte Weise verhält. Als modernes
Deep-Learning-Architekturen (DL)
Architekturen – wie beispielsweise das hochmoderne
YOLO26– immer ausgefeilter werden, können sie oft wie „Black Boxes“ funktionieren. Observability-Tools schaffen
ein transparentes Fenster in diese Systeme und ermöglichen es den Entwicklerteams, unerwartete Verhaltensweisen zu debuggen, die Ursachen von Fehlern zu verfolgen
und die Zuverlässigkeit in Produktionsumgebungen sicherzustellen.
Beobachtbarkeit vs. Überwachung
Obwohl die Begriffe „Beobachtbarkeit“ und „Modellüberwachung“ oft synonym verwendet werden,
Modellüberwachung dienen unterschiedlichen
, aber sich ergänzenden Zwecken innerhalb von
MLOps Lebenszyklus.
-
Modellüberwachung
ist reaktiv und konzentriert sich auf „bekannte Unbekannte“. Dabei werden vordefinierte Metriken wie
Inferenzlatenz, CPU oder Fehlerraten anhand festgelegter Schwellenwerte. Die Überwachung beantwortet die Frage: „Ist das System
intakt?”
-
Beobachtbarkeit ist proaktiv und befasst sich mit „unbekannten Unbekannten“. Sie liefert detaillierte
Daten – Protokolle, Traces und Ereignisse mit hoher Kardinalität –, die zur Untersuchung neuartiger Probleme erforderlich sind, die während der
Schulung nicht vorhergesehen wurden Trainingsdaten beschrieben. Wie
im
Google Bookbeschrieben, ermöglicht ein beobachtbares System das Verständnis neuer Verhaltensweisen, ohne neuen Code ausliefern zu müssen. Es beantwortet die Frage:
„Warum verhält sich das System so?“
Die drei Säulen der Observability
Um echte Beobachtbarkeit in
Computer Vision (CV) Pipelines zu erreichen,
stützen sich Systeme in der Regel auf drei primäre Arten von Telemetriedaten:
-
Protokolle: Zeitgestempelte, unveränderliche Aufzeichnungen
diskreter Ereignisse. In einer Erkennungs-Pipeline kann ein Protokoll beispielsweise die Auflösung des Eingabebildes oder die spezifische
Hyperparameter-Optimierung
, die während eines Laufs verwendet wurde. Strukturierte Protokollierung, häufig in
JSON-Format Format, ermöglicht komplexe Abfragen
und Analysen.
-
Metriken: Aggregierte numerische Daten, die über einen bestimmten Zeitraum gemessen werden, wie beispielsweise die durchschnittliche
Genauigkeit, Speicherverbrauch oder
GPU -Auslastung.
Tools wie Prometheus und
Grafana sind Standard für die Speicherung dieser Zeitreihendaten zur
Visualisierung von Trends.
-
Traces: Tracing verfolgt den Lebenszyklus einer Anfrage, während sie durch verschiedene Microservices fließt. Für
verteilte KI-Anwendungen bieten Standards wie
OpenTelemetry dabei, den Weg einer Anfrage abzubilden und
Engpässe in der
Inferenz-Engine oder Netzwerkverzögerungen
hervor. Spezialisierte Tools wie Jaeger helfen bei der Visualisierung
dieser verteilten Transaktionen.
Implementierung von Observability in Python
Sie können die Beobachtbarkeit in Ihren Trainingspipelines verbessern, indem Sie Callbacks verwenden, um bestimmte interne Zustände zu protokollieren. Das
folgende Beispiel zeigt, wie Sie einen benutzerdefinierten Callback zu einem
YOLO26 Trainingssitzung hinzugefügt wird, 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)
Anwendungsfälle in der Praxis
Beobachtbarkeit ist entscheidend für den Einsatz von Hochleistungsmodellen in dynamischen Umgebungen, in denen
Testdaten möglicherweise nicht perfekt mit den
realistischen Bedingungen
-
Autonome Fahrzeuge: Bei der Entwicklung von
autonomen Fahrzeugenermöglicht die Beobachtbarkeit den Ingenieuren, den genauen Zustand des Systems während eines Disengagement-Ereignisses zu rekonstruieren. Durch die
Korrelation von
Objekterkennung mit
Sensorprotokollen und Steuerbefehlen können Teams feststellen, ob ein Bremsfehler durch Sensorrauschen, einen Modellvorhersagefehler
oder einen Logikfehler im Planungsmodul verursacht wurde.
-
Gesundheitsdiagnostik: In
KI im Gesundheitswesenist die Gewährleistung einer konsistenten Leistung für die Patientensicherheit von entscheidender Bedeutung. Beobachtbarkeitstools können detect
Datenabweichungen , wenn die Leistung eines Modells
sich verschlechtert, wenn es auf Bilder von einem neuen MRT-Scannertyp angewendet wird. Traces können aufdecken, ob das Problem auf eine Änderung
der Datenvorverarbeitung
Datenvorverarbeitung oder einer Verschiebung
der Eingabeverteilung zurückzuführen ist, was eine schnelle Behebung ermöglicht, ohne die
Sicherheit der KI.
Integration mit modernen Tools
Moderne Workflows integrieren die Beobachtbarkeit oft direkt in die Trainingsplattform. Nutzer der
Ultralytics profitieren von der integrierten
Visualisierung von Verlustkurven, Systemleistung und Datensatzanalysen. Darüber hinaus bieten Standardintegrationen mit Tools
wie TensorBoard und
MLflow ermöglichen es Datenwissenschaftlern,
eine strenge Nachverfolgung und Beobachtbarkeit von Experimenten über den gesamten Modelllebenszyklus hinweg aufrechtzuerhalten.