Compartir a través de


Conceptos y modelo de datos

MLflow para GenAI proporciona un modelo de datos completo diseñado específicamente para desarrollar, evaluar y supervisar aplicaciones de IA generativas. En esta página se explican los conceptos básicos y cómo funcionan juntos.

Información general

MLflow organiza todos datos de la aplicación GenAI dentro de experimentos. Un experimento es una carpeta de proyecto que contiene cada seguimiento, ejecución de evaluación, versión de la aplicación, solicitud y evaluación de calidad desde todo el ciclo de vida de una aplicación.

La estructura del modelo de datos se describe a continuación. Para obtener más información, consulte Modelo de datos.

Nota:

MLflow solo requiere que use seguimientos. Todos los demás aspectos del modelo de datos son opcionales, pero muy recomendados.

MLflow proporciona los siguientes SDK para interactuar con los datos de una aplicación para evaluar y mejorar la calidad. Para más información, consulte SDK de MLflow para evaluar la calidad.

MLflow proporciona las siguientes interfaces de usuario para ver y administrar los datos de la aplicación:

Modelo de datos

En esta sección se describe brevemente cada entidad en el modelo de datos de MLflow.

Experimentos

Un experimento en MLflow es un contenedor con nombre que organiza y agrupa todos los artefactos relacionados con una sola aplicación de GenAI. Si está familiarizado con MLflow para ml clásico, el contenedor de experimentos es el mismo entre ml clásico y GenAI.

Datos de observabilidad

Huellas

Los seguimientos capturan la ejecución completa de la aplicación GenAI, incluidas las entradas, las salidas y todos los pasos intermedios (llamadas LLM, recuperaciones, uso de herramientas). Rastros:

  • Se crean automáticamente para cada ejecución de la aplicación en desarrollo y producción.
  • Están vinculados (opcionalmente) a las versiones de aplicación específicas que las generaron.
  • Tener evaluaciones adjuntas que contengan:
    • Comentarios de calidad de los puntuadores, los usuarios finales y los expertos en dominios.
    • Expectativas de datos reales de expertos del dominio.

Los seguimientos se usan para:

  • Observe y depure el comportamiento y el rendimiento de la aplicación (como la latencia y el costo).
  • Cree conjuntos de datos de evaluación basados en registros de producción que se van a usar en la evaluación de calidad.

Obtenga más información en conceptos de seguimiento, siga el inicio rápido para registrar el primer seguimiento o siga la guía de instrumentación de la aplicación para implementar el seguimiento en la aplicación.

Evaluaciones

Las evaluaciones son medidas de calidad y etiquetas de verdad estándar que están asociadas a una traza. Hay dos tipos de evaluaciones, comentarios y expectativas.

Los comentarios se refieren a los juicios sobre la calidad de las salidas de la aplicación. Se agrega mediante usuarios finales, expertos en dominio o puntuadores automatizados y se usa para identificar problemas de calidad. Algunos ejemplos son las clasificaciones de pulgares hacia arriba o hacia abajo de los usuarios finales y la evaluación del juez LLM sobre la corrección de una respuesta.

Las expectativas son etiquetas de verdad básicas que definen la salida correcta para una entrada determinada. Se agrega mediante expertos en dominio y se usa como "estándar de oro" para evaluar si la aplicación produjo la respuesta correcta. Algunos ejemplos son la respuesta esperada a una pregunta y los hechos necesarios que deben estar presentes en una respuesta.

Nota:

Las etiquetas de referencia (resultados esperados) no son necesarias para medir la calidad con MLflow. La mayoría de las aplicaciones no tendrán etiquetas de verdad básicas o solo tendrán un pequeño conjunto.

Obtenga más información sobre las evaluaciones de registro, consulte cómo recopilar comentarios de los usuarios o explorar el uso de puntuadores para crear evaluaciones automatizadas.

Datos de evaluación

Conjuntos de datos de evaluación

Los conjuntos de datos de evaluación son colecciones seleccionadas de casos de prueba para probar sistemáticamente la aplicación. Conjuntos de datos de evaluación:

  • Normalmente se crean seleccionando trazas representativas de producción o desarrollo.
  • Incluya entradas y, opcionalmente, expectativas (verdad básica).
  • Se versionan con el tiempo para realizar un seguimiento de cómo evoluciona el conjunto de pruebas.

Los conjuntos de datos de evaluación se usan para:

  • Evalúe y mejore la calidad de la aplicación de forma iterativa.
  • Valide los cambios para evitar regresiones en calidad.

Obtenga más información en la referencia de conjuntos de datos de evaluación o siga la guía para crear conjuntos de datos de evaluación que incluyen técnicas para seleccionar y usar seguimientos de producción.

Ejecuciones de evaluación

Ejecuciones de evaluación son los resultados de probar una versión de la aplicación en un conjunto de datos de evaluación mediante un conjunto de evaluadores. Ejecuciones de pruebas de evaluación

  • Contienen los rastros (y sus evaluaciones) provenientes de la evaluación.
  • Contienen métricas agregadas basadas en las evaluaciones.

Las ejecuciones de evaluación se utilizan para:

  • Determinar si los cambios en la aplicación han mejorado (o han empeorado) la calidad.
  • Compare las versiones de la aplicación en paralelo.
  • Realizar un seguimiento de las evaluaciones de calidad a lo largo del tiempo.

Nota:

Las ejecuciones de evaluación son un tipo especial de ejecución de MLflow y se pueden consultar a través de mlflow.search_runs().

Obtenga más información sobre el arnés de evaluación y siga la guía para usar la evaluación para mejorar la aplicación.

Datos de etiquetado humano

Sesiones de etiquetado

Las sesiones de etiquetado organizan rastros para la revisión humana por parte de expertos del dominio. Sesiones de etiquetado

  • Cola de trazas seleccionadas que necesitan ser revisadas por expertos y contienen las evaluaciones de esa revisión.
  • Use esquemas de etiquetado para estructurar las evaluaciones para que los expertos etiqueten.

Las sesiones de etiquetado se usan para:

  • Recopile comentarios de expertos sobre casos complejos o ambiguos.
  • Cree datos de verdad sobre el terreno para los conjuntos de datos de evaluación.

Nota:

Las sesiones de etiquetado son un tipo especial de ejecución de MLflow y se pueden consultar a través de mlflow.search_runs().

Obtenga más información sobre las sesiones de etiquetado, siga la guía para recopilar comentarios de expertos en dominio o vea cómo etiquetar durante el desarrollo.

Esquemas de etiquetado

Los esquemas de etiquetado definen las evaluaciones recopiladas en una sesión de etiquetado, lo que garantiza una recopilación de etiquetas coherente entre expertos en el dominio. Esquemas de etiquetado

  • Especifique qué preguntas se deben formular a los revisores (por ejemplo, "¿Es esta respuesta precisa?").
  • Defina las respuestas válidas a una pregunta (por ejemplo, pulgares hacia arriba/abajo, escalas de 1 a 5 o comentarios de texto libre).

Obtenga más información en la referencia de esquemas de etiquetado.

Datos de control de versiones de aplicaciones

Mensajes

Las indicaciones son plantillas de indicaciones para LLM que se controlan por versiones. Instrucciones:

  • Es seguido con un historial de versiones similar al de Git.
  • Incluir {{variables}} para la generación dinámica.
  • Están vinculados a los ciclos de evaluación para monitorizar su calidad a lo largo del tiempo.
  • Admite alias como "producción" para la administración de implementación.

Modelos registrados en el registro

Los modelos registrados representan instantáneas de la aplicación en momentos específicos. Modelos registrados:

  • Enlace a las trazas que generan y a las indicaciones que utilizan.
  • Vínculo a ejecuciones de evaluación para realizar un seguimiento de su calidad.
  • Realice un seguimiento de los parámetros de la aplicación, como la temperatura de LLM.

Los modelos registrados pueden actuar como un centro de metadatos y vincular una versión de aplicación conceptual a su código externo específico (por ejemplo, un puntero a la confirmación de Git). También puede usar un modelo registrado para empaquetar el código y la configuración de la aplicación como un artefacto totalmente implementable.

Obtenga más información sobre el seguimiento de versiones, consulte cómo realizar un seguimiento de las versiones de la aplicación o sobre cómo vincular seguimientos a versiones.

SDK de MLflow para evaluar la calidad

Estos son los procesos clave que evalúan la calidad de las trazas, adjuntando evaluaciones a la traza que contiene los resultados de la evaluación.

Goleadores

mlflow.genai.scorers.* son funciones que evalúan la calidad de una traza. Goleadores:

  • Analice una traza para los campos de datos pertinentes que se deben evaluar.
  • Utilice esos datos para evaluar la calidad ya sea mediante código determinista o criterios de evaluación basados en un modelo LLM.
  • Devuelve las entidades de retroalimentación con los resultados de esa evaluación.

El mismo puntuador se puede usar para la evaluación en desarrollo y producción.

Nota:

Puntuadores frente a jueces: si está familiarizado con los jueces LLM, es posible que se pregunte cómo se relacionan con los puntuadores. En MLflow, un juez es un SDK invocable (como mlflow.genai.judges.is_correct) que evalúa el texto según criterios específicos. Sin embargo, los jueces no pueden procesar directamente los rastros y solo comprenden las entradas de texto. Los puntuadores extraen los datos pertinentes de un seguimiento (como la solicitud, la respuesta y el contexto recuperado) y los pasan al juez para su evaluación. Piense en los puntuadores como el "adaptador" que conecta los seguimientos a la lógica de evaluación, ya sea un juez LLM o un código personalizado.

Obtenga más información sobre los puntuadores integrados y personalizados.

Evaluación en el desarrollo

mlflow.genai.evaluate() es el SDK de MLflow para evaluar sistemáticamente la calidad de la aplicación. El arnés de evaluación toma un conjunto de datos de evaluación, un conjunto de puntuadores y la función de predicción de la aplicación como entrada y crea una ejecución de evaluación que contiene seguimientos con evaluaciones de comentarios mediante:

  • Ejecutar la aplicación para cada registro del conjunto de datos de evaluación, lo que genera seguimientos.
  • Ejecutar cada evaluador en las trazas resultantes para evaluar la calidad y producir retroalimentación.
  • Adjuntar cada comentario a la traza adecuada.

El arnés de evaluación se usa para evaluar de forma iterativa las posibles mejoras en la aplicación, lo que le ayuda a:

  • Valide si la mejora mejoró o empeoró la calidad.
  • Identificar mejoras adicionales para mejorar aún más la calidad.

Obtenga más información sobre el arnés de evaluación y siga la guía para evaluar la aplicación.

Evaluación en producción

mlflow.genai.Scorer.start() permite programar puntuadores para evaluar automáticamente las trazas de la aplicación desplegada. Cuando se programa un puntuador, el servicio de supervisión de producción:

  • Ejecuta los puntuadores en seguimientos de producción y genera comentarios.
  • Adjunta cada retroalimentación a la traza de origen.

La supervisión de producción se usa para detectar problemas de calidad rápidamente e identificar consultas problemáticas o casos de uso para mejorar en el desarrollo.

Interfaces de usuario de MLflow

Revisión de la aplicación

La aplicación de revisión es una interfaz de usuario web donde los expertos del dominio etiquetan rastros con sus evaluaciones. Presenta seguimientos de sesiones de etiquetado y recopila evaluaciones basadas en esquemas de etiquetado.

Interfaz de usuario del experimento de MLflow

La interfaz de usuario del experimento de MLflow proporciona acceso visual a muchos elementos del modelo de datos. Con la interfaz de usuario, puede hacer lo siguiente:

  • Buscar y ver rastros.
  • Revise los comentarios y las expectativas.
  • Vea y analice los resultados de la evaluación.
  • Administrar conjuntos de datos de evaluación.
  • Administrar versiones y avisos.

Pasos siguientes