Monitorer la dérive d'un modèle d'IA en production : la méthode de Decathlon
Un bon système de monitoring est nécessaire pour suivre la performance et la sécurité d'un modèle d'IA déployé dans un environnement en production.
Comment suivre la dérive d'un modèle d'intelligence artificielle lorsqu'il est lancé en production ? Après une année 2023 où de nombreux projets d'IA et d'IA générative sont passés en production, le suivi précis de l'écart entre les performances souhaitées et les performances réelles est une nécessité. Changements dans les données, dans l'environnement ou dans les comportements des utilisateurs… Les causes sont multiples mais les conséquences communes. Un modèle d'IA insuffisamment monitoré en production peut rapidement causer de gros problèmes. Sans surveillance adéquate, il peut dériver et ses performances se dégrader au fil du temps, menant à des résultats de mauvaise qualité, des pertes financières ou des problèmes juridiques (dans le cadre d'un produit exposé au public).
L'importance de monitorer les modèles en production
Tout autant rigoureuse que soient les expérimentations sous forme de POC ou de MVP, un bug inattendu peut survenir à n'importe quel moment en phase de production. "Les data scientists sont généralement très compétents et rigoureux d'un point de vue mathématique. On pourrait donc se demander : si ces modèles sont si bien conçus, pourquoi doit-on les monitorer en production ? Mais ce n'est pas parce que l'on n'a pas de thermomètre que l'on n'a pas de fièvre. Comme pour n'importe quel logiciel informatique qui peut connaître des bugs ou des problèmes de fonctionnement, les modèles d'IA ne sont pas exempts de défauts. Tout comme un écran bleu sur Windows ou le blocage d'une box Internet, des modèles en apparence bien entraînés peuvent se mettre à faire des erreurs en situation réelle", avance Corentin Vasseur, machine learning engineer au sein de Decathlon Digital.
Dépendant du temps d'indisponibilité ou d'un mauvais fonctionnement, les conséquences d'une dérive sont multiples. "Cela peut entraîner une perte de temps ou de ressources pour les ingénieurs, de mauvaises décisions commerciales, une perte de confiance des utilisateurs, des pertes de revenus ou encore des problèmes d'équité et de réputation", rappelle Corentin Vasseur. Dans ces cas, le monitoring permet de réduire le temps d'indisponibilité ou de défaut d'un service en réduisant au minimum le temps de détection pour laisser un maximum de manœuvres aux équipes chargées de corriger le tir.
Sur quelles métriques baser son monitoring ?
On retrouve généralement plusieurs types de métriques à surveiller lors de la mise en production. Pour l'aspect performance, il est possible de mettre en place un suivi des KPI précédemment utilisés en phase d'entrainement. Il est également envisageable de suivre des indicateurs business qui seront souvent plus fiables que des métriques techniques, habituellement utilisées par les data scientists. "Prenons l'exemple d'un modèle de prévision de ventes sur 16 semaines : on ne peut pas attendre 16 semaines pour vérifier si les prédictions sont justes. Il faut trouver des moyens plus rapides (des heuristiques) pour évaluer les performances business du modèle en production, comme le taux de conversion client par exemple. Plus généralement, on peut surveiller différents types d'indicateurs : des indicateurs business comme le ROI, la conversion, etc. Des indicateurs de confiance tels que la transparence, l'équité, la robustesse du modèle. Des indicateurs d'impact comme l'impact environnemental ou sociétal", détaille Corentin Vasseur.
Enfin, dans le cas d'un modèle de prévision, il est important d'estimer un intervalle de confiance autour de la prédiction, pour savoir à quel point on peut lui faire confiance. Plus l'intervalle est large, moins la prévision est fiable. Au global, l'objectif est donc d'avoir une "vue de la performance avec des indicateurs business, éthiques, et techniques".
Pour s'assurer d'un monitoring efficace, le plus simple est d'automatiser le processus pour éviter la majorité des erreurs humaines. Etre capable de collecter un feedback utilisateur peut être un bon début dans le cas d'un modèle exposé au public. On peut également mettre en place des méthodes plus avancées pour détecter les dérives. Par exemple, réaliser des tests statistiques sur les variables du modèle en comparant différentes périodes temporelles (semaines, mois, etc). Cela permet d'identifier d'éventuelles divergences qui pourraient indiquer une dérive, même si celle-ci n'a pas encore d'impact mesurable sur les performances", conseille le machine learning engineer. Il est aussi possible d'entraîner spécifiquement des modèles de détection d'anomalies, en leur fournissant des exemples représentatifs du fonctionnement normal et anormal du modèle principal.
Quelles solutions pour un monitoring efficace ?
Les plateformes de données standards intègrent généralement des fonctionnalités de monitoring, mais moins avancées que les solutions open source dédiées. Les métriques doivent généralement être suivies sur trois niveaux. Premièrement sur la partie Infrastructure pour tracker la performance et la disponibilité des services. "Des outils comme Datadog ou CloudWatch offre de bonnes options", conseille Corentin Vasseur. D'autre part, sur la partie donnée on va surveiller davantage le rafraîchissement, la qualité et la traçabilité. Pour ces différentes tâches, le spécialiste de Decathlon Digital conseille de regarder du côté de Marquez, OpenLineage ou encore de Great Expectations.
Enfin sur la partie modèle, le suivi des performances, des indicateurs business et de l'explicabilité peuvent être réalisées avec Evidently. "Il existe également des outils plus clés en main pour le testing et le suivi des modèles. Par exemple, Giskard permet de faire facilement du test de modèles. De notre côté, nous utilisons beaucoup MLFlow qui est intégré à notre stack technique Data Brix. MLflow nous permet de tracer toutes les expérimentations, enregistrer les modèles dans un registre centralisé, et suivre l'évolution et les versions de nos différents modèles", détaille encore le spécialiste.
Pas de monitoring de qualité sans alerting
S'il est essentiel de détecter les dérives d'un modèle en production, il est tout aussi vital de prévenir au plus vite les équipes pour rectifier le tir. "La détection d'une dérive nécessite une réaction rapide. Il faut alors s'appuyer sur des outils d'observabilité permettant un diagnostic approfondi : analyser la dérive au niveau des données et du modèle. Pour le modèle, cela peut impliquer un réentraînement sur des données mises à jour avant un redéploiement grâce à une gestion rigoureuse des versions. Tout ce processus de détection, diagnostic et correction fait appel à des procédures supports rodées et en partie automatisées, limitant ainsi les interventions manuelles - coûteuses et risquées. L'enjeu est d'apporter une solution pérenne le plus vite possible lorsqu'une dérive survient", conseille Hugo Hamad, director of artificial intelligence & head of AI Factory chez Decathlon Digital.
Dans un premier temps, il peut parfois être nécessaire d'envoyer "trop d'alertes, surtout quand on déploie une nouvelle solution", avance Corentin Vasseur, qui rappelle qu'au fil des corrections, le modèle deviendra de plus en plus robuste : "Nous mettons alors en place des pipelines de qualité pour nous assurer que la solution prédit correctement, grâce à des contrôles réguliers. Nous pourrons ainsi affiner nos alertes au fur et à mesure, et ne déclencher une alerte qu'en cas de réelle dérive nécessitant une correction. Le développement de ces systèmes de monitoring est itératif, on ne peut pas tout prévoir dès le départ. Pour les sujets sensibles avec un fort impact réputationnel ou financier, nous avons prévu des procédures permettant de remplacer rapidement le modèle en production par des règles métiers plus simples, le temps de corriger et remettre en place une version stable du modèle.