MLflow

MLflow simplifie le cycle de vie du machine learning avec des outils pour le suivi des expériences, la gestion des modèles, la collaboration et des workflows ML reproductibles.

MLflow

MLflow

MLflow est une plateforme open source qui simplifie le cycle de vie du ML, offrant des outils pour le suivi des expériences, l’empaquetage du code, la gestion des modèles et la collaboration. Ses composants améliorent la reproductibilité, le déploiement et le contrôle du cycle de vie à travers divers environnements.

MLflow est une plateforme open source conçue pour simplifier et gérer le cycle de vie de l’apprentissage automatique (ML), en répondant aux complexités liées au développement, au déploiement et à la gestion des modèles de machine learning. Elle propose une suite d’outils permettant aux data scientists et ingénieurs ML de suivre les expériences, d’empaqueter le code, de gérer les modèles et de collaborer de manière plus organisée et efficace. MLflow est indépendant de la bibliothèque, ce qui le rend compatible avec un vaste éventail de frameworks et bibliothèques de machine learning.

MLflow platform diagram

Composants principaux de MLflow

MLflow est structuré autour de quatre composants principaux, chacun remplissant un rôle spécifique dans le workflow de machine learning :

1. MLflow Tracking

Ce que c’est
MLflow Tracking est un composant qui fournit une API et une interface utilisateur pour enregistrer les expériences de machine learning. Il enregistre et interroge les paramètres, les versions du code, les métriques et les fichiers de sortie (artefacts).

Cas d’utilisation
Un data scientist peut utiliser MLflow Tracking pour enregistrer différents hyperparamètres utilisés lors de diverses expériences et comparer leurs effets sur la performance du modèle. Par exemple, lors de l’entraînement d’un réseau de neurones, différents taux d’apprentissage et tailles de batch peuvent être enregistrés et analysés afin de déterminer quelle configuration donne les meilleurs résultats.

Exemple
Enregistrer des paramètres tels que le taux d’apprentissage, la taille de batch, et des métriques comme la précision et la perte lors de l’entraînement d’un modèle. Ces informations aident à visualiser et comparer plusieurs essais pour identifier les réglages d’hyperparamètres les plus efficaces.

2. MLflow Projects

Ce que c’est
MLflow Projects propose un format standard pour empaqueter et partager le code de machine learning. Il garantit que les expériences sont reproductibles et portables, en définissant les dépendances du projet et les environnements d’exécution.

Cas d’utilisation
Lors d’une collaboration sur un projet entre différentes équipes ou du déploiement de modèles dans divers environnements, MLflow Projects garantit que le code s’exécute de manière cohérente, quel que soit l’endroit où il est lancé.

Exemple
Un dossier de projet contenant un fichier MLproject qui spécifie comment exécuter le code, ses dépendances et ses points d’entrée. Cette configuration permet à une équipe de partager facilement son travail et de reproduire des résultats dans différents environnements.

3. MLflow Models

Ce que c’est
MLflow Models est un composant qui permet d’empaqueter des modèles de machine learning dans un format pouvant être déployé sur plusieurs plateformes, supportant l’inférence en temps réel ou par lot.

Cas d’utilisation
Après l’entraînement d’un modèle, un data scientist peut utiliser MLflow Models pour empaqueter le modèle avec ses dépendances, le rendant prêt à être déployé sur des plateformes cloud telles qu’AWS SageMaker ou Azure ML.

Exemple
Enregistrer un modèle entraîné au format MLflow, qui inclut un fichier modèle sérialisé et un fichier de configuration MLmodel. Cela garantit que le modèle peut être facilement chargé et utilisé pour l’inférence dans divers environnements.

4. MLflow Model Registry

Ce que c’est
Le Model Registry est un magasin centralisé pour la gestion du cycle de vie des modèles MLflow. Il fournit la gestion des versions de modèles, la transition d’étapes et les annotations, assurant une bonne gouvernance et la collaboration.

Cas d’utilisation
En environnement de production, le Model Registry aide les équipes MLOps à gérer les versions de modèles, suivre les modifications et contrôler les étapes de déploiement des modèles du développement à la production.

Exemple
Enregistrer un modèle dans le Model Registry de MLflow, lui attribuer un numéro de version et le faire passer par des étapes comme « Staging » et « Production » afin de garantir un processus de mise en production maîtrisé.

Avantages de l’utilisation de MLflow

MLflow offre plusieurs avantages qui améliorent le processus de développement du machine learning :

  1. Suivi d’expérience simplifié : MLflow fournit une interface unifiée pour enregistrer et comparer les expériences, facilitant la reproductibilité et la collaboration.
  2. Collaboration améliorée : En centralisant les données d’expérience et en offrant une plateforme commune, MLflow favorise le partage de connaissances et le travail d’équipe entre data scientists et ingénieurs.
  3. Déploiement efficace des modèles : MLflow Models standardise le processus d’empaquetage et de déploiement, permettant de déplacer facilement les modèles de l’environnement de développement à la production.
  4. Gestion complète des modèles : Le Model Registry permet une gestion efficace du cycle de vie, incluant la gestion des versions et les transitions d’étapes, assurant un déploiement contrôlé des modèles.
  5. Pipelines reproductibles : MLflow Projects et Pipelines soutiennent la création de workflows reproductibles, renforçant la cohérence et la scalabilité des processus de machine learning.
  6. Open source et extensible : En tant que plateforme open source, MLflow est continuellement amélioré par une communauté de contributeurs. Son extensibilité permet l’intégration à divers outils et la personnalisation selon les besoins spécifiques.

Cas d’utilisation de MLflow

MLflow est polyvalent et peut être appliqué à divers scénarios de machine learning :

  • Suivi d’expériences : Les data scientists utilisent MLflow Tracking pour enregistrer et comparer les résultats expérimentaux, affinant les modèles sur la base d’analyses des données.
  • Sélection et déploiement de modèles : Les ingénieurs MLOps utilisent le Model Registry pour sélectionner et déployer les modèles les plus performants en production.
  • Surveillance des performances des modèles : Après le déploiement, les équipes utilisent MLflow pour surveiller les performances des modèles et effectuer les ajustements nécessaires afin de maintenir précision et fiabilité.
  • Projets collaboratifs : Les équipes organisent leur travail avec MLflow Projects, favorisant la collaboration et garantissant une exécution cohérente dans différents environnements.

MLflow dans l’IA, l’automatisation IA et les chatbots

Les capacités de MLflow s’étendent à l’automatisation de l’IA et au développement de chatbots en fournissant des outils qui simplifient l’entraînement, le déploiement et la surveillance des modèles IA. Par exemple, lors du développement de chatbots, MLflow peut être utilisé pour entraîner des modèles de traitement du langage naturel, suivre leurs performances sur différents jeux de données, et gérer leur déploiement sur diverses plateformes conversationnelles, garantissant ainsi que les réponses du chatbot sont précises et fiables.

Recherche sur MLflow

MLflow est une plateforme open source conçue pour gérer le cycle de vie du machine learning, y compris l’expérimentation, la reproductibilité et le déploiement. Elle est de plus en plus utilisée dans divers contextes scientifiques et industriels pour simplifier le workflow des projets de machine learning.

  1. SAINE : Scientific Annotation and Inference Engine of Scientific Research
    Dans cet article, les auteurs présentent SAINE, un moteur d’annotation qui intègre MLflow pour améliorer les processus de classification en recherche scientifique. L’étude met en avant comment MLflow aide au développement d’un système de classification transparent et précis. Le moteur soutient les projets de méta-science et favorise la collaboration au sein de la communauté scientifique. L’article propose également une vidéo de démonstration et une démonstration en direct pour mieux comprendre les capacités du système. En savoir plus

  2. IQUAFLOW : un nouveau framework pour mesurer la qualité d’image
    IQUAFLOW utilise MLflow pour fournir un cadre d’évaluation de la qualité d’image en évaluant la performance des modèles IA. Le framework intègre des métriques personnalisées et facilite les études sur la dégradation des performances due à des modifications d’image comme la compression. MLflow est utilisé comme outil interactif pour visualiser et résumer les résultats dans ce contexte. Cet article décrit différents cas d’utilisation et fournit des liens vers des dépôts complémentaires. Explorer davantage.

  3. Vers une intégration légère des données grâce à la provenance multi-workflow et l’observabilité des données
    Cette étude propose MIDA, un framework qui exploite MLflow pour l’observabilité et l’intégration des données à travers divers environnements informatiques. Elle aborde les défis des collaborations multidisciplinaires et soutient le développement d’une IA responsable. MLflow joue un rôle dans la gestion des flux de données entre différents systèmes sans instrumentation supplémentaire, améliorant la reproductibilité et l’efficacité des workflows scientifiques.

Questions fréquemment posées

Qu'est-ce que MLflow ?

MLflow est une plateforme open source qui simplifie le cycle de vie du machine learning, offrant des outils pour le suivi des expériences, l'empaquetage du code, la gestion des modèles et la collaboration. Elle améliore la reproductibilité, le déploiement et le contrôle du cycle de vie à travers divers environnements.

Quels sont les composants principaux de MLflow ?

MLflow se compose de quatre éléments principaux : Tracking (pour enregistrer et comparer les expériences), Projects (pour l'empaquetage du code), Models (pour l'empaquetage et le déploiement des modèles), et Model Registry (pour la gestion des versions de modèles et des étapes de déploiement).

Comment MLflow favorise-t-il la collaboration ?

MLflow centralise les données d'expériences et fournit une plateforme unifiée, facilitant le partage de connaissances et le travail d'équipe entre data scientists et ingénieurs.

MLflow peut-il être utilisé avec différents frameworks ML ?

Oui, MLflow est indépendant de la bibliothèque et compatible avec un large éventail de frameworks et bibliothèques de machine learning.

Quels sont quelques cas d'utilisation de MLflow ?

MLflow peut être utilisé pour le suivi des expériences, la sélection et le déploiement de modèles, le monitoring des performances, et l'organisation de projets collaboratifs de machine learning.

Essayez FlowHunt avec l'intégration MLflow

Commencez à créer des solutions IA et simplifiez votre cycle de vie du machine learning en intégrant MLflow. Améliorez la collaboration, la reproductibilité et le déploiement—tout sur une seule plateforme.

En savoir plus