Baisse de performance d'un modèle en production (dérive des données)
Aucune erreur technique : la dégradation se voit dans les métriques métier (précision passée de 0,82 à 0,51).
Détecter
Le modèle de détection d'anomalies génère deux fois plus de fausses alertes qu'au lancement ; les équipes d'exploitation commencent à l'ignorer.
Symptômes
Le modèle de détection d'anomalies génère deux fois plus de fausses alertes qu'au lancement ; les équipes d'exploitation commencent à l'ignorer.
Environnement
Modèle entraîné sur 12 mois d'historique, servi en production depuis 6 mois, suivi dans MLflow.
Cause racine
Dérive des données : la distribution des entrées a changé (nouvelle version applicative, nouveaux clients, saisonnalité non couverte par l'entraînement). Le modèle n'a jamais été réévalué ni réentraîné.
Diagnostic
- Comparer les distributions actuelles et d'entraînement (PSI, test de Kolmogorov-Smirnov) par variable.
- Recalculer précision/rappel sur un échantillon récent étiqueté.
- Identifier les variables qui dérivent le plus et l'événement déclencheur.
Solution
Réentraîner sur une fenêtre récente incluant la nouvelle situation, réévaluer contre le modèle en place (champion/challenger), déployer si meilleur, ajuster le seuil de décision selon le coût FP/FN.
Commandes
from scipy.stats import ks_2samp
stat, p = ks_2samp(train["latency_ms"], recent["latency_ms"])
print(f"KS={stat:.3f} p={p:.4f}")
Prévention
Supervision de la dérive et des performances, boucle d'étiquetage continue, réentraînement planifié, registre de modèles avec critères de promotion.