Per il servizio di valutazione dell'AI generativa, il set di dati di valutazione in genere è costituito dalla risposta del modello che vuoi valutare, dai dati di input utilizzati per generare la risposta ed eventualmente dalla risposta basata su dati di fatto.
Schema del set di dati di valutazione
Per i casi d'uso tipici delle metriche basate su modelli, il set di dati deve fornire le seguenti informazioni:
Tipo input | Contenuti del campo di input |
---|---|
prompt | Input utente per il modello o l'applicazione di AI generativa. In alcuni casi è facoltativo. |
risposta | La risposta di inferenza del LLM da valutare. |
baseline_model_response (obbligatorio per le metriche pairwise) | La risposta di inferenza LLM di base utilizzata per confrontare la risposta LLM con la valutazione a coppie |
Se utilizzi il modulo Gen AI Evaluation dell'SDK Vertex AI per Python, il servizio Gen AI Evaluation può generare automaticamente response
e baseline_model_response
con il modello che hai specificato.
Per altri casi d'uso della valutazione, potresti dover fornire ulteriori informazioni:
Multi-turno o chat
Tipo input | Contenuti del campo di input |
---|---|
cronologia | La cronologia della conversazione tra l'utente e il modello prima del turno attuale. |
prompt | Input dell'utente per il modello o l'applicazione di AI generativa nel turno corrente. |
risposta | La risposta di inferenza dell'LLM da valutare, basata sulla cronologia e sul prompt del turno attuale. |
baseline_model_response (obbligatorio per le metriche pairwise) | La risposta di inferenza LLM di base utilizzata per confrontare la risposta LLM con la valutazione a coppie, che si basa sulla cronologia e sul prompt del turno corrente. |
Metriche basate su calcolo
Il set di dati deve fornire una risposta del modello linguistico di grandi dimensioni e un riferimento a cui confrontarla.
Tipo input | Contenuti del campo di input |
---|---|
risposta | La risposta di inferenza del LLM da valutare. |
riferimento | I dati empirici reali a cui confrontare la risposta dell'LLM. |
Metriche di traduzione
Il set di dati deve fornire una risposta dal modello. A seconda del caso d'uso, devi anche fornire un riferimento da confrontare, un input nella lingua di origine o una combinazione di entrambi.
Tipo input | Contenuti del campo di input |
---|---|
origine | Il testo di origine nella lingua originale da cui è stata tradotta la previsione. |
risposta | La risposta di inferenza del LLM da valutare. |
riferimento | I dati empirici reali a cui confrontare la risposta dell'LLM. È nella stessa lingua della risposta. |
A seconda dei casi d'uso, puoi anche suddividere il prompt utente di input in parti granulari, ad esempio instruction
e context
, e assemblarle per l'inferenza fornendo un modello di prompt. Se necessario, puoi anche fornire le informazioni di riferimento o di dati empirici reali:
Tipo input | Contenuti del campo di input |
---|---|
istruzione | Parte del prompt utente di input. Si riferisce all'istruzione di inferenza inviata al tuo LLM. Ad esempio, "Riassumi il seguente testo" è un'istruzione. |
context | Input dell'utente per il modello o l'applicazione di AI generativa nel turno corrente. |
riferimento | I dati empirici reali a cui confrontare la risposta dell'LLM. |
Gli input richiesti per il set di dati di valutazione devono essere coerenti con le metriche. Per ulteriori dettagli sulla personalizzazione delle metriche, vedi Definisci le metriche di valutazione ed Esegui la valutazione. Per ulteriori dettagli su come includere i dati di riferimento nelle metriche basate su modelli, consulta Adattare un modello di prompt di metrica ai dati di input.
Importa il set di dati di valutazione
Puoi importare il set di dati nei seguenti formati:
File JSONL o CSV archiviato in Cloud Storage
Tabella BigQuery
DataFrame Pandas
Esempi di set di dati di valutazione
Questa sezione mostra esempi di set di dati utilizzando il formato Pandas DataFrame. Tieni presente che qui vengono mostrati solo alcuni record di dati come esempio e che i set di dati di valutazione di solito hanno 100 o più punti dati. Per le best practice per la preparazione di un set di dati, consulta la sezione Best practice.
Metriche basate su punti e modelli
Di seguito è riportato un caso di riepilogo per mostrare un set di dati di esempio per le metriche basate su modelli puntuali:
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,
})
Metriche basate su coppie e modelli
L'esempio seguente mostra un caso di risposta a domande con libro aperto per dimostrare un set di dati campione per le metriche basate su modelli a coppie.
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,
}
)
Metriche basate su calcolo
Per le metriche basate su calcolo, spesso è necessario 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."],
})
Metriche di utilizzo degli strumenti (chiamata di funzione)
Il seguente esempio mostra i dati di input per le metriche di utilizzo degli strumenti basate sul calcolo:
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,
})
Casi d'uso della traduzione
L'esempio seguente mostra i dati di input per le metriche di traduzione:
source = [
"Dem Feuer konnte Einhalt geboten werden",
"Schulen und Kindergärten wurden eröffnet.",
]
response = [
"The fire could be stopped",
"Schools and kindergartens were open",
]
reference = [
"They were able to control the fire.",
"Schools and kindergartens opened",
]
eval_dataset = pd.DataFrame({
"source": source,
"response": response,
"reference": reference,
})
Best practice
Segui queste best practice quando definisci il set di dati di valutazione:
- Fornisci esempi che rappresentino i tipi di input elaborati dai tuoi modelli in produzione.
- Il set di dati deve includere almeno un esempio di valutazione. Consigliamo di utilizzare circa 100 esempi per garantire metriche aggregate di alta qualità e risultati statisticamente significativi. Questa dimensione contribuisce a stabilire un livello di confidenza più elevato nei risultati della valutazione aggregata, riducendo al minimo l'influenza dei valori anomali e garantendo che le metriche di rendimento riflettano le vere capacità del modello in diversi scenari. Il tasso di miglioramento della qualità delle metriche aggregate tende a diminuire quando vengono forniti più di 400 esempi.