Retour d’expérience client : architecture et construction d’une plateforme MLOps sur le Cloud AWS
Depuis quelques années, notre client (fintech française) met en œuvre une stratégie de valorisation de la donnée par le Machine Learning, dans l’optique d’améliorer aussi bien la personnalisation de l’expérience client que la réduction des coûts via une meilleure prévention contre la fraude.
Pour aller plus loin dans cette démarche ainsi qu’améliorer le time to market des modèles d’IA, notre client a mené un projet de modernisation de son activité Data dans une logique MLOps, où le traitement des données et l’inférence se font en temps réel et où la gestion du cycle de vie des modèles est industrialisée.
Les équipes de Devoteam Revolve ont accompagné l’entreprise dans les grandes étapes de ce projet : co-conception de l’architecture, développement de la plateforme et audit de conformité et de sécurité.
Nous revenons ici sur la mise en œuvre de cette nouvelle infrastructure, qui permet maintenant aux équipes du client d’opérer en interne la plateforme et de déployer des modèles de Machine Learning en production en moins d’une heure.
Contexte du projet sur le Cloud AWS
Historiquement, l’entreprise utilise le Cloud AWS pour des activités de développement logiciel. En 2021, son CDO a lancé un projet de modernisation de la plateforme data, afin de répondre à deux principaux besoins : collecte, transformation et valorisation des données temps réel, et exposition via API afin d’être interconnecté à l’ensemble de l’écosystème applicatif existant.
Ces besoins ont porté logiquement vers le Cloud, et une partie du parc applicatif de l’entreprise étant hébergé chez AWS il était naturel d’y construire la Data Platform, dans l’idée de rapprocher les briques logicielles des environnements de données au sein du même Cloud provider.
Modernisation de la stack data
Bénéficiant d’un niveau de maturité assez élevé sur la valorisation de la donnée par le machine learning, l’entreprise souhaitait aller plus loin dans cette démarche, avec l’ambition de mieux déployer et mieux diffuser le machine learning dans l’ensemble de ses processus, de ses applicatifs, et au contact de ses clients et utilisateurs.
Pour ce faire, il fallait développer de nouvelles fonctionnalités, et disposer d’un environnement technologique capable de s’interfacer avec le patrimoine applicatif existant. L’objectif était de pouvoir collecter la donnée et de faire de l’inférence en temps réel.
Pour ce faire, un environnement performant, qui offre nativement des fonctionnalités de temps réel, était nécessaire. Le Cloud permettait de bénéficier de ces fonctionnalités, contrairement aux environnements existants on premise, qui en termes de capacités et de scalabilité arrivaient à leurs limites.
Des nouveaux usages, liés aux nouveaux types de données moins structurées, ont également émergé (Natural Language Processing notamment). Le Cloud a apporté plus de souplesse dans la gestion de la plateforme, avec la capacité de sélectionner des services sur étagère dans un environnement managé qui assurent la scalabilité.
Les services AWS de cette nouvelle infrastructure
L’entreprise a utilisé des services assez classiques sur AWS, notamment S3 pour le stockage de toutes les données, Glue et Athena pour leur structuration, Kinesis pour le streaming ou DynamoDB afin d’avoir des temps de réponse quasi-instantanés.
L’ensemble des pipelines sont développés en serverless avec des fonctions Lambda, ce qui permet également de bénéficier de la scalabilité sans avoir à gérer l’infrastructure sous-jacente. Et pour ce qui touche au Machine Learning et cycle de vie MLOps, Sagemaker a été choisi.
La stratégie était de capitaliser au maximum sur des services natifs AWS pour ne pas avoir à recomposer une galaxie d’outils, et donc devoir gérer l’interface entre les services et la composition des briques applicatives. Cette approche a permis de tirer profit au maximum du management des environnements par AWS, en garantissant l’évolutivité de l’infrastructure, avec un minimum de maintenance.
Etat des lieux
Aujourd’hui plusieurs modèles de Machine Learning sont en production sur l’environnement. Ces modèles sont exposés via des API, accessibles en temps réel 24/24, et ils sont consommés à la demande par différents applicatifs internes (application mobile, outil CRM, etc…).
Chaque nouveau cas d’usage data est IA est désormais considéré sous le prisme des contraintes business : s’il a besoin de temps réel, ou d’une très forte puissance de calcul ou de scalabilité instantanée, alors il est développé sur la nouvelle plateforme.
L’industrialisation du process MLOps
Un gros travail de standardisation du process MLOps a été mené sur l’ensemble de la chaîne depuis la collecte, la transformation et l’entraînement des modèles jusqu’au packaging, déploiement, monitoring des performances et réentrainement ensuite.
Le travail de standardisation de ce cycle permet maintenant d’appliquer ce framework construit en interne à chaque nouveau projet. Pouvoir déployer l’ensemble de cette stack MLOps de façon automatisée a permis de réduire le time to market des projets futurs.
Cas d’usage du machine learning
Le premier cas d’usage est lié aux objectifs business : personnaliser l’expérience et alimentation un moteur de recommandations.
Ensuite, il y a la gestion des risques. Les fintechs sont exposées à de nombreuses tentatives de fraude depuis le Covid et doivent lutter contre des techniques de plus en plus évoluées et professionnalisées. Dans ce contexte, les modèles d’IA permettent d’améliorer aussi bien la capacité de détection que la capacité d’intervention.
Enfin, le Machine Learning est aussi un outil d’amélioration des process internes, par exemple via l’analyse sémantique des contenus textuels et non structurés.
Périmètre d’intervention Devoteam Revolve
Devoteam Revolve est intervenu sur trois moments clés du projet. Tout d’abord sur la phase initiale de définition de l’architecture, puisqu’il fallait construire de zéro une nouvelle plateforme de données dans AWS ; l’équipe Devoteam Revolve a apporté son expertise dans la réflexion autour des choix d’architecture.
Dans un second temps, un accompagnement plus opérationnel sur le Data engineering et MLOps : la construction du framework interne, avec l’ensemble de services et leur articulation.
Enfin, une troisième phase a eu lieu en fin de projet pour valider la conformité du projet. L’audit mené par Devoteam Revolve a permis de s’assurer que l’ensemble des développements répondaient aux meilleurs standards de sécurité ainsi qu’aux exigences réglementaires (comme le RGPD), et aux normes internes.
Témoignage client
Qu’est-ce qui a motivé le choix de Devoteam Revolve ?
Nous cherchions un partenaire avec une forte expertise sur AWS, et celle de Devoteam Revolve est reconnue par AWS, c’était pour nous un gage de confiance pour engager la relation. Nous avons ensuite eu de très bons échanges au début du projet sur la phase de cadrage, et cela nous a convaincus que Devoteam Revolve était le bon partenaire pour mener ce projet.
Quelle a été la plus value de cet accompagnement ?
Je retiendrai deux points. Tout d’abord, l’accompagnement de Devoteam Revolve nous a servi d’accélérateur durant la phase de cadrage. Nous avons pu échanger avec des consultants qui avaient l’expérience de ce type de projet, ce qui nous a permis d’avoir des réponses rapides et d’éviter de se lancer dans des impasses techniques. Nous avons ainsi pu lancer très rapidement le projet.
Ensuite, l’accompagnement a permis la montée en compétence de nos équipes internes. Le projet a été co-construit avec nos équipes, et le soutien des référents de Devoteam Revolve durant le développement nous a permis d’acquérir les compétences AWS nécessaires à son exploitation. Il était vraiment important pour la pérennité du projet d’acquérir cette expertise en interne.
Où en êtes-vous aujourd’hui ?
Il reste bien évidemment des choses à faire mais l’environnement est opérationnel, avec de nombreux modèles en production. Compte-tenu de notre point de départ, et des ressources à notre disposition, nous sommes très satisfaits d’avoir réussi à livrer cette infrastructure en production dans un délai court. Nous sommes partis d’une page blanche, et nous avons maintenant un produit fini, que nous sommes capables d’opérer en interne.
Par ailleurs, nous continuons à travailler avec Devoteam Revolve sur l’industrialisation et l’optimisation de la plateforme, et sur l’acquisition des bonnes pratiques.
Pour terminer, quel bilan tirez-vous de ce projet ?
Le bilan est très positif. Ce projet nous a permis de montrer notre capacité d’innovation et de transformation sur les sujets Data.
Dans un environnement régulé, c’est une vraie fierté d’avoir réussi à transformer nos modes opératoires et nos outils historiques, afin de faire aujourd’hui du MLOps de façon industrielle : nous pouvons maintenant relivrer en production des modèles en quelques minutes, sans interruption de service et de manière transparente pour l’utilisateur.
Cela nous a aussi ouvert de nouvelles fonctionnalités comme l’industrialisation de l’A/B testing : nous testons en parallèle plusieurs algorithmes, afin de sélectionner le meilleur modèle dans des conditions de production, en fonction de ses performances et de sa pertinence.