Surveiller les performances d’un modèle en production
Détection de la dérive des données, signaux de dégradation du modèle, déclencheurs de réentraînement, bibliothèque evidently.
Surveiller les performances d’un modèle en production est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Pourquoi surveiller en production ?
Un model performant lors de son lancement peut se dégrader silencieusement à mesure que le monde change. La surveillance détecte rapidement cette dérive, avant qu'elle ne fasse discrètement chuter les métriques métier, afin que vous sachiez quand réentraîner le model.
Dérive des données ou dérive du concept
- Dérive des données : la distribution des entrées change, par exemple avec une nouvelle composition de la clientèle.
- Dérive du concept : la relation entre les entrées et la cible change, par exemple lorsque les facteurs prédictifs de l'attrition évoluent.
Les deux nuisent à la précision, mais la surveillance les détecte de manière différente.
PSI pour la dérive des données
Le Population Stability Index (PSI) compare la distribution actuelle d'une variable à une référence. Regroupez les deux distributions en intervalles, puis additionnez (now% - base%) * ln(now% / base%) sur tous les intervalles.
Interpréter les valeurs du PSI
Règles générales : PSI < 0.1, aucun changement significatif ; 0.1-0.25, changement modéré (à examiner) ; > 0.25, changement important (réentraînement probablement nécessaire). Le PSI est calculé pour chaque variable.
import numpy as np
def psi(base, now, bins=10):
edges = np.percentile(base, np.linspace(0, 100, bins + 1))
b_pct = np.histogram(base, edges)[0] / len(base) + 1e-6
n_pct = np.histogram(now, edges)[0] / len(now) + 1e-6
return np.sum((n_pct - b_pct) * np.log(n_pct / b_pct))Test KS des distributions
Le test de Kolmogorov-Smirnov (KS) compare deux distributions continues. Une petite valeur p signifie que la distribution en production diffère significativement de celle de l'entraînement, ce qui indique une dérive.
from scipy.stats import ks_2samp
stat, pvalue = ks_2samp(train_feature, prod_feature)
if pvalue < 0.05:
print("Distribution drift detected")PSI ou KS
- PSI : un nombre unique et interprétable, idéal pour les tableaux de bord et les seuils.
- KS : un test d'hypothèse statistique avec une valeur p, plus rigoureux pour les variables continues.
De nombreuses équipes présentent les deux côte à côte.
Qu'est-ce qu'Evidently ?
Evidently est une bibliothèque open source qui automatise les rapports de dérive et de qualité. Au lieu de coder chaque métrique manuellement, vous assemblez des vérifications prédéfinies et obtenez un rapport HTML/JSON.
# pip install evidently
from evidently.report import Report
from evidently.metric_preset import DataDriftPresetCréer un rapport avec DataDriftPreset
DataDriftPreset exécute une suite complète de tests de dérive sur toutes les colonnes, en comparant un jeu de données de référence (entraînement) aux données actuelles (production).
report = Report(metrics=[DataDriftPreset()])
report.run(
reference_data=train_df,
current_data=prod_df
)
report.save_html("drift_report.html")Extraire les résultats par programmation
Exportez le rapport sous forme de dictionnaire pour alimenter la logique d'alerte, afin que la surveillance s'exécute sans intervention selon un calendrier.
result = report.as_dict()
drift_share = result["metrics"][0]["result"]["dataset_drift"]
print("Dataset drift flag:", drift_share)Déclencher une alerte en cas de baisse de précision
Lorsque vous disposez d'étiquettes de référence, suivez la précision en production et déclenchez une alerte lorsqu'elle passe sous un seuil : c'est le signal le plus direct indiquant qu'un réentraînement aurait déjà dû être effectué.
THRESHOLD = 0.85
if live_accuracy < THRESHOLD:
send_alert(f"Accuracy dropped to {live_accuracy:.2f}")Boucler la boucle
Un bon suivi doit déboucher sur une action : détecter la dérive -> déclencher une alerte -> lancer une chaîne de réentraînement (votre Makefile/registre des leçons précédentes) -> déployer la nouvelle version. Sans plan de réponse, le suivi n’est que du bruit.
Vérification rapide
Testez vos connaissances sur le suivi.
Récapitulatif
Vous avez suivi des modèles en production : le PSI et le test KS détectent la dérive des données, Evidently automatise les rapports via DataDriftPreset, et vous déclenchez une alerte lorsque la précision passe sous un seuil, puis lancez le réentraînement. Cela termine le cours sur les opérations liées à l’apprentissage automatique. Cours suivant : servir des modèles d’IA avec FastAPI.
Questions Fréquemment Posées
La leçon « Surveiller les performances d’un modèle en production » est-elle gratuite ?
Oui — le texte complet de « Surveiller les performances d’un modèle en production » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Surveiller les performances d’un modèle en production » ?
Détection de la dérive des données, signaux de dégradation du modèle, déclencheurs de réentraînement, bibliothèque evidently. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Surveiller les performances d’un modèle en production » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Suivi des expériences avec MLflow
- Registre des modèles et gestion des versions
- Créer des pipelines reproductibles d’apprentissage automatique
- Surveiller les performances d’un modèle en production