Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit comment MLflow sur Databricks est utilisé pour développer des agents d’INTELLIGENCE artificielle de haute qualité et des modèles Machine Learning.
Remarque
Si vous commencez simplement avec Azure Databricks, envisagez d’essayer MLflow sur Databricks Free Edition.
Qu’est-ce que MLflow ?
MLflow est une plateforme open source permettant de développer des modèles et des applications IA génératives. Ses principaux composants sont les suivants :
- Suivi : vous permet d’effectuer le suivi des expériences pour enregistrer et comparer les paramètres et les résultats.
- Modèles : vous permet de gérer et de déployer des modèles à partir de différentes bibliothèques ML sur différentes plateformes de service et d’inférence de modèle.
- Registre de modèles : vous permet de gérer le processus de déploiement de modèle de préproduction en production, avec des fonctionnalités de contrôle de version et d’annotation de modèle.
- Évaluation et suivi des agents IA : vous permet de développer des agents IA de haute qualité en vous aidant à comparer, évaluer et dépanner les agents.
MLflow prend en charge les API Java, Python, R et REST.
MLflow 3
MLflow 3 sur Azure Databricks fournit un suivi d’expérience, une observabilité et une évaluation des performances de pointe pour les modèles Machine Learning, les applications d’IA génératives et les agents sur databricks lakehouse. À l’aide de MLflow 3 sur Azure Databricks, vous pouvez :
Effectuez le suivi et analysez de manière centralisée les performances de vos modèles, applications IA et agents dans tous les environnements, à partir de requêtes interactives dans un notebook de développement via des déploiements de traitement par lots de production ou en temps réel.
Orchestrez les flux de travail d’évaluation et de déploiement à l’aide du catalogue Unity et accédez aux journaux d’état complets pour chaque version de votre modèle, application IA ou agent.
Affichez et accédez aux métriques et paramètres du modèle à partir de la page de version du modèle dans le catalogue Unity et à partir de l’API REST.
Annotez les demandes et réponses (traces) pour toutes vos applications et agents IA de génération, ce qui permet aux experts humains et aux techniques automatisées (telles que LLM-as-a-juge) de fournir des commentaires enrichis. Vous pouvez tirer parti de ces commentaires pour évaluer et comparer les performances des versions d’application et créer des jeux de données pour améliorer la qualité.
Ces fonctionnalités simplifient et rationalisent l’évaluation, le déploiement, le débogage et la surveillance de toutes vos initiatives IA.
MLflow 3 présente également les concepts des modèles journalisés et des travaux 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 consignez un modèle à l’aide de
log_model()
, unLoggedModel
est créé qui persiste tout au long du cycle de vie du modèle, à travers différents environnements et exécutions, et contient des liens vers des artéfacts tels que les métadonnées, les métriques, les 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, rechercher le modèle le plus performant et suivre les informations pendant le débogage. - Les travaux de déploiement peuvent être utilisés pour gérer le cycle de vie du modèle, notamment les étapes telles que l’évaluation, l’approbation et le déploiement. Ces flux de travail de modèle sont régis par le catalogue Unity, et tous les événements sont enregistrés dans un journal d’activité disponible dans la page de version du modèle dans le catalogue Unity.
Consultez les articles suivants pour installer et commencer à utiliser MLflow 3.
- Commencez avec MLflow 3.
- Suivez et comparez les modèles à l’aide de modèles journalisés MLflow.
- Améliorations apportées au Registre de modèles avec MLflow 3.
- Tâches de déploiement MLflow 3.
MLflow managé par Databricks
Databricks fournit une version entièrement gérée et hébergée de MLflow, qui s’appuie sur l’expérience open source pour la rendre plus robuste et évolutive pour une utilisation d’entreprise.
Le diagramme suivant montre comment Databricks s’intègre à MLflow pour entraîner et déployer des modèles Machine Learning.
MLflow géré par Databricks repose sur Unity Catalog et Cloud Data Lake pour unifier toutes vos ressources de données et d’IA dans le cycle de vie ML :
- Magasin de fonctionnalités : Les recherches automatisées de fonctionnalités Databricks simplifient l’intégration et réduisent les erreurs.
- Entraîner des modèles : Utilisez l’IA de Mosaïque pour entraîner des modèles ou ajuster les modèles de base.
- Suivi : MLflow effectue le suivi de l’apprentissage en journalisant les paramètres, les métriques et les artefacts pour évaluer et comparer les performances du modèle.
- Registre de modèles : MLflow Model Registry, intégré à Unity Catalog centralise les modèles et artefacts IA.
- Service de modèle : Mosaïque AI Model Service déploie des modèles sur un point de terminaison d’API REST.
- Surveillance: Mosaïque AI Model Service capture automatiquement les demandes et les réponses pour surveiller et déboguer des modèles. MLflow augmente ces données avec des données de trace pour chaque requête.
Entraînement du modèle
Les modèles MLflow sont au cœur du développement IA et ML sur Databricks. Les modèles MLflow sont un format standardisé pour empaqueter des modèles Machine Learning et des agents d’INTELLIGENCE artificielle générative. Le format standardisé garantit que les modèles et les agents peuvent être utilisés par les outils et 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 ML.
Suivi des expériences
Databricks utilise des expériences MLflow en tant qu’unités organisationnelles pour suivre votre travail lors du développement de modèles.
Le suivi des expériences vous permet de journaliser et de gérer les paramètres, les métriques, les artefacts et les versions de code pendant l’apprentissage automatique et le développement de l’agent. L’organisation des journaux d’activité dans des expériences et des exécutions vous permet de comparer les modèles, d’analyser les performances et d’itérer plus facilement.
- Suivi des expériences à l’aide de Databricks.
- Consultez la documentation MLflow pour obtenir des informations générales sur les exécutions et le suivi des expériences.
Registre de modèles avec le catalogue Unity
MLflow Model Registry est un référentiel de modèles centralisé, une interface utilisateur et un ensemble d’API pour la gestion du processus de déploiement de modèle.
Databricks intègre Model Registry à Unity Catalog pour fournir une gouvernance centralisée pour les modèles. L’intégration du catalogue Unity vous permet d’accéder aux modèles entre les espaces de travail, de suivre la traçabilité des modèles et de découvrir des modèles à réutiliser.
- Gérez les modèles à l’aide du catalogue Databricks Unity.
- Consultez la documentation MLflow pour obtenir des informations générales sur le Registre de modèles.
Mise en service de modèles
Databricks Model Service est étroitement intégré au Registre de modèles MLflow et fournit une interface unifiée et évolutive pour le déploiement, la gouvernance et l’interrogation de modèles 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’ils soient des composants distincts, Model Service s’appuie fortement sur le Registre de modèles MLflow pour gérer le contrôle de version des modèles, la gestion des dépendances, la validation et la gouvernance.
Développement et évaluation de l’agent IA
Pour le développement d’agents IA, Databricks s’intègre à MLflow de la même façon que le développement de modèles ML. Toutefois, il existe quelques différences clés :
- Pour créer des agents IA sur Databricks, utilisez Mosaïque AI Agent Framework, qui s’appuie sur MLflow pour suivre le code de l’agent, les métriques de performances et les traces de l’agent.
- Pour évaluer des agents sur Databricks, utilisez Mosaic AI Agent Evaluation, qui s’appuie sur MLflow pour suivre les résultats de l’évaluation.
- Le suivi MLflow pour les agents inclut également MLflow Tracing. Le suivi MLflow vous permet de voir des informations détaillées sur l’exécution des services de votre agent. Le suivi enregistre les entrées, les sorties et les métadonnées associées à chaque étape intermédiaire d’une requête, ce qui vous permet de trouver rapidement la source du comportement inattendu dans les agents.
Le diagramme suivant montre comment Databricks s’intègre à MLflow pour créer et déployer des agents IA.
MLflow géré par Databricks repose sur Unity Catalog et Cloud Data Lake pour unifier toutes vos ressources de données et d’IA dans le cycle de vie des applications IA de génération :
- Magasin de fonctionnalités Vector & : Les recherches de vecteurs et de fonctionnalités automatisés Databricks simplifient l’intégration et réduisent les erreurs.
- Créez et évaluez des agents IA : Le framework d'agents IA de Mosaïque et l'évaluation des agents vous aident à créer des agents et à évaluer leurs résultats.
- Suivi et traçage : Le traçage MLflow capture des informations détaillées sur l'exécution de l'agent pour améliorer l'observabilité de l'intelligence artificielle générative.
- Registre de modèles : MLflow Model Registry, intégré à Unity Catalog centralise les modèles et artefacts IA.
- Service de modèle : Mosaïque AI Model Service déploie des modèles sur un point de terminaison d’API REST.
- Surveillance: MLflow capture automatiquement les demandes et les réponses pour surveiller et déboguer des modèles.
Fonctionnalités open source vs. fonctionnalités MLflow gérées par Databricks
Pour connaître les concepts, API et fonctionnalités MLflow généraux partagés entre les versions gérées par Open Source et Databricks, reportez-vous à la documentation MLflow. Pour obtenir des fonctionnalités exclusives à MLflow managée 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 de documentation pour vous aider à en savoir plus :
Caractéristique | Disponibilité sur MLflow open source | Disponibilité sur MLflow managé par Databricks |
---|---|---|
Sécurité | L’utilisateur doit fournir sa propre couche de gouvernance de sécurité | Sécurité de niveau professionnel Databricks |
Récupération d’urgence | Non disponible | Reprise après sinistre Databricks |
Suivi des expériences | API MLflow Tracking | API MLflow Tracking intégrée à Databricks advanced experiment tracking |
Registre de modèles | Registre de modèles MLflow | Registre de modèles MLflow intégré au catalogue Databricks Unity |
Intégration d’Unity Catalog | Intégration open source à Unity Catalog | Catalogue Databricks Unity |
Déploiement de modèle | Intégrations configurées par l’utilisateur avec des solutions de service externe (SageMaker, Kubernetes, services de conteneur, et ainsi de suite) | Solutions de service de service de modèle Databricks et de service externe |
Agents d’IA | Développement LLM MLflow | Développement LLM MLflow intégré à Mosaic AI Agent Framework et Évaluation de l’agent |
Chiffrement | Non disponible | Chiffrement à l’aide de clés gérées par le client |