Compartir a través de


MLflow en Databricks

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 la plataforma de ingeniería de inteligencia artificial de código abierto más grande para agentes, VM y modelos de ML. MLflow permite a los equipos de todos los tamaños depurar, evaluar, supervisar y optimizar aplicaciones de inteligencia artificial de calidad de producción, al tiempo que controla los costos y administra el acceso a los modelos y los datos. Con más de 30 millones de descargas mensuales, miles de organizaciones dependen de MLflow cada día para enviar la inteligencia artificial a la producción con confianza.

El conjunto de características completo de MLflow para agentes y aplicaciones LLM incluye observabilidad de nivel de producción, evaluación, administración de mensajes, puerta de enlace de IA para administrar costos y acceso al modelo, etc.

Para el desarrollo de modelos de Machine Learning (ML), MLflow proporciona el seguimiento de experimentos, las funcionalidades de evaluación de modelos, un registro de modelos de producción y las herramientas de implementación de modelos.

MLflow admite cualquier proveedor de LLM, marco de agente, biblioteca de ML y lenguaje de programación. MLflow proporciona SDK nativos para Python, TypeScript/JavaScript, Java y R.

MLflow 3

MLflow 3 en Azure Databricks ofrece una observabilidad, evaluación y administración rápida de agentes y aplicaciones LLM de última generación. Para el desarrollo de modelos de ML, MLflow 3 proporciona seguimiento de experimentos, evaluación de modelos, un registro de modelos de producción y herramientas de implementación de modelos. 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.

    Interfaz de usuario de seguimiento de modelos.

  • 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.

    Un trabajo de implementación complejo que incluye la implementación preconfigurada y la recopilación de métricas.

  • 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.

    Página versión del modelo en el Catálogo de Unity que muestra las métricas de varias ejecuciones.

  • 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.

    La pestaña de Seguimientos de la página del modelo muestra los detalles de múltiples seguimientos.

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 un LoggedModel 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.

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.

Agentes y aplicaciones LLM

MLflow en Databricks proporciona una plataforma completa para desarrollar, evaluar y supervisar agentes y aplicaciones LLM.

  • Observaability:MLflow Tracing 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.
  • Evaluación: Usa Mosaic AI Agent Evaluation para medir y mejorar la calidad del agente, respaldado por la evaluación de MLflow.
  • Administración de mensajes: Versión, administración e iteración de las plantillas de solicitud usadas en las aplicaciones de IA.
  • Desarrollo del agente: Use Mosaic AI Agent Framework para crear agentes, que se basan en MLflow para realizar un seguimiento del código del agente, las métricas de rendimiento y los seguimientos.
  • Depuración interactiva: Uso de Genie Code para la observabilidad del agente y su evaluación para el acceso en lenguaje natural a seguimientos, ejecuciones de evaluación, evaluadores y mucho más dentro del experimento de MLflow.

Desarrollo de modelos de ML

MLflow en Databricks proporciona seguimiento de experimentos, evaluación de modelos, un registro de modelos de producción y herramientas de implementación de modelos para el desarrollo de modelos de ML.

En el diagrama siguiente se muestra cómo Se integra Databricks con MLflow para entrenar e implementar modelos de aprendizaje automático.

MLflow se integra con Databricks para desarrollar e implementar modelos de ML.

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.

  1. Almacén de características: Las búsquedas automatizadas de características de Databricks simplifican la integración y reducen los errores.
  2. Entrenamiento de modelos: Use Mosaic AI para entrenar modelos o ajustar modelos de base.
  3. 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.
  4. Registro de modelos: El Registro de modelos de MLflow, integrado con Unity Catalog centraliza los modelos y artefactos de inteligencia artificial.
  5. Servicio de modelos: Mosaic AI Model Serving implementa modelos en un punto de conexión de la API REST.
  6. 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.

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.

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.

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

Nota:

La colección de telemetría de código abierto se introdujo en MLflow 3.2.0 y está deshabilitada en Databricks de forma predeterminada. Para más información, consulte la documentación de seguimiento de uso de MLflow.