Le monitoring ML consiste à surveiller un modèle en production pour détecter la dégradation de ses performances, souvent silencieuse. Contrairement à une application classique, un modèle peut continuer à répondre sans erreur tout en devenant de moins en moins pertinent, à cause du drift : l'évolution des données dans le temps.
Ce guide explique pourquoi surveiller un modèle, distingue les types de drift, montre comment le détecter avec Evidently (code testé), liste les indicateurs à suivre et les outils. Il complète le cycle MLOps. Public : intermédiaire à avancé.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre pourquoi un modèle se dégrade en production.
- Distinguer data drift, concept drift et model drift.
- Détecter une dérive avec Evidently.
- Suivre les bons indicateurs.
- Déclencher un réentraînement au bon moment.
Pourquoi surveiller un modèle ?
Section intitulée « Pourquoi surveiller un modèle ? »Un modèle ML se dégrade sans prévenir. Il n'y a ni erreur ni plantage : les prédictions restent techniquement valides, mais deviennent progressivement fausses parce que le monde a changé. Un modèle de détection de fraude entraîné l'an dernier ignore les fraudes d'aujourd'hui.
Deux difficultés rendent cette surveillance particulière. D'abord, la vérité terrain (la bonne réponse) arrive souvent en retard : on ne sait qu'un client a résilié que des semaines plus tard. Ensuite, les métriques système habituelles (latence, uptime) ne disent rien de la pertinence des prédictions. Il faut surveiller les données et les sorties du modèle.
Les types de drift
Section intitulée « Les types de drift »Le drift est la cause principale de dégradation. On en distingue plusieurs formes :
- Data drift : la distribution des données d'entrée change (nouvelle saison, nouveau segment d'utilisateurs), même si la logique reste la même.
- Concept drift : la relation entre les entrées et la cible change (la définition de la fraude évolue). Le modèle raisonne alors sur une réalité périmée.
- Model drift : le terme générique pour la perte de performance qui en résulte avec le temps.
Détecter le data drift tôt permet d'anticiper la baisse de performance, avant même de disposer des vraies réponses.
Détecter le drift avec Evidently
Section intitulée « Détecter le drift avec Evidently »Evidently est une bibliothèque open source qui compare un jeu de données de référence (l'entraînement) à un jeu courant (la production) et signale les dérives. Installez-la dans un environnement isolé :
pip install evidently==0.7.21On compare ici une feature dont la distribution a dérivé (moyenne passée de 0 à 0,8) :
import pandas as pd, numpy as npfrom evidently import Dataset, DataDefinition, Reportfrom evidently.presets import DataDriftPreset
ref = pd.DataFrame({"feature": np.random.normal(0.0, 1, 500)}) # référencecur = pd.DataFrame({"feature": np.random.normal(0.8, 1, 500)}) # production
schema = DataDefinition(numerical_columns=["feature"])ref_ds = Dataset.from_pandas(ref, data_definition=schema)cur_ds = Dataset.from_pandas(cur, data_definition=schema)
report = Report([DataDriftPreset()])snapshot = report.run(current_data=cur_ds, reference_data=ref_ds)snapshot.save_html("drift_report.html")Evidently détecte que 100 % des colonnes ont dérivé (part de 1,0), avec une
p-value de l'ordre de 1e-25 : la dérive est franche et statistiquement
indiscutable. Le rapport drift_report.html généré visualise les
distributions comparées, à intégrer dans un tableau de bord ou un pipeline.
Les indicateurs à surveiller
Section intitulée « Les indicateurs à surveiller »Un bon monitoring ML combine plusieurs niveaux d'indicateurs :
- Distribution des données d'entrée : détecter le data drift feature par feature.
- Distribution des prédictions : un modèle qui prédit soudain toujours la même classe est suspect.
- Performance (quand les étiquettes arrivent) : précision, rappel, erreur.
- Indicateurs système : latence et disponibilité du service d'inférence.
Les outils de monitoring
Section intitulée « Les outils de monitoring »| Outil | Usage |
|---|---|
| Evidently AI | Détection de drift et qualité des données, rapports |
| Prometheus + Grafana | Métriques système (latence, disponibilité) |
| Arize AI / WhyLabs | Monitoring managé, alertes sur performances et biais |
Une approche pragmatique combine Evidently pour le drift et Prometheus + Grafana pour la partie infrastructure.
Quand réentraîner ?
Section intitulée « Quand réentraîner ? »Détecter un drift ne suffit pas, il faut agir. Trois stratégies :
- Réentraînement programmé : à intervalle fixe (hebdomadaire, mensuel), simple mais parfois inutile ou trop tardif.
- Réentraînement déclenché : automatiquement quand le drift dépasse un seuil défini. Plus réactif.
- Rollback : revenir à une version antérieure plus stable en attendant.
Réentraîner trop souvent gaspille des ressources, trop rarement dégrade la valeur métier. Le bon réflexe est de définir des seuils explicites de drift.
Questions fréquentes
Section intitulée « Questions fréquentes »Qu'est-ce que le monitoring ML ?
Section intitulée « Qu'est-ce que le monitoring ML ? »La surveillance d'un modèle en production pour détecter la dégradation de ses performances, notamment via le drift des données, avant qu'elle n'impacte les décisions.
Quelle différence entre data drift et concept drift ?
Section intitulée « Quelle différence entre data drift et concept drift ? »Le data drift est un changement de la distribution des entrées ; le concept drift est un changement de la relation entre entrées et cible. Les deux dégradent le modèle, le second de façon plus profonde.
Comment détecter le drift d'un modèle ?
Section intitulée « Comment détecter le drift d'un modèle ? »En comparant un jeu de référence aux données de production avec un outil comme Evidently, qui mesure statistiquement l'écart de distribution et signale les dérives.
À retenir
Section intitulée « À retenir »- Un modèle se dégrade silencieusement : ni erreur ni plantage, juste des prédictions de moins en moins justes.
- Le drift est la cause : data drift (entrées) et concept drift (relation entrées/cible).
- Evidently détecte le drift en comparant référence et production.
- Surveillez données, prédictions et performance, pas seulement la latence.
- Définissez des seuils pour déclencher le réentraînement au bon moment.