Eurybia : Une nouvelle solution #OSSByMAIF pour une Intelligence Artificielle plus maîtrisée

Thomas Bouche
OSS by MAIF
Published in
5 min readMay 5, 2022

La MAIF contribue à l’open source depuis plusieurs années et, depuis 2019, nous partageons nos travaux dans le domaine de l’intelligence artificielle. Nous avons libéré Melusine, pour le traitement des emails en langue française, puis Shapash, pour rendre l’intelligence artificielle plus transparente et compréhensible par tous.

Aujourd’hui, nous vous présentons Eurybia !

Cette librairie Python garantit la qualité des modèles de machine learning en production (c’est à dire une fois qu’il sont déployés au sein de l’entreprise) en détectant leur dérive et répond ainsi aux défis de l’industrialisation et de la maintenabilité de l’IA dans le temps. Elle contribue à une meilleure surveillance des modèles, à leur audit et plus généralement à la gouvernance de l’IA.

Eurybia par MAIF

Les enjeux pour une IA de qualité : sécuriser et de maintenir les modèles de machine learning

En effet, de plus en plus de modèles de machine learning sont déployés en production. Une étape clé du déploiement consiste à sécuriser la qualité des données qui seront utilisées pour la prédiction ou recommandation poussée par le modèle de machine learning. Cette étape est cruciale, notamment lorsque les sources des données d’apprentissage et de production diffèrent.

Alors que la plupart des modèles sont construits à partir de données historiques qui sont statiques, les données de production sont généralement dynamiques : elles évoluent dans le temps, et donc les prédictions/recommandations qui s’appuient sur ces données évoluent aussi. Pour avoir une utilisation contrôlée de l’IA, il est important de détecter ces écarts afin de déterminer s’ils posent problème, suivre les performances dans le temps, et envisager de ré-entraîner le modèle si nécessaire.

Eurybia, un outil qui répond aujourd’hui à nos besoins …

Au sein de la MAIF, nous avons évidemment un usage historique des données, pour proposer un conseil personnalisé à nos sociétaires, mais aussi pour maîtriser nos risques. De par notre histoire, en tant que mutuelle engagée et parce que nous pensons que les entreprises doivent être responsables de leur utilisation des données, nous sommes particulièrement impliqués dans la gouvernance de l’IA.

Un modèle de machine learning passe par les phases suivantes au fil de son cycle de vie : Apprentissage du modèle, Déploiement du modèle, Monitoring du modèle — voir schéma ci-dessous.

Cycle de vie d’un modèle de machine learning

Pour s’assurer que les modèles fonctionnent en production aussi bien qu’à l’apprentissage, il est important de vérifier que les données sont cohérentes et que les distributions des variables du modèle sont similaires.

Nous souhaitons suivre de près nos modèles en production, notamment pour détecter au plus tôt lorsque les modèles sont susceptibles de fournir des recommandations moins adaptées.

A la MAIF, nous utilisons Eurybia pour :

  • Sécuriser la mise en production de modèle en détectant tout problème inhérent aux données
  • Aider les data analysts, data engineers et data scientists à collaborer pour valider les données avant de déployer un modèle en production.
  • Faciliter et accélérer l’analyse de la dérive des données par les data scientists de la MAIF.
  • Savoir s’il est nécessaire de ré-entraîner le modèle
  • Sauvegarder des rapports pour le suivi de la dérive, pour une consultation suite à une alerte e-mail ou un autre besoin spécifique.

…et que nous libérons en open-source afin de contribuer à une IA plus maîtrisée

Eurybia est une librairie Python qui a pour but d’aider à détecter les dérives et à valider les données avant de mettre un modèle en production.

Démo du rapport Eurybia

Dans cet article, nous ferons référence à ces différents termes :

  • Validation des données : Valider que les données utilisées pour la prédiction en production sont similaires aux données d‘apprentissage avant le déploiement.
  • Dérive des données : Évolution des données de production dans le temps par rapport aux données d’apprentissage.
  • Dérive du modèle : Évolution des performances du modèle dans le temps, en raison d’un changement des propriétés statistiques de la variable cible (dérive de concept), ou en raison d’un changement des données (dérive des données).

Pour les définitions techniques, nous vous recommandons de lire la bibliographie.

Pour la validation des données et la dérive des données, Eurybia fonctionne principalement grâce à un modèle de classification binaire (appelé datadrift classifier). Ce modèle tente de prédire si un individu appartient aux données d’entraînement ou aux données en production, c’est à dire de déterminer dans quel mesure ces deux jeux de données sont différents. Si ce datadrift classifier a des performances élevés, alors la dérive est importante.

Fonctionnement principal d’Eurybia

L’explicabilité du datadrift classifier fournit des résultats plus élevés aux variables qui sont importantes pour la dérive. Combinée à l’importance des variables du modèle déployé, cette explicabilité permet de prioriser l’analyse.

Eurybia permet ainsi :

  • D’avoir un aperçu rapide des variables qui ont le plus changé pour prioriser l’étude de la dérive.
  • De mettre en perspective l’évolution des variables avec leur importance pour le modèle déployé. Et donc d’étudier en priorité la dérive des variables ayant le plus d’influence sur le modèle.
  • D’afficher les distributions variable par variable
  • D’afficher la différence de distribution entre les probabilités de la prédiction du modèle sur le jeu de données d’apprentissage et le jeu de données en production.
  • D’avoir des métriques qui indiquent le niveau de dérive des données et les suivre dans le temps.

Eurybia dispose également de fonctionnalités supplémentaires qui permettent de :

  • Analyser la cohérence des données en vérifiant si les variables sont les mêmes entre le jeu de données d’apprentissage et le jeu de données de production, ainsi que les modalités des variables.
  • Détecter les dérives du modèle en affichant les performances du modèle dans le temps. (Pour bien répondre à la problématique du modèle drift, nous souhaitons développer le concept drift dans les prochaines versions d’Eurybia).
  • Sauvegarder un rapport dynamique qui facilite la collaboration entre collègues, et qui permet d’avoir un livrable à des fins d’audit.

Eurybia fonctionne pour tout type de cas d’usage. Il peut être utilisé dans le domaine de la santé, l’économie, marketing, …

N’hésitez pas à vous rendre sur le GitHub de Eurybia : vous y trouverez une documentation exhaustive des fonctionnalités proposées par la librairie ainsi qu’une demo du rapport Eurybia pour un test rapide ! Et n’hésitez pas à mettre une étoile sur GitHub si vous aimez le projet !

La MAIF contribue à plusieurs librairies open source, et pas que des librairies de data science. Vous pouvez consultez le catalogue ici.

Lectures complémentaires

Nous avons rapidement introduit la notion de dérive. Si vous souhaitez en savoir plus sur la dérive, je vous recommande les ressources suivantes :

--

--