tadata
← Retour à l'accueil

Monitoring de Modèles ML : Détecter les Echecs Silencieux

#machine-learning#monitoring#mlops#observability

Un modèle précis a 95% au déploiement peut silencieusement se degrader a 70% sans que personne ne s'en apercoive. Le monitoring logiciel traditionnel (uptime, latence, erreurs) ne détecté pas les défaillances spécifiques au ML.

Taxonomie des Types de Drift

tadata
  • Data drift — la distribution des entrées change
    • Covariate shift (les distributions des features changent)
    • Prior probability shift (la distribution de la cible change)
    • Dérive du schéma des features (nouvelles catégories, features manquantes)
  • Concept drift — la relation entre X et Y change
    • Dérive graduelle (tendance lente sur plusieurs mois)
    • Dérive soudaine (changement brutal, par ex. changement de politique)
    • Dérive récurrente (motifs saisonniers)
    • Dérive incrémentale (petits changements qui s'accumulent)
  • Dérive des prédictions — la distribution des sorties change
    • Souvent le premier symptôme visible d'un data drift ou d'un concept drift
  • Problèmes de qualité des données en amont
    • Hausse des valeurs manquantes
    • Changements de schéma chez les fournisseurs de données
    • Pannes des pipelines ETL
tadata
KindWhat changesExample
Covariate shiftP_(t1)(X) ≠ P_(t0)(X)a new marketing campaign brings younger customers
Label shiftP_(t1)(Y) ≠ P_(t0)(Y)fraud rate doubles during holidays
Concept driftP_(t1)(Y | X) ≠ P_(t0)(Y | X)fraudsters mimic normal amounts: same inputs, new meaning
Le drift défini par la probabilité qui change entre l'entraînement (t0) et la production (t1)

Extrait de la fiche « Monitoring, Drift and Retraining » · Demander la fiche complète

Matrice de Métriques de Monitoring

CategorieMétriqueCe que ca détectéQuand l'utiliser
Qualité des donnéesTaux de null, incohérences de typeProblèmes pipeline amontToujours
Data DriftPSI, test KS, Jensen-ShannonChangements de distributionToujours
Prediction DriftDivergence de distribution des sortiesChangements de comportementQuand le ground truth est retardé
PerformanceAccuracy, F1, AUC, RMSEDegradation réelleQuand le ground truth est disponible
EquiteParite demographique, égalité des chancesDegradation d'equite par cohorteModèles reglementes
OpérationnelLatence p50/p95/p99, débit, taux d'erreurProblèmes infra/servingToujours

Comparaison d'Outils

FonctionnaliteEvidently AIWhyLabsArizeFiddlerNannyML
TypeOpen source + cloudCloudCloudCloudOpen source + cloud
Data DriftOuiOuiOuiOuiOui
Concept DriftOuiOuiOuiOuiOui (méthode CBPE)
Monitoring LLMOuiOuiOuiOuiNon
AlertesSeuils customAnomaliesAnomaliesCustomCustom
PrixGratuit (OSS) / cloud payantGratuit + payantPayantPayantGratuit (OSS) / payant

Seuils d'Alerte Recommandes

MétriqueVertJaune (Investiguer)Rouge (Action requise)
Data Drift (PSI)< 0,10,1 - 0,25> 0,25
Taux de null< baseline + 1%baseline + 1-5%> baseline + 5%
Chute d'accuracy< 2% vs baseline2-5% vs baseline> 5% vs baseline
Latence (p99)< 2x SLA2-5x SLA> 5x SLA
Taux d'erreur< 0,1%0,1-1%> 1%
tadata
Feature Reference vs current share per bin PSI KS D vs critical (α = 0.05) Level amount 0.367 D = 0.275 ≤ 0.304 alert age 0.006 D = 0.075 ≤ 0.304 stable channel app web store 0.166 categorical: no KS warning reference share current share PSI ticks: 0.1 warning, 0.25 alert 0 0.5 1 0 25 50 75 100 125 amount Empirical CDF of amount D = 0.275 reference current PSI = Σ over bins (aᵢ − eᵢ) · ln(aᵢ / eᵢ), an empty share counted as ε =0.0001 Level: stable below 0.1, warning from 0.1, alert from 0.25 KS: D = max over x of |F_ref(x) − F_cur(x)|; drift when D > c(α) · √((n+ m)/(n · m)), c(α) = √(−ln(α/2) / 2) = 1.358 where eᵢ, aᵢ = reference and current share of bin i; bins = referencequantiles, 5 numeric bins; one bin per category; F_ref, F_cur =empirical cumulative distributions; n, m = reference and current samplesizes; α = significance level
Feature Reference vs current share per bin PSI KS D vs critical (α = 0.05) Level amount 0.367 D = 0.275 ≤ 0.304 alert age 0.006 D = 0.075 ≤ 0.304 stable channel app web store 0.166 categorical: no KS warning reference share current share PSI ticks: 0.1 warning, 0.25 alert 0 0.5 1 0 25 50 75 100 125 amount Empirical CDF of amount D = 0.275 reference current PSI = Σ over bins (aᵢ − eᵢ) · ln(aᵢ / eᵢ), an empty share counted as ε =0.0001 Level: stable below 0.1, warning from 0.1, alert from 0.25 KS: D = max over x of |F_ref(x) − F_cur(x)|; drift when D > c(α) · √((n+ m)/(n · m)), c(α) = √(−ln(α/2) / 2) = 1.358 where eᵢ, aᵢ = reference and current share of bin i; bins = referencequantiles, 5 numeric bins; one bin per category; F_ref, F_cur =empirical cumulative distributions; n, m = reference and current samplesizes; α = significance level
Rapport de drift hebdomadaire d'un modèle de fraude à la carte, 5 bins par quantiles des données d'entraînement, seuils 0,1 / 0,25. « amount » est rouge sur le PSI, mais le D de KS = 0,275 reste sous sa valeur critique de 0,304 car seules 40 lignes par fenêtre ont été échantillonnées ; « age » est stable ; « channel » est orange à cause d'un changement de répartition des catégories. Les petites fenêtres rendent les tests timides, les grandes les rendent nerveux : fixez une taille d'échantillon minimale

Extrait de la fiche « Data and Model Health KPIs » · Demander la fiche complète

Recommandations Stratégiques

  1. Commencez par le monitoring de qualité des données. La plupart des échecs ML en production sont des problèmes de pipeline.
  2. Monitorez les prédictions quand vous n'avez pas le ground truth. Le prédiction drift est un indicateur avance.
  3. Definissez les seuils selon l'impact business. Une chute de 3% sur un filtre spam est acceptable ; sur un diagnostic médical, non.
  4. Automatisez les declencheurs de reentrainement, mais gardez l'approbation humaine.
  5. Loggez tout. Entrees, sorties, latences, valeurs de features.
tadata
Conditions R1 R2 R3 R4 R5 Data-quality check failed (schema, nulls,units) Y N N N N Drift above threshold on an importantfeature – Y Y N N Labelled or proxy performance belowthreshold – N Y Y N Scheduled retraining date reached – – – – Y Actions Page on-call, fix the pipeline, do notretrain X Investigate segments, watch closely X Trigger retraining pipeline (with gate) X X X Consider threshold recalibration or rules X X Notes pipeline bug drift withoutharm (yet) drift withharm concept drift routine CT
Conditions R1 R2 R3 R4 R5 Data-quality check failed (schema, nulls,units) Y N N N N Drift above threshold on an importantfeature – Y Y N N Labelled or proxy performance belowthreshold – N Y Y N Scheduled retraining date reached – – – – Y Actions Page on-call, fix the pipeline, do notretrain X Investigate segments, watch closely X Trigger retraining pipeline (with gate) X X X Consider threshold recalibration or rules X X Notes pipeline bug drift withoutharm (yet) drift withharm concept drift routine CT
Que faire quand le monitoring se déclenche. La règle R1 est le cas le plus fréquent et ne doit pas aboutir à un réentraînement

Extrait de la fiche « Monitoring, Drift and Retraining » · Demander la fiche complète

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.