Define tus métricas de evaluación.

El primer paso para evaluar tus modelos o aplicaciones generativos es identificar tu objetivo de evaluación y definir tus métricas de evaluación. En esta página, se proporciona una descripción general de los conceptos relacionados con la definición de métricas de evaluación para tu caso de uso.

Descripción general

Los modelos de IA generativa se pueden usar para crear aplicaciones para una amplia variedad de tareas, como resumir artículos de noticias, responder consultas de los clientes o ayudar a escribir código. El servicio de evaluación de IA generativa en Vertex AI te permite evaluar cualquier modelo con métricas explicables.

Por ejemplo, podrías estar desarrollando una aplicación para resumir artículos. Para evaluar el rendimiento de tu aplicación en esa tarea específica, considera los criterios que deseas medir y las métricas que usarías para calificarlos:

  • Criterios: Son las dimensiones únicas o múltiples que deseas evaluar, como conciseness, relevance, correctness o appropriate choice of words.

  • Métricas: Una sola puntuación que mide el resultado del modelo en función de los criterios.

El servicio de evaluación de IA generativa proporciona dos tipos principales de métricas:

  • Métricas basadas en modelos: Nuestras métricas basadas en modelos evalúan tu modelo candidato en comparación con un modelo de juez. El modelo de evaluación para la mayoría de los casos de uso es Gemini, pero también puedes usar modelos como MetricX o COMET para casos de uso de traducción.

    Puedes medir las métricas basadas en modelos por pares o por puntos de las siguientes maneras:

    • Métricas por puntos: Permiten que el modelo juez evalúe el resultado del modelo candidato según los criterios de evaluación. Por ejemplo, la puntuación podría ser de 0 a 5, donde 0 significa que la respuesta no cumple con los criterios, mientras que 5 significa que la respuesta cumple con los criterios de manera adecuada.

    • Métricas por pares: Permiten que el modelo de juez compare las respuestas de dos modelos y elija la mejor. Esto se suele usar cuando se compara un modelo candidato con el modelo de referencia. Las métricas de comparación por pares solo se admiten con Gemini como modelo de juez.

  • Métricas basadas en procesamiento: Estas métricas se calculan con fórmulas matemáticas para comparar el resultado del modelo con una verdad fundamental o una referencia. Las métricas basadas en el procesamiento que se usan con frecuencia incluyen ROUGE y BLEU.

Puedes usar las métricas basadas en procesamiento de forma independiente o junto con las métricas basadas en modelos. Usa la siguiente tabla para decidir cuándo usar métricas basadas en modelos o en el procesamiento:

Enfoque de evaluación Datos Costo y velocidad
Métricas basadas en modelos Usar un modelo de juez para evaluar el rendimiento según criterios de evaluación descriptivos La verdad fundamental es opcional Un poco más caro y lento
Métricas basadas en procesamiento Usa fórmulas matemáticas para evaluar el rendimiento Por lo general, se requiere la verdad fundamental Bajo costo y rapidez

Para comenzar, consulta Cómo preparar tu conjunto de datos y Cómo ejecutar la evaluación.

Define tus métricas basadas en modelos

La evaluación basada en modelos implica usar un modelo de aprendizaje automático como modelo de juez para evaluar los resultados del modelo candidato.

Los modelos de jueces propietarios de Google, como Gemini, se calibran con evaluadores humanos para garantizar su calidad. Se administran y están disponibles de inmediato. El proceso de evaluación basada en modelos varía según las métricas de evaluación que proporciones.

La evaluación basada en modelos sigue este proceso:

  1. Preparación de datos: Proporcionas datos de evaluación en forma de instrucciones de entrada. Los modelos candidatos reciben las instrucciones y generan las respuestas correspondientes.

  2. Evaluación: Las métricas de evaluación y las respuestas generadas se envían al modelo de juez. El modelo de juez evalúa cada respuesta de forma individual y proporciona una evaluación basada en filas.

  3. Agregación y explicación: El servicio de evaluación de IA generativa agrega estas evaluaciones individuales en una puntuación general. El resultado también incluye explicaciones de cadena de pensamiento para cada juicio, en las que se describe la lógica detrás de la selección.

Gen AI Evaluation Service ofrece las siguientes opciones para configurar tus métricas basadas en modelos con el SDK de Vertex AI:

Opción Descripción Ideal para
Usar un ejemplo existente Usa una plantilla de instrucción de métrica prediseñada para comenzar. Casos de uso habituales que ahorran tiempo
Define métricas con nuestra interfaz basada en plantillas Obtén asistencia guiada para definir tus métricas. Nuestra interfaz basada en plantillas proporciona estructura y sugerencias. Personalización con asistencia
Cómo definir métricas desde cero Tener control total sobre las definiciones de tus métricas Es ideal para casos de uso muy específicos. Requiere más experiencia técnica y tiempo de inversión.

Por ejemplo, es posible que desees desarrollar una aplicación de IA generativa que devuelva respuestas fluidas y entretenidas. Para esta aplicación, puedes definir dos criterios de evaluación con la interfaz basada en plantillas:

  • Fluidez: Las oraciones fluyen sin problemas y evitan frases incómodas o frases extensas. Las ideas y las oraciones se conectan de forma lógica y se usan transiciones de manera eficaz cuando es necesario.

  • Entretenimiento: Texto breve y divertido que incorpora emojis, exclamaciones y preguntas para transmitir comunicación y diversión rápidas y espontáneas.

Para convertir esos dos criterios en una métrica, necesitas una puntuación general que oscile entre -1 y 1, llamada custom_text_quality. Puedes definir una métrica de la siguiente manera:

# Define a pointwise metric with two criteria: Fluency and Entertaining.
custom_text_quality = PointwiseMetric(
    metric="custom_text_quality",
    metric_prompt_template=PointwiseMetricPromptTemplate(
        criteria={
            "fluency": (
                "Sentences flow smoothly and are easy to read, avoiding awkward"
                " phrasing or run-on sentences. Ideas and sentences connect"
                " logically, using transitions effectively where needed."
            ),
            "entertaining": (
                "Short, amusing text that incorporates emojis, exclamations and"
                " questions to convey quick and spontaneous communication and"
                " diversion."
            ),
        },
        rating_rubric={
            "1": "The response performs well on both criteria.",
            "0": "The response is somewhat aligned with both criteria",
            "-1": "The response falls short on both criteria",
        },
    ),
)

Para obtener una lista completa de las plantillas de instrucciones de métricas, consulta Plantillas de instrucciones de métricas para la evaluación.

Evalúa modelos de traducción

El servicio de evaluación de IA generativa ofrece las siguientes métricas de evaluación de tareas de traducción:

MetricX y COMET son métricas basadas en modelos por puntos que se entrenaron para tareas de traducción. Puedes evaluar la calidad y la precisión de los resultados del modelo de traducción para tu contenido, ya sean resultados de modelos de NMT, TranslationLLM o Gemini.

También puedes usar Gemini como modelo de juez para evaluar tu modelo en cuanto a fluidez, coherencia, verbosidad y calidad del texto en combinación con MetricX, COMET o BLEU.

  • MetricX es una métrica basada en errores desarrollada por Google que predice una puntuación de punto flotante entre 0 y 25 que representa la calidad de una traducción. MetricX está disponible como método basado en referencias y sin referencias (QE). Cuando usas esta métrica, una puntuación más baja es mejor, ya que significa que hay menos errores.

  • COMET emplea un enfoque de regresión basado en referencias que proporciona puntuaciones que van de 0 a 1, donde 1 significa una traducción perfecta.

  • BLEU (Bilingual Evaluation Understudy) es una métrica basada en el procesamiento. La puntuación BLEU indica el grado de similitud entre el texto candidato y el texto de referencia. Un valor de puntuación BLEU que está más cerca de uno indica que una traducción está más cerca del texto de referencia.

Ten en cuenta que no se recomienda usar las puntuaciones BLEU para comparar diferentes idiomas y corpus. Por ejemplo, una puntuación BLEU de 50 para la traducción del inglés al alemán no es comparable con una puntuación BLEU de 50 para la traducción del japonés al inglés. Muchos expertos en traducción cambiaron a enfoques de métricas basados en modelos, que tienen una mayor correlación con las calificaciones humanas y son más detallados para identificar situaciones de error.

Para obtener información sobre cómo ejecutar evaluaciones para modelos de traducción, consulta Evalúa un modelo de traducción.

Elige entre la evaluación por puntos o por pares

Usa la siguiente tabla para decidir cuándo deseas usar la evaluación por puntos o por pares:

Definición Cuándo usar Ejemplos de casos de uso
Evaluación por puntos Evalúa un modelo y genera puntuaciones según los criterios
  • Cuando necesitas una puntuación para cada modelo que se evalúa
  • Cuando no es difícil definir la rúbrica para cada puntuación
  • Comprende cómo se comporta tu modelo en producción:
  • Explora las fortalezas y debilidades de un solo modelo.
  • Identificar en qué comportamientos debes enfocarte cuando se realizan ajustes.
  • Obtén el rendimiento de referencia de un modelo.
Evaluación por pares Compara dos modelos entre sí y genera una preferencia según los criterios.
  • Cuando deseas comparar dos modelos y no es necesario obtener una puntuación.
  • Cuando es difícil definir la rúbrica de puntuación para el método pointwise. Por ejemplo, puede ser difícil definir la rúbrica del 1 al 5 para la calidad del texto punto a punto, pero no es tan difícil comparar dos modelos y generar una preferencia directamente.
  • Determina qué modelo poner en producción:
  • Elige entre los tipos de modelo. Por ejemplo, Gemini-Pro en comparación con Claude 3.
  • Elige entre diferentes mensajes.
  • Determina si el ajuste hizo mejoras en un modelo de referencia.

Métricas basadas en procesamiento

Las métricas basadas en procesamiento comparan si los resultados generados por LLM son coherentes con un conjunto de datos de verdad fundamental de pares de entrada y salida. Las métricas de uso frecuente se pueden clasificar en los siguientes grupos:

  • Métricas basadas en el léxico: Usa cálculos matemáticos para calcular las similitudes de cadenas entre los resultados generados por LLM y la verdad fundamental, como Exact Match y ROUGE.
  • Métricas basadas en el recuento: Agrupa la cantidad de filas que coinciden o no con ciertas etiquetas de verdad fundamental, como F1-score, Accuracy y Tool Name Match.
  • Métricas basadas en incorporaciones: Calcula la distancia entre los resultados generados por LLM y la verdad fundamental en el espacio de embedding, lo que refleja su nivel de similitud.

Generación de texto general

Las siguientes métricas te ayudan a evaluar la capacidad del modelo para garantizar que las respuestas sean útiles, seguras y eficaces para tus usuarios.

Concordancia exacta

La métrica exact_match calcula si la respuesta de un modelo coincide exactamente con una referencia.

  • Límite de tokens: Ninguno

Criterios de evaluación

No aplicable

Parámetros de entrada de métricas

Parámetro de entrada Descripción
response La respuesta de LLM.
reference Es la respuesta dorada de LLM como referencia.

Puntuaciones de salida

Valor Descripción
0 Sin coincidencias
1 Coincidente

BLEU

La métrica bleu (BiLingual Evaluation Understudy) contiene el resultado de un algoritmo para evaluar la calidad de la respuesta, que se tradujo de un lenguaje natural a otro. La calidad de la respuesta se considera la correspondencia entre un parámetro response y su parámetro reference.

  • Límite de tokens: Ninguno

Criterios de evaluación

No aplicable

Parámetros de entrada de métricas

Parámetro de entrada Descripción
response La respuesta de LLM.
reference Es la respuesta dorada de LLM para la referencia.

Puntuaciones de salida

Valor Descripción
Número de punto flotante en el rango de [0,1] Las puntuaciones más altas indican mejores traducciones. Una puntuación de 1 representa una coincidencia perfecta con el reference.

ROUGE

La métrica ROUGE se usa para comparar el parámetro response proporcionado con un parámetro reference. Todas las métricas de rouge devuelven la puntuación F1. rouge-l-sum se calcula de forma predeterminada, pero puedes especificar la variante rouge que deseas usar.

  • Límite de tokens: Ninguno

Criterios de evaluación

No aplicable

Parámetros de entrada de métricas

Parámetro de entrada Descripción
response La respuesta de LLM.
reference Es la respuesta dorada de LLM para la referencia.

Puntuaciones de salida

Valor Descripción
Número de punto flotante en el rango de [0,1] Una puntuación más cercana a 0 significa una similitud baja entre response y reference. Una puntuación más cercana a 1 significa una gran similitud entre response y reference.

Uso de herramientas y llamada a función

Las siguientes métricas te ayudan a evaluar la capacidad del modelo para predecir una llamada a herramienta (función) válida.

Llamada válida

La métrica tool_call_valid describe la capacidad del modelo de predecir una llamada a la herramienta válida. Solo se inspecciona la primera llamada a la herramienta.

  • Límite de tokens: Ninguno

Criterios de evaluación

Criterio de evaluación Descripción
Validez El resultado del modelo contiene una llamada a la herramienta válida.
Formato Un diccionario JSON contiene los campos name y arguments.

Parámetros de entrada de métricas

Parámetro de entrada Descripción
prediction El resultado del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls. El valor content es la salida de texto del modelo. El valor tool_calls es una cadena serializada JSON de una lista de llamadas a las herramientas. Aquí tienes un ejemplo:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Es la predicción de referencia de la verdad fundamental, que sigue el mismo formato que prediction.

Puntuaciones de salida

Valor Descripción
0 Llamada a la herramienta no válida
1 Llamada a la herramienta válida

Coincidencia con el nombre

La métrica tool_name_match describe la capacidad del modelo de predecir una llamada a la herramienta con el nombre correcto de la herramienta. Solo se inspecciona la primera llamada a la herramienta.

  • Límite de tokens: Ninguno

Criterios de evaluación

Criterio de evaluación Descripción
Coincidencia de nombres La llamada a la herramienta predicha por el modelo coincide con el nombre de la llamada a la herramienta de referencia.

Parámetros de entrada de métricas

Parámetro de entrada Descripción
prediction El resultado del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls. El valor content es la salida de texto del modelo. El valor tool_call es una cadena serializada JSON de una lista de llamadas a las herramientas. Aquí tienes un ejemplo:

{"content": "","tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Es la predicción de referencia de la verdad fundamental, que sigue el mismo formato que prediction.

Puntuaciones de salida

Valor Descripción
0 El nombre de la llamada a la herramienta no coincide con la referencia.
1 El nombre de la llamada a la herramienta coincide con la referencia.

Coincidencia de clave de parámetro

La métrica tool_parameter_key_match describe la capacidad del modelo de predecir una llamada a la herramienta con los nombres de parámetros correctos.

  • Límite de tokens: Ninguno

Criterios de evaluación

Criterio de evaluación Descripción
Porcentaje de coincidencias de parámetros The ratio between the number of predicted parameters that match the parameter names of the reference tool call and the total number of parameters.

Parámetros de entrada de métricas

Parámetro de entrada Descripción
prediction El resultado del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls. El valor content es la salida de texto del modelo. El valor tool_call es una cadena serializada JSON de una lista de llamadas a las herramientas. Aquí tienes un ejemplo:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Es la predicción del modelo de referencia de verdad fundamental, que sigue el mismo formato que prediction.

Puntuaciones de salida

Valor Descripción
Número de punto flotante en el rango de [0,1] La puntuación más alta de 1 significa que más parámetros coinciden con los nombres de los parámetros reference.

Coincidencia de KV del parámetro

La métrica tool_parameter_kv_match describe la capacidad del modelo de predecir una llamada a la herramienta con los nombres de parámetros y los valores de clave correctos.

  • Límite de tokens: Ninguno

Criterios de evaluación

Criterio de evaluación Descripción
Porcentaje de coincidencias de parámetros Es la proporción entre la cantidad de parámetros predichos que coinciden con los nombres y los valores de los parámetros de la llamada a la herramienta de referencia, y la cantidad total de parámetros.

Parámetros de entrada de métricas

Parámetro de entrada Descripción
prediction El resultado del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls. El valor content es la salida de texto del modelo. El valor tool_call es una cadena serializada JSON de una lista de llamadas a las herramientas. Aquí tienes un ejemplo:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Es la predicción de referencia de la verdad fundamental, que sigue el mismo formato que prediction.

Puntuaciones de salida

Valor Descripción
Número de punto flotante en el rango de [0,1] La puntuación más alta de 1 significa que más parámetros coinciden con los nombres y valores de los parámetros reference.

En el servicio de evaluación de IA generativa, puedes usar métricas basadas en el procesamiento a través del SDK de Vertex AI para Python.

Calidad de la evaluación de referencia para las tareas generativas

Cuando evalúes el resultado de los modelos de IA generativa, ten en cuenta que el proceso de evaluación es inherentemente subjetivo y que la calidad de la evaluación puede variar según la tarea específica y los criterios de evaluación. Esta subjetividad también se aplica a los evaluadores humanos. Para obtener más información sobre los desafíos para lograr una evaluación coherente de los modelos de IA generativa, consulta Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena y Learning to summarize from human feedback.

¿Qué sigue?