MLflow sur Databricks
Cet article décrit comment MLflow sur Databricks est utilisé pour développer des agents d'IA générative de haute qualité et des modèles de machine learning.
Si vous êtes juste start avec Databricks, envisagez d'essayer MLflow sur Databricks Free Edition.
Qu'est-ce que MLflow ?
MLflow est la plus grande plateforme **d'ingénierie d'IA** open source pour les agents, les LLM et les modèles ML. MLflow permet aux équipes de toutes tailles de déboguer, évaluer, surveiller et optimiser les applications d'IA de qualité production tout en contrôlant les coûts et en gérant l'accès aux modèles et aux données. Avec plus de 30 millions de téléchargements mensuels, des milliers d'organisations comptent sur MLflow chaque jour pour déployer l'IA en production en toute confiance.
La suite complète de fonctionnalités de MLflow pour les agents et les applications LLM comprend une observabilité de niveau production, une évaluation, une gestion des invites, une passerelle IA pour la gestion des coûts et de l'accès aux modèles, et bien plus encore.
Pour le développement de modèles de Machine Learning (ML), MLflow offre le suivi d'Experimentation, les capacités d'évaluation de modèles, un registre de modèles de production et des outils de déploiement de modèles.
MLflow prend en charge tout fournisseur de LLM, framework d'agent, bibliothèque ML et langage de programmation. MLflow fournit des SDK natifs pour Python, TypeScript/JavaScript, Java et R.
MLflow 3
MLflow 3 sur Databricks offre une observabilité, une évaluation et une gestion des prompts de pointe pour les agents et les applications LLM. Pour le développement de modèles ML, MLflow 3 offre le suivi des expérimentations, l’évaluation des modèles, un registre de modèles de production et des outils de déploiement de modèles. En utilisant MLflow 3 sur Databricks, vous pouvez :
-
Suivez et analysez de manière centralisée les performances de vos modèles, applications d'IA et agents dans tous les environnements, des queries interactives dans un Notebook de développement aux déploiements de service par batch ou en temps réel en production.

-
Orchestrez les workflows d'évaluation et de déploiement à l'aide de Unity Catalog et accédez à des logs d'état complets pour chaque version de votre modèle, application d'IA ou agent.

-
Affichez et accédez aux métriques et paramètres du modèle depuis la page de version du modèle dans Unity Catalog et depuis l'API REST.

-
Annotez les requêtes et les réponses ( traces ) pour toutes vos applications et agents d'IA générative, permettant aux experts humains et aux techniques automatisées (telles que LLM-as-a-judge) de fournir un feedback riche. Vous pouvez tirer parti de ces commentaires pour évaluer et comparer les performances des versions d'applications et pour créer des datasets afin d'améliorer la qualité.

Ces fonctionnalités simplifient et rationalisent l'évaluation, le déploiement, le debugging et le monitoring pour toutes vos initiatives d'IA.
MLflow 3 introduit également les concepts de modèles journalisés et de tâches de déploiement.
- Les modèles journalisés vous aident à suivre la progression d'un modèle tout au long de son cycle de vie. Lorsque vous journalisez un modèle à l'aide de
log_model(), unLoggedModelest créé qui persiste tout au long du cycle de vie du modèle, dans différents environnements et exécutions, et contient des liens vers des artefacts tels que des métadonnées, des métriques, des paramètres et le code utilisé pour générer le modèle. Vous pouvez utiliser le modèle journalisé pour comparer les modèles entre eux, trouver le modèle le plus performant et suivre les informations pendant le débogage. - Les jobs de déploiement peuvent être utilisés pour gérer le cycle de vie du modèle, y compris des étapes comme l'évaluation, l'approbation et le déploiement. Ces workflows de modèle sont régis par Unity Catalog, et tous les événements sont enregistrés dans un journal d'activités disponible sur la page de version du modèle dans Unity Catalog.
Consultez les articles suivants pour installer et get start using MLflow 3.
- Démarrez avec MLflow 3 pour les modèles.
- Suivre et comparer les modèles à l'aide des modèles journalisés MLflow.
- Améliorations de Model Registry avec MLflow 3.
- Jobs de déploiement MLflow 3.
MLflow géré par Databricks
Databricks fournit une version entièrement managée et hébergée de MLflow, s'appuyant sur l'expérience open source pour la rendre plus robuste et évolutive pour une utilisation en entreprise.
Agents et applications LLM
MLflow sur Databricks fournit une plateforme complète pour le développement, l'évaluation et le monitoring d'agents et d'applications LLM.
- **Observabilité :** MLflow Tracing enregistre les entrées, les sorties et les métadonnées associées à chaque étape intermédiaire d'une requête, vous permettant de trouver rapidement la source d'un comportement inattendu chez les agents.
- Évaluation : Utilisez l'Agent Evaluation pour mesurer et améliorer la qualité des agents, optimisée par l'évaluation MLflow.
- **Gestion des prompts** : Versionnez, gérez et itérez sur les Template de prompts utilisés dans vos applications d'IA.
- Développement d'agents : Utilisez les agents personnalisés pour créer des agents, qui s'appuient sur MLflow pour suivre le code de l'agent, les métriques de performance et les traces.
- debugging interactif : utilisez Genie Code pour l’observabilité et l’évaluation des agents pour accéder en langage naturel aux traces, aux exécutions d’évaluation, aux évaluateurs et plus encore au sein de votre Experimentation MLflow.
Développement de modèles ML
MLflow sur Databricks propose le suivi des expérimentations, l'évaluation de modèles, un registre de modèles de production et des outils de déploiement de modèles pour le développement de modèles de ML.
Le diagramme suivant montre comment Databricks s'intègre à MLflow pour entraîner et déployer des modèles de machine learning.

MLflow géré par Databricks est basé sur Unity Catalog et le Data Lake Cloud pour unifier toutes vos données et assets d’IA dans le cycle de vie du ML :
- Magasin de fonctionnalités : les recherches de fonctionnalités automatisées de Databricks simplifient l’intégration et réduisent les erreurs.
- Entraîner les modèles : Utilisez les fonctionnalités Databricks AI pour entraîner des modèles ou affiner des modèles de base.
- Tracking : MLflow suit l'entraînement en enregistrant les paramètres, les indicateurs et les artefacts pour évaluer et comparer les performances du modèle.
- Model Registry : MLflow Model Registry, intégré à Unity Catalog, centralise les modèles et artefacts d'IA.
- Model Serving : Model Serving déploie des modèles vers un Endpoint d'API REST.
- Monitoring : Model Serving capture automatiquement les requêtes et les réponses afin de surveiller et de déboguer les modèles. MLflow enrichit ces données avec des données de trace pour chaque requête.
Entraînement de modèle
Les MLflow Models sont au cœur du développement de l'IA et du ML sur Databricks. MLflow Models est un format standardisé d'empaquetage des modèles de machine learning et des agents d'IA générative. Le format standardisé garantit que les modèles et les agents peuvent être utilisés par les outils et les workflows en aval sur Databricks.
- Documentation MLflow - Modèles.
Databricks fournit des fonctionnalités pour vous aider à entraîner différents types de modèles de ML.
Suivi d'Experimentation
Databricks utilise les expériences MLflow comme unités organisationnelles pour suivre votre travail lors du développement de modèles.
Le suivi d'expérimentation vous permet de log et de gérer les paramètres, les métriques, les artefacts et les versions de code pendant l'entraînement de machine learning et le développement d'agents. L'organisation des logs en expérimentations et exécutions vous permet de comparer les modèles, d'analyser les performances et d'itérer plus facilement.
- Suivi des expérimentations à l'aide de Databricks.
- Consultez la documentation MLflow pour obtenir des informations générales sur le suivi des runs et des Experimentation.
Model Registry avec Unity Catalog.
MLflow Model Registry est un repository de modèles centralisé, une interface utilisateur et un ensemble d'APIs pour gérer le processus de déploiement de modèles.
Databricks intègre Model Registry à Unity Catalog pour fournir une gouvernance centralisée des modèles. L'intégration d'Unity Catalog vous permet d'accéder aux modèles dans les espaces de travail, de suivre le lignage des modèles et de découvrir des modèles à réutiliser.
- Gérer les modèles à l'aide de Databricks Unity Catalog.
- Voir la documentation MLflow pour des informations générales sur le Model Registry.
Model Serving
Databricks Model Serving est étroitement intégré à MLflow Model Registry et fournit une interface unifiée et évolutive pour le déploiement, la gouvernance et l'interrogation de modèles d'IA. Chaque modèle que vous servez est disponible en tant qu'API REST que vous pouvez intégrer dans des applications web ou clientes.
Bien qu'il s'agisse de composants distincts, Model Serving s'appuie fortement sur MLflow Model Registry pour gérer le versionnement des modèles, la gestion des dépendances, la validation et la gouvernance.
Fonctionnalités open source vs. MLflow gérées par Databricks
Pour les concepts généraux, les APIs et les fonctionnalités MLflow partagés entre les versions open source et gérées par Databricks, référez-vous à la documentation MLflow. Pour les fonctionnalités exclusives de MLflow géré par Databricks, consultez la documentation Databricks.
Le tableau suivant met en évidence les principales différences entre MLflow open source et MLflow géré par Databricks et fournit des liens vers la documentation pour vous aider à en savoir plus :
Fonctionnalité | Disponibilité sur MLflow open source | Disponibilité sur MLflow géré par Databricks |
|---|---|---|
Sécurité | L'utilisateur doit fournir sa propre couche de gouvernance de la sécurité | |
Récupération après sinistre | Indisponible | |
Suivi des tests | API MLflow Tracking intégrée au suivi avancé des expériences Databricks | |
Registre des modèles | ||
Intégration d'Unity Catalog | Intégration open source avec Unity Catalog | |
Déploiement de modèles | Intégrations configurées par l'utilisateur avec des solutions de service externes (SageMaker, Kubernetes, services de conteneurs, etc.) | Databricks Model Serving et solutions de service externes |
Agents IA | Développement de LLM avec MLflow intégré à Custom Agents et Agent Evaluation | |
Chiffrement | Indisponible | Chiffrement à l'aide de clés gérées par les clients |
La collecte de télémétrie open source a été introduite dans MLflow 3.2.0, et est **désactivé par default sur Databricks**. Pour plus de détails, reportez-vous à la documentation de suivi de l'utilisation de MLflow.