En el caso de Gen AI Evaluation Service, el conjunto de datos de evaluación suele constar de la respuesta del modelo que deseas evaluar, los datos de entrada que se usaron para generar la respuesta y, posiblemente, la respuesta de verdad fundamental.
Esquema del conjunto de datos de evaluación
Para los casos de uso típicos de métricas basadas en modelos, tu conjunto de datos debe proporcionar la siguiente información:
Tipo de entrada | Contenido del campo de entrada |
---|---|
instrucción | Entrada del usuario para el modelo o la aplicación de IA generativa. En algunos casos, es opcional. |
respuesta | Es la respuesta de inferencia de LLM que se evaluará. |
baseline_model_response (obligatorio para las métricas por pares) | La respuesta de inferencia de LLM del modelo de referencia que se usa para comparar tu respuesta de LLM en la evaluación por pares |
Si usas el módulo de Gen AI Evaluation del SDK de Vertex AI para Python, Gen AI Evaluation Service puede generar automáticamente response
y baseline_model_response
con el modelo que especificaste.
Para otros casos de uso de evaluación, es posible que debas proporcionar más información:
Varios turnos o chat
Tipo de entrada | Contenido del campo de entrada |
---|---|
historia | Es el historial de la conversación entre el usuario y el modelo antes del turno actual. |
instrucción | Entrada del usuario para el modelo o la aplicación de IA generativa en el turno actual. |
respuesta | Es la respuesta de inferencia de LLM que se evaluará, que se basa en el historial y la instrucción de giro actual. |
baseline_model_response (obligatorio para las métricas por pares) | La respuesta de inferencia de LLM de referencia que se usa para comparar tu respuesta de LLM en la evaluación por pares, que se basa en el historial y la instrucción de turno actual. |
Métricas basadas en procesamiento
Tu conjunto de datos debe proporcionar la respuesta del modelo de lenguaje extenso y una referencia para compararla.
Tipo de entrada | Contenido del campo de entrada |
---|---|
respuesta | Es la respuesta de inferencia de LLM que se evaluará. |
referencia | La verdad fundamental con la que se compara la respuesta de tu LLM. |
Según tus casos de uso, también puedes desglosar la instrucción del usuario de entrada en partes detalladas, como instruction
y context
, y ensamblarlas para la inferencia proporcionando una plantilla de instrucción. También puedes proporcionar la información de referencia o de verdad fundamental si es necesario:
Tipo de entrada | Contenido del campo de entrada |
---|---|
instrucción | Es parte de la instrucción de entrada del usuario. Se refiere a la instrucción de inferencia que se envía a tu LLM. Por ejemplo, “Resume el siguiente texto” es una instrucción. |
context | Entrada del usuario para el modelo o la aplicación de IA generativa en el turno actual. |
referencia | La verdad fundamental con la que se compara la respuesta de tu LLM. |
Las entradas requeridas para el conjunto de datos de evaluación deben ser coherentes con tus métricas. Para obtener más detalles sobre cómo personalizar tus métricas, consulta Define tus métricas de evaluación y Ejecuta la evaluación. Para obtener más detalles sobre cómo incluir datos de referencia en tus métricas basadas en modelos, consulta Adapta una plantilla de instrucción de métrica a tus datos de entrada.
Importa tu conjunto de datos de evaluación
Puedes importar tu conjunto de datos en los siguientes formatos:
Archivo JSONL o CSV almacenado en Cloud Storage
Tabla de BigQuery
DataFrame de Pandas
Ejemplos de conjuntos de datos de evaluación
En esta sección, se muestran ejemplos de conjuntos de datos con el formato de DataFrame de Pandas. Ten en cuenta que solo se muestran varios registros de datos a modo de ejemplo, y los conjuntos de datos de evaluación suelen tener 100 o más datos. Para conocer las prácticas recomendadas para preparar un conjunto de datos, consulta la sección Prácticas recomendadas.
Métricas basadas en modelos por puntos
El siguiente es un caso de resumen para demostrar un conjunto de datos de muestra para las métricas basadas en modelos por puntos:
prompts = [
# Example 1
(
"Summarize the text in one sentence: As part of a comprehensive"
" initiative to tackle urban congestion and foster sustainable urban"
" living, a major city has revealed ambitious plans for an extensive"
" overhaul of its public transportation system. The project aims not"
" only to improve the efficiency and reliability of public transit but"
" also to reduce the city's carbon footprint and promote eco-friendly"
" commuting options. City officials anticipate that this strategic"
" investment will enhance accessibility for residents and visitors"
" alike, ushering in a new era of efficient, environmentally conscious"
" urban transportation."
),
# Example 2
(
"Summarize the text such that a five-year-old can understand: A team of"
" archaeologists has unearthed ancient artifacts shedding light on a"
" previously unknown civilization. The findings challenge existing"
" historical narratives and provide valuable insights into human"
" history."
),
]
responses = [
# Example 1
(
"A major city is revamping its public transportation system to fight"
" congestion, reduce emissions, and make getting around greener and"
" easier."
),
# Example 2
(
"Some people who dig for old things found some very special tools and"
" objects that tell us about people who lived a long, long time ago!"
" What they found is like a new puzzle piece that helps us understand"
" how people used to live."
),
]
eval_dataset = pd.DataFrame({
"prompt": prompts,
"response": responses,
})
Métricas basadas en modelos por pares
En el siguiente ejemplo, se muestra un caso de respuesta a preguntas con libro abierto para demostrar un conjunto de datos de muestra para las métricas basadas en modelos por pares.
prompts = [
# Example 1
(
"Based on the context provided, what is the hardest material? Context:"
" Some might think that steel is the hardest material, or even"
" titanium. However, diamond is actually the hardest material."
),
# Example 2
(
"Based on the context provided, who directed The Godfather? Context:"
" Mario Puzo and Francis Ford Coppola co-wrote the screenplay for The"
" Godfather, and the latter directed it as well."
),
]
responses = [
# Example 1
"Diamond is the hardest material. It is harder than steel or titanium.",
# Example 2
"Francis Ford Coppola directed The Godfather.",
]
baseline_model_responses = [
# Example 1
"Steel is the hardest material.",
# Example 2
"John Smith.",
]
eval_dataset = pd.DataFrame(
{
"prompt": prompts,
"response": responses,
"baseline_model_response": baseline_model_responses,
}
)
Métricas basadas en procesamiento
Para las métricas basadas en el procesamiento, a menudo se requiere reference
.
eval_dataset = pd.DataFrame({
"response": ["The Roman Senate was filled with exuberance due to Pompey's defeat in Asia."],
"reference": ["The Roman Senate was filled with exuberance due to successes against Catiline."],
})
Métricas de uso de herramientas (llamadas a función)
En el siguiente ejemplo, se muestran los datos de entrada para las métricas de uso de herramientas basadas en el procesamiento:
json_responses = ["""{
"content": "",
"tool_calls":[{
"name":"get_movie_info",
"arguments": {"movie":"Mission Impossible", "time": "today 7:30PM"}
}]
}"""]
json_references = ["""{
"content": "",
"tool_calls":[{
"name":"book_tickets",
"arguments":{"movie":"Mission Impossible", "time": "today 7:30PM"}
}]
}"""]
eval_dataset = pd.DataFrame({
"response": json_responses,
"reference": json_references,
})
Prácticas recomendadas
Sigue estas prácticas recomendadas cuando definas el conjunto de datos de evaluación:
- Proporciona ejemplos que representen los tipos de entradas, que tus modelos procesan en producción.
- Tu conjunto de datos debe incluir un mínimo de un ejemplo de evaluación. Recomendamos alrededor de 100 ejemplos para garantizar métricas agregadas de alta calidad y resultados estadísticamente significativos. Este tamaño ayuda a establecer un nivel de confianza más alto en los resultados agregados de la evaluación, lo que minimiza la influencia de los valores atípicos y garantiza que las métricas de rendimiento reflejen las verdaderas capacidades del modelo en diversas situaciones. La tasa de mejoras de la calidad de las métricas agregadas suele disminuir cuando se proporcionan más de 400 ejemplos.