Elnur - stock.adobe.com
Les entreprises commencent à miser sur l'accessibilité de l'IA, de l'automatisation et de l'analyse des données pour rendre efficients des processus métier, de tenter de gagner en réactivité et d'explorer de nouvelles pistes commerciales. La création de processus d'apprentissage automatique efficaces et reproductibles est un élément fondamental pour atteindre ces objectifs.
C'est tout l'objet de la méthodologie MLOps, qui applique les recettes de l'approche DevOps à l'intelligence artificielle. Elle englobe les rôles, les processus et les pratiques utilisés pour entraîner et déployer des modèles de machine learning et de deep learning en production.
Les aspects fondamentaux du MLOps : déploiement, surveillance, cycle de vie et gouvernance
Avec un cadre MLOps en place, les entreprises peuvent déployer des modèles plus rapidement, améliorer la sécurité et la précision, et réagir rapidement lorsque les modèles se dégradent ou que les configurations dérivent.
En ce sens, la surveillance et la maintenance continues des données et des processus de ML sont des pierres angulaires d'un cadre MLOps. Cette approche est différente du DevOps, car elle introduit le concept de tests continus.
Comme les données ingérées par les modèles de ML en production changent au fil du temps, les modèles doivent être surveillés, affinés et recalibrés. Dans les phases de supervision de maintenance, il convient d'ajouter régulièrement de nouvelles données personnalisées, pour s'assurer que les modèles restent à jour et continuent de profiter à l'entreprise. Une surveillance constante permet par ailleurs aux équipes MLOps de détecter les problèmes et de les réparer à temps, afin d'éviter les effets négatifs sur les processus métier qui reposent sur l'IA.
La gestion du cycle de vie permet aux équipes de savoir quelles décisions prendre lorsque des problèmes sont découverts. Le suivi centralisé des expériences comprend des métriques bien définies s'appuyant sur les logs d'accès et d'événements qui permettent aux équipes MLOps de comparer les modèles alternatifs et, si nécessaire, de revenir à une version antérieure.
Venons-en à la gouvernance. Le respect des normes, des réglementations et des standards de l'entreprise exige l'application de bonnes pratiques opérationnelles et une connaissance approfondie des données. Un cadre MLOps bien défini peut aider une équipe à se conformer aux règles régissant le stockage, l'accès et la longévité des données.
Les équipes MLOps expérimentées savent également si un modèle a été entraîné sur des données sensibles et comment cela affecte l'utilisation et le déploiement. De fait, l'inclusion d'informations sensibles et privées dans les données d'entraînement influence la manière dont les organisations peuvent utiliser le modèle. Cela peut restreindre certains usages, qu'ils soient internes (par exemple pour traiter des données RH) ou externes (attribuer un score de crédit, afficher une promotion, etc.).
Des données et des modèles : comprendre les différents pipelines ML
L'ingénierie des données dans l'approche MLOps implique la construction de pipelines qui exécutent une série de processus de collecte, d'ingestion et de transformation de données (ETL/ELT). Certains pipelines sont utilisés au cours de l'entraînement des modèles, afin de constituer des jeux de données d'entraînement et de tests. D'autres pipelines servent à alimenter le modèle en données au moment de l'inférence. Cela implique souvent un mélange de procédures batch et streaming, suivant si l'application repose sur des données en quasi-temps réel ou non.
En outre, le recyclage de modèles, la mise en œuvre d'un suivi avec des mesures bien définies et l'évaluation des modèles (scoring) réclament de déployer des pipelines de données et CI/CD distincts.
Par exemple, afin d'effectuer le scoring, il est possible d'utiliser des données indépendantes, d'employer des modèles « challenger » qui mesurent les prédictions basées sur des variations de la même logique de décision, et d'effectuer des recalibrages fréquents.
Idéalement, il s'agit de synchroniser le déploiement des différents types de pipelines de données et de modèles, afin d'automatiser des processus habituellement manuels et décorrélés.
L'importance de la collaboration
Or, cela réclame une collaboration sans faille. C'est un ingrédient essentiel à la réussite de l'adoption du MLOps. Bien que les développeurs, les data engineers et les ingénieurs ML soient les trois parties prenantes les plus sollicitées, les administrateurs/opérateurs et les data scientists doivent prendre conscience de leur contribution.
Un data scientist seul ne peut pas atteindre les mêmes objectifs qu'une équipe MLOps, diversifiée, expérimentée et cohésive. Une fois les opérations interéquipes en place, les responsables informatiques peuvent tenter d'évaluer ce niveau de cohésion, tout comme ils sont déjà censés le faire dans le cadre de projets DevOps.
Par exemple, la surveillance et le test des modèles nécessitent une bonne compréhension des biais des données. Les data scientists peuvent mener des recherches très ciblées sur les événements, observer les changements de modèle et détecter les dérives. Dans le même temps, les membres de l'équipe opérationnelle peuvent utiliser des indicateurs standards et personnalisés pour surveiller les performances du modèle au fil du temps. Ils peuvent instaurer des alertes qui informent automatiquement des possibles dérives des modèles ou des bugs des systèmes d'IA.
En clair, un cadre MLOps doit permettre de définir si toutes les parties prenantes peuvent accéder au même niveau d'informations ou si, au contraire, il faut segmenter les indicateurs clés de performance et les métriques suivant les rôles impliqués.
Une collection d'outils à déployer
Certains outils peuvent aider à maximiser l'automatisation, à rationaliser la conception des pipelines ML, à améliorer la communication et la collaboration et à garantir des résultats plus fiables.
Les outils MLOps sont généralement conçus pour des étapes spécifiques du cycle de vie des modèles, telles que l'ingestion et la préparation des données, l'entraînement et le déploiement des modèles, ainsi que la vérification et le recyclage. Il existe une grande variété d'outils pour répondre à ces demandes, chacun d'entre eux offrant des caractéristiques et des capacités distinctes. Sur GitHub, Kelvin S. do Prado, ingénieur machine learning chez Nubank (une banque en ligne brésilienne), référence 25 catégories d'outils utiles dans la mise en place d'une démarche MLOps. Parmi celles-ci, l'on trouve les plateformes de machine learning qui rassemblent une partie des éléments nécessaires au cycle de vie d'un modèle d'IA.
Voici quelques-uns des outils MLOps les plus répandus :
- MLflow. Une plateforme open source pour l'ensemble du cycle de vie de la ML.
- Pachyderm. Un outil natif de conteneur pour l'automatisation et la gestion de processus de données complexes.
- Amazon SageMaker. Une plateforme cloud pour la construction, l'entraînement et le déploiement de modèles de ML.
- H2O MLOps. Un outil de collaboration pour la data science et les flux de travail de ML.
- Neptune.ai. Un outil de suivi des expériences de ML et d'enregistrement des modèles.
La bonne chaîne d'outils permet aux équipes de ML de comprendre plus facilement les performances des modèles, d'identifier les erreurs et de les réparer en production.
Pour les entreprises qui souhaitent déplacer leurs processus d'IA et de ML vers le cloud, elles peuvent regarder du côté d'Azure ML, de Google Cloud Vertex AI, AWS AI Services et Oracle AI. Les entreprises qui adoptent une approche multicloud peuvent également choisir des alternatives agnostiques au cloud, telles que MLflow sur Databricks ; Polyaxon, une plateforme open source pour l'automatisation et la reproduction d'applications d'apprentissage profond et de ML ; Kubeflow, un outil pour l'exécution de charges de travail ML sur Kubernetes ou encore Dataiku, une plateforme qui combine des briques propriétaires et MLFlow.