# Diagnostic et atténuation du décalage de distribution en production ML
Les chutes soudaines des métriques de qualité du modèle en production sont souvent liées à des décalages de distribution des données. Cela se produit lorsque les propriétés statistiques des données d'entrée en exploitation diffèrent de celles utilisées pour entraîner le modèle. Nous allons décomposer les types de décalages, les méthodes de surveillance et les stratégies d'adaptation des modèles.
La nature du problème : comment le décalage de distribution casse les modèles
Le décalage de distribution survient lorsque les données de production ne correspondent plus à l'échantillon d'entraînement. Un exemple classique : un modèle de régression linéaire extrapole une tendance au-delà de la plage d'entraînement, tandis que les méthodes non paramétriques (Random Forest, KNN) produisent des prédictions constantes. Cela arrive parce que les modèles non paramétriques ne généralisent pas au-delà de la distribution observée. Dans les systèmes réels, ces scénarios entraînent des chutes catastrophiques de précision, même si le modèle excellait en développement.
Point clé : le décalage de distribution n'est pas toujours lié à des erreurs de code. Souvent, le problème provient de changements dans la logique métier, le comportement des utilisateurs ou des facteurs externes. Par exemple, la mise à jour du catalogue de catégories dans un système e-commerce rend certaines caractéristiques inconnues du modèle, faisant plonger les métriques immédiatement.
Classification des décalages : trois types principaux
Il existe trois types fondamentaux de décalage de distribution, chacun nécessitant des approches diagnostiques différentes :
- Covariate shift — changements dans la distribution des caractéristiques d'entrée. Par exemple, l'ajout de nouvelles catégories à un catalogue sur lequel le modèle n'a pas été entraîné.
- Label shift — changements dans la distribution de la variable cible. Cas typique : un modèle pour diagnostiquer une maladie rare, entraîné pendant une épidémie, qui produit des faux positifs hors saison.
- Concept shift — changements dans la relation entre les caractéristiques et la variable cible. Par exemple, l'évolution des préférences des utilisateurs sur les réseaux sociaux, où du contenu auparavant populaire ne reçoit plus de likes.
En pratique, ces types se chevauchent souvent. Un covariate shift peut déclencher un concept shift si les règles métier changent en même temps que le comportement des utilisateurs. Cela rend l'isolation de la cause racine délicate et nécessite une surveillance multi-niveaux.
Pourquoi les données « dérivent » : causes principales
Le drift des données surgit pour quatre raisons principales :
- Temporal drift — évolution naturelle du comportement des utilisateurs ou des conditions externes (par ex., fluctuations saisonnières de la demande).
- Changements dans les méthodes de collecte de données — remplacement de capteurs, mise à jour des formats de logs, ou modifications d'interface affectant les métriques comportementales.
- Échantillonnage biaisé — entraînement sur des données non représentatives (par ex., reconnaissance d'objets uniquement sur des arrière-plans de zoo).
- Transfert inter-domaines — déploiement d'un modèle dans un environnement différent (par ex., un système de navigation pour routes européennes gérant le trafic indien).
La combinaison de temporal drift et de changements de collecte de données est particulièrement dangereuse. Par exemple, le déploiement d'une nouvelle version d'application mobile peut altérer les patterns d'interaction des utilisateurs et les formats de logging simultanément, créant un effet en cascade.
Outils de surveillance : du PSI aux classificateurs de domaines
Une surveillance efficace exige une approche multi-niveaux. Quand une cible en ligne est disponible, suivez la métrique de qualité principale (par ex., ROC-AUC). En cas de décalage de cible, concentrez-vous sur des métriques proxies et les distributions de caractéristiques.
L'outil clé est le Population Stability Index (PSI). Cette métrique compare la distribution d'une caractéristique entre la période de référence et la période actuelle :
PSI = sum((A_i - E_i) * ln((A_i + ε) / (E_i + ε)))
où E_i est la proportion d'observations dans la i-ème bin pour la période de référence, A_i est la proportion actuelle, et ε est une constante de lissage (1e-6).
Interprétation des valeurs :
- PSI < 0.1 — changements mineurs (stable)
- 0.1 ≤ PSI < 0.25 — décalage modéré (enquêter)
- PSI ≥ 0.25 — drift critique (intervenir)
Pour les caractéristiques catégorielles, utilisez le test du chi-carré ; pour les numériques, la distance de Wasserstein ou le test de Kolmogorov-Smirnov. Pour les modèles profonds, analysez les embeddings avec PCA/t-SNE ou entraînez un classificateur de domaine : un classificateur binaire pour distinguer les données d'entraînement des données de production. Un AUC > 0.7 indique un décalage significatif.
Stratégies d'adaptation : remettre le modèle sur les rails
Une fois un décalage détecté, appliquez l'une de ces stratégies :
Réentraînement planifié et déclenché
Combinez des mises à jour régulières du modèle (par ex., hebdomadaires) avec un réentraînement immédiat quand le PSI dépasse un seuil. Il est crucial que le nouvel échantillon d'entraînement reflète la distribution actuelle des données — vérifiez-le avec des tests statistiques.
Transfer learning
Pour les réseaux de neurones, utilisez le fine-tuning :
- Réentraînement complet (dégel de toutes les couches) — efficace avec assez de nouvelles données
- Tuning de la tête (entraînement uniquement de la couche classificateur) — robuste au bruit sur de petits échantillons
Pour les modèles de boosting, étendez l'ensemble avec le paramètre init_model, en ajoutant de nouveaux arbres sur des données fraîches. Limitation principale : risque de surapprentissage sur le bruit avec des données insuffisantes.
Adaptation sans réentraînement
Dans certains cas, calibrer les prédictions ou ajouter des poids pendant l'entraînement peut compenser le décalage. Cependant, ces méthodes sont moins fiables que la mise à jour du modèle.
Points clés à retenir
- Le covariate shift est la cause la plus courante de chutes de métriques, nécessitant une surveillance des distributions de caractéristiques d'entrée
- PSI ≥ 0.25 — seuil critique nécessitant une action immédiate
- Combinez réentraînement planifié et déclencheurs basés sur la surveillance
- Pour les réseaux de neurones, le tuning de la tête réduit le risque de surapprentissage lors de l'adaptation à de nouvelles données
- Les classificateurs de domaine ne détectent pas seulement les décalages mais identifient aussi les caractéristiques problématiques
— Editorial Team
Aucun commentaire pour le moment.