Model Monitoring
Entdecke die Bedeutung von Modellüberwachung in der KI. Erfahre, wie du Data Drift und Leistungsmetriken verfolgst und die Ultralytics Platform nutzt, um Ultralytics YOLO26 robust zu halten.
Modellüberwachung bezeichnet die fortlaufende Praxis, die Leistung von Modellen des maschinellen Lernens (ML) nach ihrer Bereitstellung in der Produktion zu verfolgen, zu analysieren und zu bewerten. Während herkömmliche Software in der Regel deterministisch arbeitet und für eine bestimmte Eingabe dauerhaft dieselbe Ausgabe erwartet, basieren Vorhersagemodelle auf statistischen Mustern, die sich im Laufe der Zeit verändern können. Wenn sich die reale Umgebung ändert, können sich auch die Daten verschieben, die diesen Modellen zugeführt werden, wodurch Genauigkeit oder Zuverlässigkeit abnehmen können. Die Überwachung stellt sicher, dass Systeme der künstlichen Intelligenz (AI) weiterhin einen Mehrwert liefern, indem Probleme wie Datenverschiebungen oder Konzeptverschiebungen erkannt werden, bevor sie sich negativ auf Geschäftsergebnisse oder die Benutzererfahrung auswirken.
Die Bedeutung der Überwachung nach der Bereitstellung#
Im Lebenszyklus des Betriebs maschineller Lernsysteme (MLOps) ist die Bereitstellung nicht das Ende. Ein mit historischen Daten trainiertes Modell bildet die Welt zu einem bestimmten Zeitpunkt ab. Im Laufe der Zeit können externe Faktoren – etwa saisonale Veränderungen, wirtschaftliche Veränderungen oder neues Nutzerverhalten – die zugrunde liegende Datenverteilung verändern. Dieses als Datenverschiebung bekannte Phänomen kann zu „stillen Fehlern“ führen: Das Modell erzeugt Vorhersagen ohne Fehlermeldungen, doch deren Qualität liegt unter den akzeptablen Standards.
Eine effektive Überwachung macht diese subtilen Veränderungen sichtbar. Durch die Festlegung von Referenzwerten anhand von Validierungsdaten und deren Vergleich mit laufenden Datenströmen aus der Produktion können Entwicklungsteams Anomalien frühzeitig erkennen. Dieser proaktive Ansatz ermöglicht rechtzeitiges Nachtrainieren des Modells oder Aktualisierungen und stellt so sicher, dass Systeme wie autonome Fahrzeuge oder Algorithmen zur Betrugserkennung sicher und effektiv bleiben.
Wichtige Kennzahlen bei der Modellüberwachung#
Um ein ML-System in gutem Zustand zu halten, verfolgen Fachleute eine Vielzahl von Kennzahlen, die im Allgemeinen in drei Kategorien fallen:
- Kennzahlen zur Dienstzuverlässigkeit: Sie erfassen den Betriebszustand der Inferenz-Engine. Zu den wichtigsten Indikatoren gehören die Inferenzlatenz (wie lange eine Vorhersage dauert) und die Nutzung von Systemressourcen, etwa des GPU-Speichers. Tools wie Prometheus werden häufig verwendet, um diese systemweiten Kennzahlen abzurufen und zu speichern.
- Kennzahlen zur Datenqualität: Sie stellen sicher, dass die Eingabedaten dem erwarteten Schema und der erwarteten statistischen Verteilung entsprechen. Ein plötzlicher Anstieg fehlender Werte oder eine Verschiebung des Mittelwerts eines Merkmals kann beispielsweise auf eine fehlerhafte vorgelagerte Datenpipeline hindeuten. Statistische Tests wie der Kolmogorow-Smirnow-Test helfen dabei, den Abstand zwischen den Verteilungen von Trainings- und Produktionsdaten zu quantifizieren.
- Leistungskennzahlen: Idealerweise überwachen Teams Kennzahlen anhand von Referenzwerten wie Genauigkeit, Präzision und Trefferquote. In der Produktion sind echte Labels jedoch oft verzögert verfügbar oder nicht vorhanden. In solchen Fällen werden Ersatzkennzahlen wie Konfidenz-werte der Vorhersagen oder die Stabilität der Ausgabeverteilung verwendet, um den Zustand zu beurteilen.
Anwendungen in der Praxis#
Die Überwachung von Modellen ist in verschiedenen Branchen entscheidend, in denen automatisierte Entscheidungen Abläufe und Sicherheit beeinflussen:
- Computer Vision in der Fertigung: In der intelligenten Fertigung erkennen Modelle zur visuellen Inspektion Fehler an Montagelinien. Im Laufe der Zeit können sich Staubpartikel auf Kameraobjektiven ansammeln oder sich die Fabrikbeleuchtung verändern, sodass das Modell fehlerfreie Teile fälschlicherweise als fehlerhaft klassifiziert. Die Überwachung der Rate positiver Erkennungen hilft dabei, diese Verschiebung zu erkennen und eine Wartung oder Neukalibrierung mithilfe der Ultralytics Platform anzustoßen.
- Erkennung von Finanzbetrug: Banken nutzen ML, um verdächtige Transaktionen zu kennzeichnen. Kriminelle passen ihre Strategien ständig an, um einer Erkennung zu entgehen, was zu einer Konzeptverschiebung führt. Durch die Überwachung des Verhältnisses gekennzeichneter Transaktionen und die Untersuchung des Feedbacks menschlicher Prüfer können Datenwissenschaftler Modelle schnell aktualisieren, damit sie neue Betrugsmuster erkennen.
Überwachung und Beobachtbarkeit#
Es ist hilfreich, zwischen Überwachung und Beobachtbarkeit zu unterscheiden, da sie sich ergänzende Aufgaben erfüllen. Die Modellüberwachung ist typischerweise reaktiv und konzentriert sich auf „bekannte Unbekannte“. Mithilfe von Dashboards werden Teams benachrichtigt, wenn bestimmte Kennzahlen einen Schwellenwert überschreiten (z. B. wenn die Genauigkeit unter 90 % fällt). Die Beobachtbarkeit untersucht die „unbekannten Unbekannten“ eingehender und stellt detaillierte Protokolle und Traces bereit, mit denen Entwickler analysieren können, warum eine bestimmte Vorhersage fehlgeschlagen ist oder warum ein Modell eine bestimmte Bevölkerungsgruppe durch Verzerrungen in der künstlichen Intelligenz benachteiligt.
Beispiel: Überwachung der Vorhersagekonfidenz#
Eine einfache Möglichkeit, den Zustand eines Computer-Vision-Modells zu überwachen, besteht darin, die durchschnittliche Konfidenz seiner Vorhersagen zu verfolgen. Ein deutlicher Rückgang der Konfidenz kann darauf hindeuten, dass das Modell auf Daten trifft, für deren Verarbeitung es nicht trainiert wurde.
Hier ist ein Python-Beispiel, das YOLO26 verwendet, um Konfidenzwerte aus einem Bildstapel für Überwachungszwecke zu extrahieren:
import numpy as np
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on a source (e.g., a video frame or image list)
results = model(["bus.jpg", "zidane.jpg"])
# Extract confidence scores for monitoring
for i, result in enumerate(results):
# Get the confidence scores for all detected objects
confidences = result.boxes.conf.cpu().numpy()
if len(confidences) > 0:
avg_conf = np.mean(confidences)
print(f"Image {i}: Average Detection Confidence: {avg_conf:.3f}")
else:
print(f"Image {i}: No objects detected.")Durch die regelmäßige Protokollierung dieser Statistiken können Teams mithilfe von Tools wie Grafana oder den Überwachungsfunktionen der Ultralytics Platform zeitliche Trends visualisieren und so sicherstellen, dass Modelle in dynamischen Umgebungen robust bleiben.









