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 ofrece una descripción general de los conceptos relacionados con la definición de métricas de evaluación para tu caso práctico.
Información general
Los modelos de IA generativa se pueden usar para crear aplicaciones que realicen una gran variedad de tareas, como resumir artículos de noticias, responder a consultas de clientes o ayudar a escribir código. El servicio de evaluación de IA generativa de Vertex AI te permite evaluar cualquier modelo con métricas explicables.
Por ejemplo, puede que estés desarrollando una aplicación para resumir artículos. Para evaluar el rendimiento de tu aplicación en esa tarea específica, ten en cuenta los criterios que quieras medir y las métricas que usarías para puntuarlos:
Criterios: una o varias dimensiones que quieras evaluar, como
conciseness
,relevance
,correctness
oappropriate choice of words
.Métricas: una única 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 juez para la mayoría de los casos prácticos es Gemini, pero también puedes usar modelos como MetricX o COMET para casos prácticos de traducción.
Puedes medir las métricas basadas en modelos por pares o por puntos:
Métricas de puntos: permite que el modelo de juez evalúe el resultado del modelo candidato en función de 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 los criterios, mientras que 5 significa que la respuesta cumple los criterios correctamente.
Métricas por pares: permite que el modelo de juez compare las respuestas de dos modelos y elija la mejor. Se suele usar para comparar un modelo candidato con el modelo de referencia. Las métricas por pares solo se admiten con Gemini como modelo de juez.
Métricas basadas en cálculos: estas métricas se calculan mediante fórmulas matemáticas para comparar la salida del modelo con una verdad fundamental o una referencia. Entre las métricas basadas en cálculos que se usan habitualmente se incluyen ROUGE y BLEU.
Puede usar las métricas basadas en cálculos de forma independiente o junto con las métricas basadas en modelos. Utilice la siguiente tabla para decidir cuándo usar métricas basadas en modelos o en cálculos:
Enfoque de evaluación | Datos | Coste y velocidad | |
---|---|---|---|
Métricas basadas en modelos | Usar un modelo de juez para evaluar el rendimiento en función de criterios de evaluación descriptivos | La verdad fundamental es opcional | Ligeramente más caro y más lento |
Métricas basadas en cálculos | Usar fórmulas matemáticas para evaluar el rendimiento | Normalmente se requiere una verdad fundamental | Bajo coste y rapidez |
Para empezar, consulta los artículos Preparar el conjunto de datos y Ejecutar la evaluación.
Definir 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 juez propietarios de Google, como Gemini, se calibran con evaluadores humanos para asegurar su calidad. Se gestionan y están disponibles desde el primer momento. El proceso de evaluación basada en modelos varía en función de las métricas de evaluación que proporciones.
La evaluación basada en modelos sigue este proceso:
Preparación de los datos: proporcionas datos de evaluación en forma de peticiones de entrada. Los modelos candidatos reciben las peticiones y generan las respuestas correspondientes.
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.
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 el motivo de la selección.
El servicio de evaluación de IA generativa ofrece las siguientes opciones para configurar tus métricas basadas en modelos con el SDK de Vertex AI:
Opción | Descripción | Usos recomendados |
---|---|---|
Usar un ejemplo ya creado | Usa una plantilla de petición de métrica predefinida para empezar. | Casos prácticos habituales y ahorro de tiempo |
Definir métricas con nuestra interfaz basada en plantillas | Recibe asistencia para definir tus métricas. Nuestra interfaz basada en plantillas ofrece estructura y sugerencias. | Personalización con asistencia |
Definir métricas desde cero | Tener control total sobre las definiciones de las métricas. | Ideal para casos prácticos muy específicos. Requiere más conocimientos técnicos y tiempo. |
Por ejemplo, puedes desarrollar una aplicación de IA generativa que devuelva respuestas fluidas y entretenidas. En esta aplicación, puede definir dos criterios de evaluación mediante la interfaz de plantilla:
Fluidez: las frases fluyen con naturalidad y no hay frases poco naturales ni demasiado largas. Las ideas y las frases se conectan de forma lógica y se usan transiciones de forma eficaz cuando es necesario.
Entretenimiento: texto breve y divertido que incluye emojis, exclamaciones y preguntas para transmitir una comunicación rápida y espontánea, así como diversión.
Para convertir esos dos criterios en una métrica, necesitas una puntuación general que vaya de -1 a 1, llamada custom_text_quality
. Puedes definir una métrica de esta forma:
# 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 ver una lista completa de plantillas de peticiones de métricas, consulta Plantillas de peticiones de métricas para la evaluación.
Evaluar 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 puntuales que se han entrenado para tareas de traducción. Puedes evaluar la calidad y la precisión de los resultados de los modelos de traducción de tu contenido, tanto si son resultados de modelos de NMT, TranslationLLM o Gemini.
También puedes usar Gemini como modelo de evaluación para valorar la fluidez, la coherencia, la verbosidad y la calidad del texto de tu modelo 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 coma flotante entre 0 y 25 que representa la calidad de una traducción. MetricX está disponible como método basado en referencias y como método sin referencias (QE). Cuando usa esta métrica, una puntuación más baja es mejor, ya que significa que hay menos errores.
COMET utiliza 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 cálculos. La puntuación BLEU indica el grado de similitud entre el texto candidato y el texto de referencia. Un valor de puntuación BLEU más cercano a uno indica que una traducción se parece más al texto de referencia.
Ten en cuenta que no se recomienda usar las puntuaciones BLEU para comparar diferentes corpus e idiomas. Por ejemplo, una puntuación BLEU de 50 en una traducción de inglés a alemán no es comparable con una puntuación BLEU de 50 en una traducción de japonés a inglés. Muchos expertos en traducción han adoptado enfoques métricos basados en modelos, que tienen una mayor correlación con las valoraciones humanas y son más específicos a la hora de identificar escenarios de error.
Para saber cómo llevar a cabo evaluaciones de modelos de traducción, consulta Evaluar un modelo de traducción.
Elegir entre la evaluación puntual o por pares
Usa la siguiente tabla para decidir cuándo quieres usar la evaluación puntual o por pares:
Definición | Cuándo se puede utilizar | Ejemplos de casos prácticos | |
---|---|---|---|
Evaluación punto a punto | Evalúa un modelo y genera puntuaciones basadas en los criterios |
|
|
Evaluación por pares | Comparar dos modelos entre sí y generar una preferencia basada en los criterios |
|
|
Métricas basadas en cálculos
Las métricas basadas en cálculos comparan si los resultados generados por el LLM son coherentes con un conjunto de datos validados en el terreno de pares de entrada y salida. Las métricas que se usan con frecuencia se pueden clasificar en los siguientes grupos:
- Métricas basadas en léxico: usa las matemáticas para calcular las similitudes de cadenas entre los resultados generados por LLMs y la verdad fundamental, como
Exact Match
yROUGE
. - Métricas basadas en recuentos: agrega el número de filas que coinciden o no con determinadas etiquetas validadas en el terreno, como
F1-score
,Accuracy
yTool Name Match
. - Métricas basadas en embeddings: calcula la distancia entre los resultados generados por el LLM y la verdad fundamental en el espacio de embeddings, 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 asegurarse de 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 del LLM. |
reference |
La respuesta del LLM de referencia. |
Puntuaciones de salida
Valor | Descripción |
---|---|
0 | Sin coincidencias |
1 | Coincide |
BLEU
La métrica bleu
(BiLingual Evaluation Understudy) contiene el resultado de un algoritmo para evaluar la calidad de la respuesta, que se ha traducido 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 del LLM. |
reference |
La respuesta del LLM ideal para la referencia. |
Puntuaciones de salida
Valor | Descripción |
---|---|
Un número flotante en el intervalo [0,1] | Cuanto más alta sea la puntuación, mejor será la traducción. 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 el parámetro reference
.
Todas las métricas rouge
devuelven la puntuación F1. rouge-l-sum
se calcula de forma predeterminada, pero puedes especificar la rouge
variante que quieras 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 del LLM. |
reference |
La respuesta del LLM ideal para la referencia. |
Puntuaciones de salida
Valor | Descripción |
---|---|
Un número flotante en el intervalo [0,1] | Una puntuación más cercana a 0 significa que la similitud entre response y reference es baja. Una puntuación más cercana a 1 significa que hay una gran similitud entre response y reference . |
Uso de herramientas y llamadas a funciones
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 para predecir una llamada a 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 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 |
La salida del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls . El valor de content es el texto
que genera el modelo. El valor tool_calls es una cadena JSON serializada de una lista de llamadas a 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 |
La predicción de referencia validada en el terreno, que sigue el mismo formato que prediction . |
Puntuaciones de salida
Valor | Descripción |
---|---|
0 | Llamada a herramienta no válida |
1 | Llamada a herramienta válida |
Coincidencia de nombre
La métrica tool_name_match
describe la capacidad del modelo para predecir una llamada a una 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 | El nombre de la llamada a la herramienta predicha por el modelo coincide con el de la llamada a la herramienta de referencia. |
Parámetros de entrada de métricas
Parámetro de entrada | Descripción |
---|---|
prediction |
La salida del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls . El valor de content es el texto
que genera el modelo. El valor tool_call es una cadena JSON serializada de una lista de llamadas a 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 |
La predicción de referencia validada, 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 para predecir una llamada a herramienta con los nombres de parámetros correctos.
- Límite de tokens: ninguno
Criterios de evaluación
Criterio de evaluación | Descripción |
---|---|
Ratio de coincidencia de parámetros | La proporción entre el número de parámetros predichos que coinciden con los nombres de los parámetros de la llamada a la herramienta de referencia y el número total de parámetros. |
Parámetros de entrada de métricas
Parámetro de entrada | Descripción |
---|---|
prediction |
La salida del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls . El valor de content es el texto
que genera el modelo. El valor tool_call es una cadena JSON serializada de una lista de llamadas a 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 |
La predicción del modelo de referencia validado en el terreno, que sigue el mismo formato que prediction . |
Puntuaciones de salida
Valor | Descripción |
---|---|
Un número flotante en el intervalo [0,1] | Cuanto mayor sea la puntuación de 1 , más parámetros coincidirán con los nombres de los parámetros de reference . |
Coincidencia de clave-valor de parámetro
La métrica tool_parameter_kv_match
describe la capacidad del modelo para predecir una llamada a 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 |
---|---|
Ratio de coincidencia de parámetros | La proporción entre el número de parámetros predichos que coinciden tanto con los nombres como con los valores de los parámetros de la llamada a la herramienta de referencia y el número total de parámetros. |
Parámetros de entrada de métricas
Parámetro de entrada | Descripción |
---|---|
prediction |
La salida del modelo candidato, que es una cadena serializada JSON que contiene las claves content y tool_calls . El valor de content es el texto
que genera el modelo. El valor tool_call es una cadena JSON serializada de una lista de llamadas a 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 |
La predicción de referencia validada en el terreno, que sigue el mismo formato que prediction . |
Puntuaciones de salida
Valor | Descripción |
---|---|
Un número flotante en el intervalo [0,1] | Cuanto mayor sea la puntuación de 1 , más parámetros coincidirán con los nombres y valores de los parámetros de reference . |
En el servicio de evaluación de IA generativa, puedes usar métricas basadas en cálculos a través del SDK de Vertex AI para Python.
Calidad de la evaluación de referencia para tareas generativas
Al evaluar el resultado de los modelos de IA generativa, ten en cuenta que el proceso de evaluación es intrínsecamente subjetivo y que la calidad de la evaluación puede variar en función de 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 retos que supone conseguir 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.
Siguientes pasos
Busca una plantilla de métricas basadas en modelos.