Observability
Erkunde die Bedeutung von Observability in KI und ML. Lerne, wie man komplexe Systeme debuggt, die Performance von Ultralytics YOLO26 überwacht und tiefe Einblicke in Modelle gewinnt.
Observability bezeichnet die Fähigkeit, den internen Zustand eines komplexen Systems allein anhand seiner externen Ausgaben zu verstehen. In den sich schnell entwickelnden Bereichen Künstliche Intelligenz (KI) und Machine Learning (ML) geht Observability über einfache Statusprüfungen hinaus und liefert tiefe Einblicke darin, warum sich ein Modell auf eine bestimmte Weise verhält. Da moderne Deep Learning (DL)-Architekturen – wie das hochmoderne YOLO26 – immer komplexer werden, funktionieren sie oft wie "Black Boxes". Observability-Tools schaffen ein transparentes Fenster in diese Systeme und ermöglichen es Entwicklungsteams, unerwartetes Verhalten zu debuggen, die Grundursachen von Fehlern nachzuvollziehen und die Zuverlässigkeit in Produktionsumgebungen sicherzustellen.
Link to this sectionObservability vs. Monitoring#
Obwohl sie oft synonym verwendet werden, erfüllen Observability und Modell-Monitoring innerhalb des MLOps-Lebenszyklus unterschiedliche, aber sich ergänzende Zwecke.
- Modell-Monitoring ist reaktiv und konzentriert sich auf "bekannte Unbekannte". Es beinhaltet die Verfolgung vordefinierter Metriken wie Inferenzlatenz, CPU-Auslastung oder Fehlerraten im Vergleich zu festgelegten Schwellenwerten. Monitoring beantwortet die Frage: "Ist das System gesund?"
- Observability ist proaktiv und befasst sich mit "unbekannten Unbekannten". Sie liefert granulare Daten – Logs, Traces und hochgradig spezifische Ereignisse –, die zur Untersuchung neuartiger Probleme erforderlich sind, die während der Vorbereitung der Trainingsdaten nicht vorhersehbar waren. Wie im Google SRE Book beschrieben, ermöglicht dir ein beobachtbares System, neue Verhaltensweisen zu verstehen, ohne neuen Code ausrollen zu müssen. Sie beantwortet die Frage: "Warum verhält sich das System so?"
Link to this sectionDie drei Säulen der Observability#
Um echte Observability in Computer Vision (CV)-Pipelines zu erreichen, verlassen sich Systeme in der Regel auf drei primäre Arten von Telemetriedaten:
-
Logs: Zeitgestempelte, unveränderliche Aufzeichnungen diskreter Ereignisse. In einer Erkennungspipeline kann ein Log die Auflösung des Eingabebildes oder die spezifische Hyperparameter-Optimierung erfassen, die während eines Laufs verwendet wurde. Strukturiertes Logging, oft im JSON-Format, ermöglicht komplexe Abfragen und Analysen.
-
Metriken: Aggregierte numerische Daten, die über die Zeit gemessen werden, wie z. B. durchschnittliche Präzision, Speicherverbrauch oder GPU-Auslastung. Tools wie Prometheus und Grafana sind Standard für die Speicherung dieser Zeitreihendaten, um Trends zu visualisieren.
-
Traces: Tracing verfolgt den Lebenszyklus einer Anfrage, während sie durch verschiedene Microservices fließt. Für verteilte KI-Anwendungen helfen Standards wie OpenTelemetry, den Pfad einer Anfrage abzubilden und Engpässe in der Inferenz-Engine oder Netzwerkverzögerungen aufzuzeigen. Spezielle Tools wie Jaeger helfen dabei, diese verteilten Transaktionen zu visualisieren.
Link to this sectionImplementierung von Observability in Python#
Du kannst die Observability in deinen Trainings-Pipelines verbessern, indem du Callbacks verwendest, um spezifische interne Zustände zu protokollieren. Das folgende Beispiel zeigt, wie du einen benutzerdefinierten Callback zu einer YOLO26-Trainingseinheit 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)Link to this sectionPraxisanwendungen#
Observability ist entscheidend für den Einsatz von Hochleistungsmodellen in dynamischen Umgebungen, in denen Testdaten möglicherweise nicht perfekt mit realen Bedingungen übereinstimmen.
- Autonome Fahrzeuge: Bei der Entwicklung von autonomen Fahrzeugen ermöglicht Observability Ingenieuren, den exakten Zustand des Systems während eines Disengagement-Ereignisses zu rekonstruieren. Durch die Korrelation von Objekterkennungs-Ausgaben mit Sensor-Logs und Steuerbefehlen können Teams feststellen, ob ein Bremsfehler durch Sensorrauschen, einen Fehler in der Modellvorhersage oder einen Logikfehler im Planungsmodul verursacht wurde.
- Gesundheitsdiagnostik: Bei KI im Gesundheitswesen ist die Sicherstellung einer konsistenten Leistung entscheidend für die Patientensicherheit. Observability-Tools können Datendrift erkennen, wenn die Leistung eines Modells bei Anwendung auf Bilder eines neuen MRI-Scannertyps nachlässt. Traces können aufdecken, ob das Problem aus einer Änderung in der Bild-Datenvorverarbeitung oder einer Verschiebung der Eingabeverteilung resultiert, was eine schnelle Behebung ohne Beeinträchtigung der KI-Sicherheit ermöglicht.
Link to this sectionIntegration mit modernen Tools#
Moderne Workflows integrieren Observability oft direkt in die Trainingsplattform. Nutzer der Ultralytics Platform profitieren von integrierten Visualisierungen für Verlustkurven, Systemleistung und Datensatzanalysen. Darüber hinaus ermöglichen Standardintegrationen mit Tools wie TensorBoard und MLflow Datenwissenschaftlern, eine rigorose Experimentverfolgung und Observability über den gesamten Modell-Lebenszyklus hinweg aufrechtzuerhalten.






