Model Monitoring
Explore l'importance de la surveillance des modèles dans l'IA. Apprends à suivre la dérive des données, les métriques de performance et à utiliser la plateforme Ultralytics pour garder Ultralytics YOLO26 robuste.
La surveillance de modèle est la pratique continue consistant à suivre, analyser et évaluer les performances des modèles d'Apprentissage automatique (ML) une fois qu'ils ont été déployés en production. Alors que les logiciels traditionnels fonctionnent généralement de manière déterministe — en attendant indéfiniment la même sortie pour une entrée donnée — les modèles prédictifs reposent sur des modèles statistiques qui peuvent évoluer au fil du temps. À mesure que l'environnement réel change, les données transmises à ces modèles peuvent dériver, entraînant une dégradation de la précision ou de la fiabilité. La surveillance garantit que les systèmes d'Intelligence artificielle (IA) continuent de fournir de la valeur en identifiant des problèmes comme la dérive des données ou la dérive de concept avant qu'ils n'impactent négativement les résultats commerciaux ou l'expérience utilisateur.
Link to this sectionL'importance de la supervision post-déploiement#
Dans le cycle de vie des Opérations d'apprentissage automatique (MLOps), le déploiement n'est pas la ligne d'arrivée. Un modèle entraîné sur des données historiques représente un instantané du monde à un moment précis. Au fil du temps, des facteurs externes — tels que les changements saisonniers, les évolutions économiques ou les nouveaux comportements des utilisateurs — peuvent altérer la distribution sous-jacente des données. Ce phénomène, connu sous le nom de dérive des données, peut entraîner des "échecs silencieux" où le modèle produit des prédictions sans message d'erreur, mais où la qualité de ces prédictions tombe en dessous des normes acceptables.
Une surveillance efficace offre une visibilité sur ces changements subtils. En établissant des lignes de base à l'aide de données de validation et en les comparant aux flux de production en direct, les équipes d'ingénierie peuvent détecter les anomalies précocement. Cette approche proactive permet un réentraînement de modèle ou des mises à jour opportunes, garantissant que des systèmes comme les véhicules autonomes ou les algorithmes de détection de fraude restent sûrs et efficaces.
Link to this sectionMétriques clés de la surveillance de modèle#
Pour maintenir un système ML sain, les praticiens suivent une variété de métriques qui se divisent généralement en trois catégories :
- Métriques de fiabilité du service : Celles-ci suivent la santé opérationnelle du moteur d'inférence. Les indicateurs clés incluent la latence d'inférence (le temps nécessaire pour une prédiction) et l'utilisation des ressources système, comme l'utilisation de la mémoire GPU. Des outils comme Prometheus sont couramment utilisés pour collecter et stocker ces métriques au niveau du système.
- Métriques de qualité des données : Celles-ci garantissent que les données d'entrée correspondent au schéma et à la distribution statistique attendus. Par exemple, une augmentation soudaine des valeurs manquantes ou un déplacement de la valeur moyenne d'une caractéristique pourrait indiquer un pipeline de données en amont défectueux. Des tests statistiques comme le test de Kolmogorov-Smirnov aident à quantifier la distance entre les distributions d'entraînement et de production.
- Métriques de performance : Idéalement, les équipes surveillent des métriques de vérité terrain comme la précision, la précision et le rappel. Cependant, en production, les vraies étiquettes sont souvent retardées ou indisponibles. Dans de tels cas, des métriques de substitution comme les scores de confiance des prédictions ou la stabilité de la distribution de sortie sont utilisées pour évaluer la santé du modèle.
Link to this sectionApplications concrètes#
La surveillance de modèle est critique dans diverses industries où les décisions automatisées impactent les opérations et la sécurité :
- Vision par ordinateur dans la fabrication : Dans la fabrication intelligente, les modèles d'inspection visuelle détectent les défauts sur les lignes d'assemblage. Au fil du temps, les objectifs des caméras peuvent accumuler de la poussière ou l'éclairage de l'usine peut changer, amenant le modèle à mal classer des pièces non défectueuses comme défectueuses. La surveillance du taux de détections positives aide à identifier cette dérive, incitant à une maintenance ou une recalibration en utilisant la Ultralytics Platform.
- Détection de la fraude financière : Les banques utilisent le ML pour signaler les transactions suspectes. Les criminels adaptent constamment leurs stratégies pour échapper à la détection, ce qui conduit à une dérive de concept. En surveillant le ratio des transactions signalées et en étudiant les retours des examinateurs humains, les data scientists peuvent rapidement mettre à jour les modèles pour reconnaître de nouveaux modèles de fraude.
Link to this sectionSurveillance vs Observabilité#
It is helpful to distinguish between monitoring and observability, as they serve complementary roles. Model Monitoring is typically reactive and focused on "known unknowns," using dashboards to alert teams when specific metrics breach a threshold (e.g., accuracy drops below 90%). Observability digs deeper into the "unknown unknowns," providing granular logs and traces that allow engineers to debug why a specific prediction failed or why a model exhibits bias in AI against a certain demographic.
Link to this sectionExemple : Suivi de la confiance de prédiction#
Un moyen simple de surveiller la santé d'un modèle de vision par ordinateur consiste à suivre la confiance moyenne de ses prédictions. Une baisse significative de la confiance pourrait indiquer que le modèle rencontre des données pour lesquelles il n'a pas été entraîné.
Voici un exemple Python utilisant YOLO26 pour extraire les scores de confiance d'un lot d'images à des fins de surveillance :
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.")Consigner régulièrement ces statistiques permet aux équipes de visualiser les tendances au fil du temps en utilisant des outils comme Grafana ou les fonctionnalités de surveillance au sein de la Ultralytics Platform, garantissant que les modèles restent robustes dans des environnements dynamiques.






