Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo se usa MLflow en Databricks para desarrollar agentes de inteligencia artificial generativos de alta calidad y modelos de aprendizaje automático.
Nota:
Si acaba de empezar a trabajar con Azure Databricks, considere la posibilidad de probar MLflow en Databricks Free Edition.
¿Qué es MLflow?
MLflow es una plataforma de código abierto para desarrollar modelos y aplicaciones de IA generativas. Tiene los siguientes componentes principales:
- Seguimiento: Permite realizar un seguimiento de los experimentos para registrar y comparar parámetros y resultados.
- Modelos: permite administrar e implementar modelos de varias bibliotecas de ML en varias plataformas de servicio e inferencia de modelos.
- Registro de modelos: permite administrar el proceso de implementación del modelo de ensayo a producción, con funcionalidades de control de versiones y anotaciones de modelos.
- Evaluación y seguimiento de agentes de IA: permite desarrollar agentes de inteligencia artificial de alta calidad al ayudarle a comparar, evaluar y solucionar problemas de agentes.
MLflow admite Java, Python, R y API REST.
MLflow 3
MLflow 3 en Azure Databricks ofrece seguimiento de experimentos de última generación, observabilidad y evaluación de rendimiento para modelos de aprendizaje automático, aplicaciones de IA generativas y agentes en databricks lakehouse. Con MLflow 3 en Azure Databricks, puede hacer lo siguiente:
Realice un seguimiento y analice de forma centralizada el rendimiento de los modelos, las aplicaciones de IA y los agentes en todos los entornos, desde consultas interactivas en un cuaderno de desarrollo a través del lote de producción o las implementaciones de servicio en tiempo real.
Organice los flujos de trabajo de evaluación e implementación mediante el catálogo de Unity y acceda a registros de estado completos para cada versión del modelo, la aplicación de IA o el agente.
Vea y acceda a los parámetros y métricas del modelo desde la página de versión del modelo en el catálogo de Unity y desde la API REST.
Anotar solicitudes y respuestas (seguimientos) para todas las aplicaciones y agentes de inteligencia artificial de generación, lo que permite a los expertos humanos y técnicas automatizadas (como LLM como juez) proporcionar comentarios enriquecidos. Puede aprovechar estos comentarios para evaluar y comparar el rendimiento de las versiones de la aplicación y compilar conjuntos de datos para mejorar la calidad.
Estas funcionalidades simplifican y racionalizan la evaluación, la implementación, la depuración y la supervisión de todas las iniciativas de inteligencia artificial.
MLflow 3 también presenta los conceptos de modelos registrados y trabajos de implementación.
-
Los modelos registrados le ayudan a realizar un seguimiento del progreso de un modelo a lo largo de su ciclo de vida. Al registrar un modelo mediante
log_model()
, se crea unLoggedModel
que se conserva durante el ciclo de vida del modelo, en distintos entornos y ejecuciones, y contiene vínculos a artefactos como metadatos, métricas, parámetros y el código usado para generar el modelo. Puede usar el modelo registrado para comparar modelos entre sí, buscar el modelo más eficaz y realizar un seguimiento de la información durante la depuración. - Los trabajos de implementación se pueden usar para administrar el ciclo de vida del modelo, incluidos los pasos como evaluación, aprobación e implementación. Estos flujos de trabajo de modelo se rigen por el catálogo de Unity y todos los eventos se guardan en un registro de actividad que está disponible en la página de versión del modelo en el catálogo de Unity.
Consulte los artículos siguientes para instalar y empezar a usar MLflow 3.
- Introducción a MLflow 3.
- Realice un seguimiento de los modelos y compare los modelos con modelos registrados de MLflow.
- Mejoras del Registro de modelos con MLflow 3.
- Trabajos de implementación de MLflow 3.
MLflow administrado por Databricks
Databricks proporciona una versión totalmente administrada y hospedada de MLflow, que se basa en la experiencia de código abierto para que sea más sólida y escalable para el uso empresarial.
En el diagrama siguiente se muestra cómo Se integra Databricks con MLflow para entrenar e implementar modelos de aprendizaje automático.
MLflow administrado por Databricks se basa en Unity Catalog y Cloud Data Lake para unificar todos tus datos y activos de inteligencia artificial en el ciclo de vida de aprendizaje automático.
- Almacén de características: Las búsquedas automatizadas de características de Databricks simplifican la integración y reducen los errores.
- Entrenamiento de modelos: Use Mosaic AI para entrenar modelos o ajustar modelos de base.
- Seguimiento: MLflow realiza un seguimiento del entrenamiento mediante el registro de parámetros, métricas y artefactos para evaluar y comparar el rendimiento del modelo.
- Registro de modelos: El Registro de modelos de MLflow, integrado con Unity Catalog centraliza los modelos y artefactos de inteligencia artificial.
- Servicio de modelos: Mosaic AI Model Serving implementa modelos en un punto de conexión de la API REST.
- Monitorización: Mosaic AI Model Serving captura automáticamente las solicitudes y respuestas para supervisar y depurar modelos. MLflow aumenta estos datos con datos de seguimiento para cada solicitud.
Entrenamiento de modelos
Los modelos de MLflow están en el núcleo del desarrollo de inteligencia artificial y aprendizaje automático en Databricks. Los modelos de MLflow son un formato estandarizado para empaquetar modelos de aprendizaje automático y agentes de IA generativos. El formato estandarizado garantiza que las herramientas y los flujos de trabajo de nivel inferior puedan usar los modelos y agentes en Databricks.
- Documentación de MLflow: modelos.
Databricks proporciona características que le ayudarán a entrenar diferentes tipos de modelos de ML.
Seguimiento de experimentos
Databricks usa experimentos de MLflow como unidades organizativas para realizar un seguimiento del trabajo al desarrollar modelos.
El seguimiento de experimentos le permite registrar y administrar parámetros, métricas, artefactos y versiones de código durante el entrenamiento del aprendizaje automático y el desarrollo del agente. La organización de registros en experimentos y ejecuciones permite comparar modelos, analizar el rendimiento e iterar más fácilmente.
- Seguimiento de experimentos mediante Databricks.
- Consulte la documentación de MLflow para obtener información general sobre las ejecuciones y el seguimiento de experimentos.
Registro de modelos con el catálogo de Unity
El Registro de modelos de MLflow es un repositorio de modelos centralizado, una interfaz de usuario y un conjunto de API para administrar el proceso de implementación del modelo.
Databricks integra el Registro de modelos con El catálogo de Unity para proporcionar gobernanza centralizada para los modelos. La integración del catálogo de Unity permite acceder a modelos entre áreas de trabajo, realizar un seguimiento del linaje del modelo y detectar modelos para su reutilización.
- Administrar modelos mediante el catálogo de Unity de Databricks.
- Consulte la documentación de MLflow para obtener información general sobre el Registro de modelos.
Servicio de modelos
Databricks Model Serving se integra estrechamente con el Registro de modelos de MLflow y proporciona una interfaz unificada y escalable para implementar, gobernar y consultar modelos de IA. Cada modelo que sirve está disponible como una API REST que puede integrar en aplicaciones web o cliente.
Aunque son componentes distintos, Model Serving se basa en gran medida en el Registro de modelos de MLflow para controlar el control de versiones del modelo, la administración de dependencias, la validación y la gobernanza.
Desarrollo y evaluación del agente de IA
Para el desarrollo de agentes de INTELIGENCIA ARTIFICIAL, Databricks se integra con MLflow de forma similar al desarrollo de modelos de ML. Sin embargo, hay algunas diferencias clave:
- Para crear agentes de inteligencia artificial en Databricks, use Mosaic AI Agent Framework, que se basa en MLflow para realizar un seguimiento del código de los agentes, las métricas de rendimiento y las trazas de los agentes.
- Para evaluar los agentes en Databricks, use La evaluación del agente de IA de Mosaico, que se basa en MLflow para realizar un seguimiento de los resultados de la evaluación.
- El seguimiento de MLflow para agentes también incluye MLflow Tracing. El seguimiento de MLflow le permite ver información detallada sobre la ejecución de los servicios del agente. El seguimiento registra las entradas, salidas y metadatos asociados a cada paso intermedio de una solicitud, lo que le permite encontrar rápidamente el origen de un comportamiento inesperado en los agentes.
En el diagrama siguiente se muestra cómo Se integra Databricks con MLflow para crear e implementar agentes de IA.
MLflow administrado por Databricks se basa en Unity Catalog y Cloud Data Lake para unificar todos los datos y los recursos de inteligencia artificial en el ciclo de vida de aplicación de IA generativa.
- Almacén de vectores y características: Las búsquedas automatizadas de vectores y características de Databricks simplifican la integración y reducen los errores.
- Creación y evaluación de agentes de IA: Mosaic AI Agent Framework y Agent Evaluation le ayudan a crear agentes y evaluar su salida.
- Rastreo y seguimiento: El rastreo de MLflow captura información detallada sobre la ejecución de los agentes, lo que mejora la observabilidad de IA generativa.
- Registro de modelos: El Registro de modelos de MLflow, integrado con Unity Catalog centraliza los modelos y artefactos de inteligencia artificial.
- Servicio de modelos: Mosaic AI Model Serving implementa modelos en un punto de conexión de la API REST.
- Monitorización: MLflow captura automáticamente las solicitudes y respuestas para supervisar y depurar modelos.
Características de MLflow administradas por Databricks frente a código abierto
Para conocer los conceptos generales de MLflow, las API y las características compartidas entre versiones administradas por Databricks y de código abierto, consulte la documentación de MLflow. Para ver características exclusivas de MLflow administrados por Databricks, consulte la documentación de Databricks.
En la tabla siguiente se resaltan las diferencias clave entre MLflow de código abierto y MLflow administrado por Databricks y se proporcionan vínculos de documentación para ayudarle a obtener más información:
Característica | Disponibilidad en MLflow de código abierto | Disponibilidad en MLflow administrado por Databricks |
---|---|---|
Seguridad | El usuario debe proporcionar su propia capa de gobernanza de seguridad | Seguridad de nivel empresarial de Databricks |
Recuperación ante desastres | No disponible | Recuperación ante desastres de Databricks |
Seguimiento de experimentos | API de seguimiento de MLflow | MLflow Tracking API integrada con seguimiento de experimentos avanzado de Databricks |
Registro de modelos | Registro de modelos de MLflow | Registro de modelos de MLflow integrado con el catálogo de Unity de Databricks |
Integración de Unity Catalog | Integración de código abierto con El catálogo de Unity | Catálogo de Unity de Databricks |
Implementación de modelo | Integraciones configuradas por el usuario con soluciones de servicio externo (SageMaker, Kubernetes, servicios de contenedor, etc.) | Databricks Model Serving y soluciones de servicio externas |
Agentes de IA | Desarrollo de MLflow LLM | Desarrollo de LLM de MLflow integrado con Mosaic AI Agent Framework y Agent Evaluation |
Encriptación | No disponible | Cifrado mediante claves administradas por el cliente |