En cliquant sur "Accepter", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing.

ML Monitoring vs ML Observability

ML Monitoring vs ML Observability
Blog
>
ML Monitoring vs ML Observability
Discoverii
8/4/2023

ML Monitoring vs ML Observability : Quelle est la différence ?

Le Machine Learning (ML) devient de plus en plus populaire dans le monde d'aujourd'hui. Cependant, avec le temps, nous avons constaté la nécessité de l'industrialisation des projets ML, ce qui a donné naissance au MLOPS. Le MLOPS a grandement contribué à réduire le "Time to Market" et à industrialiser de plus en plus les projets ML, qui sont désormais utilisés par des utilisateurs finaux. Une première étape importante a été franchie : celle de combler le fossé entre la partie ML et le côté ingénierie d'application, facilitant ainsi l'itération et la mise en production des projets ML/DS. Toutefois, cela a également posé de nouveaux problèmes. Une fois que le modèle est en production, il peut arriver qu'on remarque tardivement une détérioration de ses performances, avec un temps considérable entre l'incident et la prise en charge de ce dernier, pouvant aller jusqu'à une semaine selon les retours des utilisateurs. Pour répondre à cette problématique, nous avons mis en place un système de surveillance similaire à celui que nous avons pour d'autres domaines d'Ops, mais cette fois-ci pour la partie ML. Ainsi, nous avons pu réduire le temps entre l'incident et la prise en main, et le ML Monitoring est né. Cependant, pour aller encore plus loin dans l'amélioration, nous nous intéressons maintenant à la phase suivante après la surveillance. Lorsque nous avons pris en charge l'incident, nous devons enquêter pour trouver la cause racine du problème - ce qui prend également du temps. Et donc, il y a encore un temps perdu entre la prise en charge de l'incident et la résolution du problème (le temps d'observation). C'est là qu'intervient le ML Observability - qui nous permet de comprendre pourquoi nous avons eu le problème. En résumé, le ML Monitoring répond à la question "quand est-ce que cela s'est produit ?", tandis que le ML Observability répond à la question "pourquoi cela s'est-il produit ?". 

Dans cet article, nous discuterons des différences entre la surveillance du ML et l'observabilité du ML et explorerons leur importance.

Qu'est-ce que le ML Monitoring ?

Le ML Monitoring consiste à suivre les performances d'un modèle de machine learning au fil du temps. Cela inclut la surveillance de sa précision, sa vitesse et son entrée/sortie de données. Le monitoring du ML fournit aux utilisateurs une compréhension de la façon dont leur modèle fonctionne et leur permet d'identifier tout problème qui pourrait survenir.

Le monitoring du ML implique généralement la mise en place de systèmes automatisés qui surveillent en continu les entrées, les sorties et les taux d'erreur du modèle de machine learning. Cela aide à identifier les motifs ou les anomalies qui pourraient indiquer un problème avec le modèle. Le système peut ensuite alerter l'utilisateur afin qu'il puisse prendre des mesures correctives.

L'un des principaux objectifs de la surveillance du ML est de garantir que le modèle se comporte de manière cohérente et précise au fil du temps. En suivant les performances du modèle, les utilisateurs peuvent rapidement détecter et corriger tout problème avant qu'il ne devienne un problème majeur. On peut dire que le ML monitoring est une série de techniques utilisées pour détecter et mesurer les problèmes qui surgissent avec les modèles de machine learning. Une fois configurés, les moniteurs se déclenchent lorsque la métrique d'un modèle dépasse un seuil. Les domaines clés de la surveillance comprennent les performances du modèle, la qualité des données, la détection de la dérive, et l'analyse de l'enregistrement incorporé.

Quel est l’impact du ML Monitoring sur le business ?

Malgré les nombreux problèmes qu'un modèle peut rencontrer dans le monde réel, plus de la moitié des équipes de ML ne disposent pas d'une méthode fiable pour détecter de manière proactive quand quelque chose ne va pas avec un modèle en production. Beaucoup s'appuient sur des solutions internes par lots ou des tableaux de bord qui peuvent ne pas détecter les problèmes à temps, ou encore des outils qui ne sont pas spécifiquement conçus pour le machine learning. Même les meilleures équipes ont des angles morts. À une époque où les modèles ML sont utilisés pour augmenter la rentabilité et sauver des vies, il est clair que la surveillance de modèle améliorée est essentielle.

What are some of the basic components for ML Monitoring?

1- Gestion de la performance du modèle: "La gestion de la performance du modèle" ("Model performance management" en anglais) désigne le processus de surveillance et de mesure du comportement d'un modèle de machine learning en production, dans le but d'identifier et de résoudre tout problème pouvant survenir. Cela inclut la surveillance de métriques importantes telles que la précision, le rappel et le score F1, ainsi que la détection de la dérive conceptuelle “Concept Drift” et des biais de données “Data Drift”. En surveillant attentivement la performance d'un modèle au fil du temps, les scientifiques des données et les ingénieurs ML peuvent identifier et résoudre rapidement les problèmes, en veillant à ce que le modèle fonctionne de manière optimale et délivre des résultats précis.

Définissez un seuil de surveillance pour vous alerter lorsque le comportement de votre modèle s'écarte significativement des valeurs attendues pendant une période d'excellente performance dans n'importe quel environnement. Envoyez les données provenant de différents environnements pour comparer la performance du modèle entre l'entraînement, la validation ou une période différente de vos données de production. En comparant vos données de production, vous pouvez identifier les lacunes de qualité des données ou les endroits où survient une dérive pour faciliter le dépannage. Si vous avez des résultats réels différés (également appelés vérité terrain “Ground Truth”) pour votre modèle de production, utilisez des métriques de substitution pour évaluer la performance du modèle. Les indicateurs les plus courants de la performance du modèle sont le changement du score ou de la classe de prédiction, la dérive de caractéristiques et la dérive de la distribution des scores ou des classes de prédiction. Par exemple, vous pouvez surveiller la dérive dans la distribution moyenne du score de prédiction.

2- Drift Monitoring: La "surveillance de la dérive" ("drift monitoring" en anglais) dans la surveillance du machine learning (ML) fait référence au processus de détection et de mesure des changements dans le comportement d'un modèle de machine learning au fil du temps ou entre différents ensembles de données. La dérive peut se produire lorsque la distribution des données sous-jacentes change, ce qui entraîne un modèle qui ne reflète plus avec précision le nouvel environnement. Cela peut entraîner une diminution des performances, des résultats inexacts, ou même des décisions incorrectes basées sur la sortie du modèle. En surveillant régulièrement la dérive et en comparant la performance d'un modèle à des ensembles de données historiques ou de référence, les scientifiques des données et les ingénieurs ML peuvent identifier et résoudre tout problème avant qu'il ne devienne un problème majeur. La surveillance de la dérive est un composant important du ML monitoring parce qu’elle aide à garantir que les modèles restent précis et efficaces au fil du temps.

3- Data Quality Monitoring: La "surveillance de la qualité des données" ("Data quality monitoring" en anglais) dans la surveillance du machine learning (ML) fait référence au processus qui garantit que les données utilisées pour l'entraînement et le test des modèles de machine learning sont précises, complètes et cohérentes. Cela inclut la surveillance de données manquantes ou en double, d'incohérences dans le formatage des données et d'autres problèmes qui peuvent affecter les performances ou la précision du modèle. En surveillant régulièrement la qualité des données, les scientifiques des données et les ingénieurs ML peuvent identifier et résoudre tout problème avant qu'il n'impacte les performances du modèle en production. La surveillance de la qualité des données est un aspect important dans le ML Monitoring parce qu’elle contribue à garantir que le modèle est entraîné sur des données de haute qualité, ce qui est essentiel pour produire des résultats fiables et précis.

4- Unstructured Data Monitoring: la surveillance des données non structurées dans le ML Monitoring. De nombreuses entreprises construisant des modèles de traitement du langage naturel (NLP) ou de vision par ordinateur (CV) manquent d'une fenêtre sur la façon dont leurs modèles se comportent en production, ce qui risque d'avoir un impact négatif sur les résultats financiers ou de causer des biais. Étant donné que les modèles d'apprentissage profond reposent sur des équipes d'étiquetage humain, l'identification de nouveaux modèles en production et le dépannage des performances peuvent être difficiles.

Les recommandations pour la surveillance des modèles CV et NLP consistent à visualiser et surveiller les "embeddings" - représentations vectorielles de données où les distances linéaires capturent la structure - qui permettent aux équipes de ML d'identifier de manière proactive toute dérive de leurs données non structurées. Les visualisations UMAP (Approximation et Projection uniformes de variété) peuvent également aider à isoler de nouveaux modèles ou tendances émergentes, ainsi que les changements de données sous-jacentes et les problèmes de qualité des données. La surveillance des embeddings et des visualisations UMAP est donc une méthode clé pour surveiller la performance des modèles NLP et CV en production.

Qu'est-ce que le ML Observability ?

L'observabilité du machine learning va au-delà de la surveillance et implique de comprendre le fonctionnement interne d'un modèle de machine learning. Cela signifie comprendre les entrées, les sorties et le comportement interne du modèle pour déterminer pourquoi il se comporte d'une certaine manière.

Contrairement à la surveillance, qui se concentre principalement sur les métriques de performance, l'observabilité plonge plus profondément dans les processus internes du modèle. Elle implique la collecte et l'analyse de données provenant de différentes sources, comme les journaux, les métriques et les traces, pour obtenir une vue d'ensemble du modèle de machine learning et de son comportement.

L'objectif de l'observabilité du machine learning est d'aider les utilisateurs à comprendre pourquoi le modèle se comporte d'une certaine manière et à identifier tout problème qui pourrait survenir. Cela peut être particulièrement utile lors du débogage de modèles de machine learning complexes ou lors de la tentative d'optimisation de leurs performances. Voici les composants du ML Observability (analyse de performance, qualité de données, biais des données/Modèle, Explicabilité).

1- Analyse de Performance: 

L'analyse de performance est le processus de monitoring et de mesure de la performance d'un modèle de ML en production. Cela inclut la surveillance des métriques clés telles que la précision, la précision positive, le rappel et le score F1, ainsi que d'autres métriques pertinentes en fonction du cas d'utilisation spécifique.

En analysant les performances du modèle au fil du temps, les data scientists et les ingénieurs ML peuvent identifier tout problème ou anomalie pouvant affecter l'exactitude ou la performance du modèle. Ils peuvent ensuite prendre des mesures pour résoudre ces problèmes, qui peuvent inclure la réadaptation du modèle, l'ajustement des hyperparamètres ou la modification des données d'entraînement. 

ML observability permet d'obtenir rapidement des informations sur la performance exploitable des modèles déployés en production.

2- Détection de biais “Drift Detection”: 

La Dérive dans le ML Observability est un concept qui consiste à comparer deux distributions sur une certaine période de temps et mesurer leur distance. Les distributions peuvent provenir des données d'entraînement, de validation ou de production. Lorsque ces distributions commencent à diverger, cela peut indiquer différents types de dérive. Si les modèles dérivent en raison de changements environnementaux, cela peut invalider progressivement leurs capacités prédictives. 

Dans le concept du data drift on retrouve aussi d’autres aspects comme le modèle Drift, le concept drift, etc. voici une description de chacun de ces aspects.

2.1 Model Drift:

Qu'est-ce que la Dérive de Modèle ? La Dérive de Modèle fait référence à un changement dans ce que le modèle prédit aujourd'hui par rapport à ce qu'il a prédit dans le passé, ou une dérive dans les prédictions du modèle. Par exemple, peut-être que ce mois-ci votre modèle de désabonnement commence à prédire un taux de désabonnement plus élevé chez vos clients que le mois dernier (sans modification du modèle hors ligne). Bien que la dérive de modèle se réfère spécifiquement à une dérive dans les prédictions, la dérive de modèle ou la dégradation de modèle se réfèrent généralement également au moment où votre modèle devient moins performant pour faire des prédictions correctes à partir de nouvelles valeurs entrantes en comparaison avec sa capacité prédictive avant sa production.

2.2 Concept Drift: 

Pour expliquer ce concept, prenons un exemple concret.

Prenons l'exemple d'un modèle de désabonnement utilisé par une entreprise de services. Au début, le modèle est précis et fiable pour prédire le taux de désabonnement des clients en fonction de diverses variables telles que les antécédents de service, les comportements d'utilisation et les données démographiques.

Cependant, lorsque la pandémie de COVID-19 frappe, les conditions changent considérablement. Les clients peuvent maintenant rencontrer plus de difficultés à payer pour les services en raison des perturbations économiques causées par la pandémie, ce qui peut entraîner une augmentation du taux de désabonnement.

En conséquence, le modèle de désabonnement commence à dériver en raison d'un changement de concept - les clients ne se comportent plus de la même manière qu'avant la pandémie. Le modèle peut sous-estimer considérablement le taux de désabonnement car il ne prend pas en compte les nouveaux facteurs liés à la pandémie.

Pour éviter cela, l'observabilité du ML doit être mise en place pour surveiller régulièrement les performances du modèle et identifier toute dérive de concept potentiellement préjudiciable. Les données doivent être collectées et analysées en continu pour s'assurer que le modèle reste précis et fiable dans un environnement en constante évolution.

2.3 Data Drift, Feature Drift, Input Drift, Covariate Drift: 

Supposons que vous entraînez un modèle de recommandation de produits pour un site de commerce électronique. Vous utilisez les historiques d'achat des clients pour prédire les futurs achats qu'ils pourraient être intéressés à réaliser. Le modèle est conçu pour utiliser des caractéristiques telles que les catégories de produits, les marques préférées, les prix, etc.

Cependant, au fil du temps, les tendances des consommateurs peuvent changer, ou de nouveaux produits peuvent être ajoutés au catalogue. Cela peut entraîner une dérive des données, une dérive des caractéristiques, une dérive des co-variables et une dérive des entrées du modèle. Les distributions de fonctionnalités peuvent changer, les corrélations entre les variables peuvent se modifier, et les données peuvent ne plus correspondre aux données utilisées lors de l'entraînement du modèle original.

Par exemple, supposons qu'un nouveau produit très populaire soit ajouté au catalogue. Cela peut affecter la distribution des caractéristiques associées à ce produit, ainsi que les corrélations entre ces caractéristiques et les autres variables utilisées par le modèle. Si le modèle n'est pas mis à jour pour prendre en compte ces changements, il risque de perdre de sa précision et de sa fiabilité.

Pour éviter cela, l'observabilité du ML doit être mise en place pour surveiller régulièrement les performances du modèle et identifier toute dérive de données potentiellement préjudiciable. Les données doivent être collectées et analysées en continu pour s'assurer que le modèle reste précis et fiable dans un environnement en constante évolution.

2.4 Upstream Drift: 

Le Upstream Drift fait référence à un changement dans les données d'entrée qui affecte la performance des modèles de machine learning. Cependant, contrairement à la dérive de concept, ce changement se produit en amont du modèle et peut être causé par des facteurs externes tels que des erreurs de collecte de données ou des modifications dans les systèmes qui fournissent les données.

Par exemple, supposons que vous utilisez un modèle de prédiction de la demande pour un service de livraison de nourriture en ligne. Les données d'entrée du modèle comprennent des informations sur les commandes précédentes, telles que les types de plats commandés, les heures de la journée et les zones géographiques.

Cependant, si le système de commande en ligne connaît une panne, cela peut entraîner une distorsion des données d'entrée, car certaines commandes peuvent ne pas être enregistrées ou être enregistrées avec des informations incorrectes. Cela peut entraîner une dérive en amont qui affecte la précision et la fiabilité du modèle.

Pour éviter cela, l'observabilité du ML doit être mise en place pour surveiller régulièrement les performances du modèle et identifier toute dérive en amont potentiellement préjudiciable. Les données doivent être collectées et analysées en continu pour s'assurer que le modèle reste précis et fiable dans un environnement en constante évolution.

On aura l’occasion de détailler plus certains concepts et comment les tracker. À ce stade on va conclure l’article en résumant la différence entre ML Monitoring et ML Observability 

Quelle est la différence ?

Bien que le monitoring et l'observabilité du ML soient toutes deux importants, il existe quelques différences clés entre elles. La principale différence est que la surveillance se concentre sur le suivi des performances du modèle de machine learning au fil du temps, tandis que l'observabilité implique de comprendre le fonctionnement interne du modèle pour déterminer pourquoi il se comporte d'une certaine manière.

Une autre différence est que la surveillance du ML est généralement automatisée, avec des alertes déclenchées lorsque les métriques de performance sortent des seuils prédéfinis. En revanche, l'observabilité du ML implique souvent une analyse plus manuelle, avec des données collectées à partir de différentes sources et analysées pour obtenir une vision globale du comportement du modèle.

Pourquoi sont-elles importantes ?

La surveillance et l'observabilité du machine learning sont toutes deux essentielles pour garantir l'exactitude et la fiabilité des modèles de machine learning. En suivant les performances du modèle et en comprenant le fonctionnement interne du modèle, les utilisateurs peuvent rapidement détecter et corriger tout problème qui pourrait survenir.

La surveillance du ML est particulièrement importante pour garantir que le modèle se comporte de manière cohérente et précise au fil du temps. En suivant les métriques de performance, les utilisateurs peuvent rapidement identifier quand le modèle ne fonctionne pas correctement et prendre