2023-06-07 13:53 Temps de lecture : 17 min

9 meilleures plates-formes MLOps pour créer et déployer vos modèles d'apprentissage automatique

La création d'un modèle d'apprentissage automatique est une tâche relativement simple. Cependant, la gestion et l'itération de centaines, voire de milliers, de ces modèles représentent un défi de taille.

Il est facile de se perdre dans ce qui pourrait rapidement devenir un véritable chaos. Cette situation est d'autant plus complexe lorsque l'on travaille en équipe, car il faut coordonner et suivre les actions de chacun. Pour maîtriser ce chaos, l'équipe doit adopter un processus structuré et documenter chaque étape. C'est là que la méthodologie MLOps prend toute son importance.

Qu'est-ce que MLOps ?

Source : ml-ops.org

Selon MLOps.org, l'opérationnalisation de l'apprentissage automatique vise à établir un processus complet de développement ML, de la conception à la gestion de logiciels reproductibles, testables et évolutifs. En substance, MLOps est l'application des principes DevOps au domaine de l'apprentissage automatique.

À l'instar de DevOps, MLOps met l'accent sur l'automatisation pour réduire les interventions manuelles et augmenter l'efficacité. De plus, comme DevOps, MLOps intègre l'intégration continue (CI) et la livraison continue (CD), et y ajoute la formation continue (CT). Cette composante CT permet de réentraîner les modèles avec de nouvelles données et de les redéployer.

MLOps est donc une culture d'ingénierie qui encourage une approche méthodique du développement de modèles d'apprentissage automatique et l'automatisation des différentes phases du processus, qui inclut notamment l'extraction, l'analyse, la préparation, la formation, l'évaluation, le déploiement et la surveillance des modèles.

Avantages des MLOps

Les bénéfices découlant de l'application des principes MLOps sont généralement similaires à ceux que l'on observe lors de l'adoption de procédures opérationnelles standard. Parmi ces avantages, on peut citer :

  • Un processus clairement défini sert de feuille de route, détaillant les étapes essentielles à suivre lors du développement d'un modèle. Ceci assure qu'aucune étape cruciale ne soit oubliée.
  • Les phases du processus qui sont automatisables peuvent être identifiées et mises en œuvre, réduisant ainsi la charge de travail répétitive et accélérant le développement, tout en éliminant les erreurs humaines.
  • Il devient plus aisé d'évaluer la progression du développement en connaissant précisément l'étape où se trouve un modèle.
  • La communication au sein des équipes est facilitée grâce à un vocabulaire commun pour décrire les différentes étapes du développement.
  • Ce processus peut être réappliqué pour développer de nombreux modèles, offrant ainsi un moyen de maîtriser la complexité.

En résumé, MLOps joue un rôle crucial en fournissant une méthode structurée et automatisée pour le développement de modèles d'apprentissage automatique.

Plateformes pour la construction de pipelines

Pour vous aider à intégrer MLOps dans vos pipelines, diverses plateformes sont à votre disposition. Bien que leurs fonctionnalités spécifiques puissent varier, elles ont en commun de permettre de :

  • Stocker les modèles avec leurs métadonnées associées (configurations, code, précision, expériences), incluant différentes versions pour le contrôle de version.
  • Stocker les métadonnées des ensembles de données utilisés pour l'entraînement des modèles.
  • Surveiller les modèles en production pour détecter les problèmes, comme la dérive des données.
  • Déployer les modèles en production.
  • Créer des modèles dans des environnements low-code ou no-code.

Voici un aperçu des principales plateformes MLOps.

MLFlow

MLFlow est l'une des plateformes de gestion du cycle de vie de l'apprentissage automatique les plus populaires. Elle est gratuite et open source, et offre les fonctionnalités suivantes :

  • Le suivi des expériences d'apprentissage automatique, du code, des données, des configurations et des résultats.
  • La gestion de projets pour empaqueter le code dans un format facile à reproduire.
  • Le déploiement pour mettre en production les modèles.
  • Un registre pour centraliser tous les modèles.

MLFlow est compatible avec les bibliothèques d'apprentissage automatique courantes telles que TensorFlow et PyTorch, ainsi qu'avec des plateformes comme Apache Spark, H2O.ai, Google Cloud, Amazon SageMaker, Azure Machine Learning et Databricks. Elle fonctionne également avec divers fournisseurs de cloud, comme AWS, Google Cloud et Microsoft Azure.

Azure Machine Learning

Azure Machine Learning est une plateforme complète d'apprentissage automatique qui prend en charge les différentes étapes du cycle de vie des modèles, allant de la préparation des données à la création, à l'entraînement, à la validation, au déploiement, à la gestion et à la surveillance des modèles.

Azure Machine Learning permet de créer des modèles avec l'IDE et le framework de votre choix (PyTorch ou TensorFlow) et s'intègre avec ONNX Runtime et Deepspeed pour optimiser la formation et l'inférence, améliorant ainsi les performances. Elle exploite l'infrastructure d'IA de Microsoft Azure, combinant les GPU NVIDIA et le réseau Mellanox pour la création de clusters d'apprentissage automatique. Avec AML, il est possible de créer un registre centralisé pour stocker et partager les modèles et les ensembles de données.

Azure Machine Learning s'intègre avec Git et GitHub Actions pour automatiser les workflows, et supporte les configurations hybrides ou multi-cloud. Elle est également compatible avec d'autres services Azure tels que Synapse Analytics, Data Lake, Databricks et Security Center.

Google Vertex AI

Google Vertex AI est une plateforme unifiée de données et d'IA qui fournit tous les outils nécessaires pour créer des modèles personnalisés et pré-entraînés, et sert de solution complète pour l'implémentation de MLOps. Elle s'intègre avec BigQuery, Dataproc et Spark pour faciliter l'accès aux données pendant l'entraînement.

En plus de l'API, Google Vertex AI propose un environnement low-code et no-code, accessible aux non-développeurs comme les analystes, les ingénieurs commerciaux et de données. L'API permet l'intégration aux systèmes existants.

Google Vertex AI permet également de créer des applications d'IA générative grâce à Generative AI Studio. Elle simplifie et accélère le déploiement et la gestion de l'infrastructure. Google Vertex AI est idéale pour la préparation des données, l'ingénierie des fonctionnalités, l'entraînement et le réglage des hyperparamètres, le service des modèles, le réglage et la compréhension des modèles, la surveillance des modèles et la gestion des modèles.

Databricks

Databricks est une plateforme data lakehouse permettant de préparer et de traiter les données. Elle offre une gestion complète du cycle de vie de l'apprentissage automatique, de l'expérimentation à la production.

Databricks intègre des fonctionnalités MLFlow gérées, comme la journalisation des données, le suivi des expériences, la diffusion de modèles, un registre de modèles, et le suivi des métriques. Le registre de modèles permet de stocker les modèles à des fins de reproductibilité et de suivre les versions et leur étape du cycle de vie.

Le déploiement de modèles est simplifié avec des points de terminaison d'API REST pour effectuer des prédictions. Elle est compatible avec les modèles de langage génératifs et les grands modèles pré-entraînés existants.

Databricks propose des notebooks collaboratifs supportant Python, R, SQL et Scala. De plus, elle simplifie la gestion de l'infrastructure en offrant des clusters préconfigurés, optimisés pour les tâches d'apprentissage automatique.

AWS SageMaker

AWS SageMaker est un service cloud d'AWS qui fournit les outils nécessaires pour développer, entraîner et déployer des modèles d'apprentissage automatique. Son objectif principal est d'automatiser les tâches manuelles répétitives liées à la construction de modèles.

Elle offre des outils pour créer un pipeline de production pour les modèles, en utilisant des services AWS comme les instances Amazon EC2 et le stockage Amazon S3.

SageMaker fonctionne avec des Jupyter Notebooks installés sur une instance EC2, comprenant tous les packages et bibliothèques nécessaires. Pour les données, SageMaker peut les extraire d'Amazon Simple Storage Service.

Elle inclut des implémentations d'algorithmes d'apprentissage automatique courants comme la régression linéaire et la classification d'images, ainsi qu'un moniteur de modèle pour un réglage continu et automatique afin d'optimiser les performances. Le déploiement est également simplifié, permettant de déployer facilement un modèle sur AWS comme un point de terminaison HTTP sécurisé et surveillé avec CloudWatch.

DataRobot

DataRobot est une plateforme MLOps populaire qui permet de gérer différentes étapes du cycle de vie de l'apprentissage automatique, notamment la préparation des données, l'expérimentation ML, la validation et la gouvernance des modèles.

Elle propose des outils pour automatiser l'exécution d'expériences avec différentes sources de données, tester des milliers de modèles et évaluer les meilleurs à déployer en production. Elle supporte la création de modèles pour divers types de tâches d'IA, comme les séries chronologiques, le traitement du langage naturel et la vision par ordinateur.

Avec DataRobot, vous pouvez créer des modèles en utilisant des solutions prêtes à l'emploi, sans écrire de code, ou opter pour une approche axée sur le code et implémenter des modèles avec du code personnalisé.

DataRobot comprend des cahiers pour l'écriture et la modification du code, et permet également d'utiliser une API pour développer des modèles dans un IDE de votre choix. L'interface graphique permet de suivre l'évolution des expériences.

Run AI

Run AI vise à résoudre le problème de la sous-utilisation de l'infrastructure d'IA, en particulier les GPU. Elle offre une meilleure visibilité sur l'infrastructure et s'assure que les ressources sont utilisées efficacement durant l'entraînement.

Pour ce faire, Run AI se positionne entre le logiciel MLOps et le matériel de l'entreprise. Les tâches d'entraînement sont exécutées via Run AI, qui planifie leur exécution.

Le matériel peut être basé sur le cloud (AWS, Google Cloud), sur site ou hybride. Run AI sert de couche d'abstraction pour les équipes d'apprentissage automatique, en fonctionnant comme une plateforme de virtualisation GPU. Les tâches peuvent être exécutées à partir de Jupyter Notebook, d'un terminal bash ou de PyCharm distant.

H2O.ai

H2O est une plateforme d'apprentissage automatique open source et distribuée. Elle permet aux équipes de collaborer et de créer un référentiel centralisé pour les modèles, afin que les data scientists puissent expérimenter et comparer différents modèles.

En tant que plateforme MLOps, H2O offre plusieurs fonctionnalités clés, comme la simplification du déploiement des modèles sur un serveur en tant que point de terminaison REST et la mise en place de tests A/B, de modèles champion-challenger, et le déploiement simple de modèles.

Durant l'entraînement, elle stocke et gère les données, les artefacts, les expériences, les modèles et les déploiements, garantissant la reproductibilité des modèles. Elle permet également la gestion des permissions au niveau des groupes et des utilisateurs pour contrôler les modèles et les données. Pendant l'exécution, H2O assure une surveillance en temps réel de la dérive des modèles et d'autres mesures opérationnelles.

Gradient de Paperspace

Gradient accompagne les développeurs à chaque étape du cycle de développement de l'apprentissage automatique. Elle propose des notebooks open source basés sur Jupyter pour le développement de modèles et la formation dans le cloud, avec de puissants GPU, permettant d'explorer et de prototyper rapidement des modèles.

L'automatisation des pipelines de déploiement est possible grâce à la création de workflows, définis par la description de tâches en YAML. Ces workflows facilitent la réplication des déploiements et la mise à l'échelle des modèles.

Gradient fournit des conteneurs, des machines, des données, des modèles, des métriques, des journaux et des secrets pour aider à gérer les différentes étapes du pipeline de développement de modèles. Les pipelines s'exécutent sur des clusters Gradient, hébergés sur Paperspace Cloud, AWS, GCP, Azure, ou d'autres serveurs. Gradient peut être interagi via la CLI ou le SDK.

Derniers mots

MLOps représente une approche puissante et adaptable pour la création, le déploiement et la gestion de modèles d'apprentissage automatique à grande échelle. Elle se caractérise par sa facilité d'utilisation, son évolutivité et sa sécurité, ce qui en fait une solution de choix pour les organisations de toutes tailles.

Cet article a abordé la méthodologie MLOps, son importance, ses composants clés et les principales plateformes disponibles.

Pour aller plus loin, vous pourriez consulter notre comparatif entre Databricks et Snowflake.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.