Il primo passo per valutare i tuoi modelli o applicazioni generativi è identificare l'obiettivo della valutazione e definire le metriche di valutazione. Questa pagina fornisce una panoramica dei concetti relativi alla definizione delle metriche di valutazione per il tuo caso d'uso.
Panoramica
I modelli di AI generativa possono essere utilizzati per creare applicazioni per un'ampia gamma di attività, come riassumere articoli di notizie, rispondere alle richieste dei clienti o assistere nella scrittura di codice. Gen AI evaluation service in Vertex AI ti consente di valutare qualsiasi modello con metriche spiegabili.
Ad esempio, potresti sviluppare un'applicazione per riassumere gli articoli. Per valutare le prestazioni della tua applicazione in questa attività specifica, considera i criteri che vuoi misurare e le metriche che utilizzeresti per assegnare un punteggio:
Criteri: una o più dimensioni che vuoi valutare, ad esempio
conciseness
,relevance
,correctness
oappropriate choice of words
.Metriche: un singolo punteggio che misura l'output del modello rispetto ai criteri.
Gen AI evaluation service fornisce due tipi principali di metriche:
Metriche basate su modelli: le nostre metriche basate su modelli valutano il modello candidato rispetto a un modello giudice. Il modello di valutazione per la maggior parte dei casi d'uso è Gemini, ma puoi utilizzare anche modelli come MetricX o COMET per i casi d'uso di traduzione.
Puoi misurare le metriche basate su modelli a coppie o puntuali:
Metriche basate su punti: consentono al modello giudice di valutare l'output del modello candidato in base ai criteri di valutazione. Ad esempio, il punteggio potrebbe essere compreso tra 0 e 5, dove 0 significa che la risposta non soddisfa i criteri, mentre 5 significa che la risposta soddisfa bene i criteri.
Metriche a coppie: consentono al modello di valutazione di confrontare le risposte di due modelli e scegliere quella migliore. Questo valore viene spesso utilizzato quando si confronta un modello candidato con il modello di base. Le metriche pairwise sono supportate solo con Gemini come modello giudice.
Metriche basate sul calcolo: queste metriche vengono calcolate utilizzando formule matematiche per confrontare l'output del modello con un dato di fatto o un riferimento. Le metriche basate su calcoli più utilizzate includono ROUGE e BLEU.
Puoi utilizzare le metriche basate su calcolo in modo autonomo o insieme alle metriche basate su modelli. Utilizza la tabella seguente per decidere quando utilizzare le metriche basate su modelli o su calcoli:
Approccio di valutazione | Dati | Costo e velocità | |
---|---|---|---|
Metriche basate su modelli | Utilizza un modello di valutazione per valutare il rendimento in base a criteri di valutazione descrittivi | I dati di fatto sono facoltativi | Leggermente più costoso e più lento |
Metriche basate su calcolo | Utilizzare formule matematiche per valutare il rendimento | Di solito è necessario un dato di fatto | Costo ridotto e velocità |
Per iniziare, consulta Preparare il set di dati ed Eseguire la valutazione.
Definisci le metriche basate su modelli
La valutazione basata su modelli prevede l'utilizzo di un modello di machine learning come modello di valutazione per valutare gli output del modello candidato.
I modelli di valutazione proprietari di Google, come Gemini, vengono calibrati con valutatori umani per garantirne la qualità. Sono gestiti e disponibili fin da subito. Il processo di valutazione basata su modelli varia in base alle metriche di valutazione che fornisci.
La valutazione basata su modelli segue questa procedura:
Preparazione dei dati: fornisci i dati di valutazione sotto forma di prompt di input. I modelli candidati ricevono i prompt e generano le risposte corrispondenti.
Valutazione: le metriche di valutazione e le risposte generate vengono inviate al modello di valutazione. Il modello di valutazione valuta ogni risposta singolarmente, fornendo una valutazione basata sulle righe.
Aggregazione e spiegazione: Gen AI evaluation service aggrega queste valutazioni individuali in un punteggio complessivo. L'output include anche spiegazioni chain-of-thought per ogni giudizio, che illustrano la logica alla base della selezione.
Gen AI evaluation service offre le seguenti opzioni per configurare le metriche basate sul modello con l'SDK Vertex AI:
Opzione | Descrizione | Ideale per |
---|---|---|
Utilizzare un esempio esistente | Utilizza un modello di prompt per metriche predefinito per iniziare. | Casi d'uso comuni, risparmio di tempo |
Definisci le metriche con la nostra interfaccia basata su modelli | Ricevi assistenza guidata per definire le metriche. La nostra interfaccia basata su modelli fornisce struttura e suggerimenti. | Personalizzazione con l'assistenza |
Definisci le metriche da zero | Avere il controllo completo delle definizioni delle metriche. | Ideale per casi d'uso molto specifici. Richiede più competenze tecniche e un maggiore investimento di tempo. |
Ad esempio, potresti voler sviluppare un'applicazione di AI generativa che restituisca risposte scorrevoli e divertenti. Per questa applicazione, puoi definire due criteri per la valutazione utilizzando l'interfaccia basata su modelli:
Fluidità: le frasi scorrono in modo fluido, evitando formulazioni goffe o frasi troppo lunghe. Le idee e le frasi sono collegate in modo logico e le transizioni vengono utilizzate in modo efficace, se necessario.
Intrattenimento: testo breve e divertente che incorpora emoji, esclamazioni e domande per trasmettere una comunicazione e un divertimento rapidi e spontanei.
Per trasformare questi due criteri in una metrica, ti serve un punteggio complessivo compreso tra -1 e 1 chiamato custom_text_quality
. Puoi definire una metrica come questa:
# 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",
},
),
)
Per un elenco completo dei modelli di prompt delle metriche, consulta Modelli di prompt delle metriche per la valutazione.
Valutare i modelli di traduzione
Il servizio di valutazione dell'AI generativa offre le seguenti metriche di valutazione delle attività di traduzione:
MetricX e COMET sono metriche basate su modelli puntuali che sono state addestrate per le attività di traduzione. Puoi valutare la qualità e l'accuratezza dei risultati del modello di traduzione per i tuoi contenuti, indipendentemente dal fatto che siano output di modelli NMT, TranslationLLM o Gemini.
Puoi anche utilizzare Gemini come modello di valutazione per valutare il tuo modello in termini di fluidità, coerenza, livello di dettaglio e qualità del testo in combinazione con MetricX, COMET o BLEU.
MetricX è una metrica basata sugli errori sviluppata da Google che prevede un punteggio in virgola mobile compreso tra 0 e 25 che rappresenta la qualità di una traduzione. MetricX è disponibile sia come metodo basato su riferimenti che senza riferimenti (QE). Quando utilizzi questa metrica, un punteggio più basso è migliore perché significa che ci sono meno errori.
COMET utilizza un approccio di regressione basato sul riferimento che fornisce punteggi compresi tra 0 e 1, dove 1 indica una traduzione perfetta.
BLEU (Bilingual Evaluation Understudy) è una metrica basata su calcolo. Il punteggio BLEU indica il grado di somiglianza tra il testo candidato e il testo di riferimento. Un valore del punteggio BLEU più vicino a 1 indica che una traduzione è più vicina al testo di riferimento.
Tieni presente che i punteggi BLEU non sono consigliati per il confronto tra corpus e lingue diversi. Ad esempio, un punteggio BLEU di 50 per la traduzione dall'inglese al tedesco non è paragonabile a un punteggio BLEU di 50 per la traduzione dal giapponese all'inglese. Molti esperti di traduzione sono passati ad approcci basati su metriche basate su modelli, che hanno una correlazione più elevata con le valutazioni umane e sono più granulari nell'identificazione degli scenari di errore.
Per scoprire come eseguire le valutazioni per i modelli di traduzione, consulta Valutare un modello di traduzione.
Scegli tra la valutazione basata su punti o su coppie
Utilizza la tabella seguente per decidere quando utilizzare la valutazione puntuale o a coppie:
Definizione | Quando utilizzarlo | Esempi di casi d'uso | |
---|---|---|---|
Valutazione basata su punti | Valuta un modello e genera i punteggi in base ai criteri |
|
|
Valutazione basata su coppie | Confronta due modelli tra loro, generando una preferenza in base ai criteri |
|
|
Metriche basate su calcolo
Le metriche basate sul calcolo confrontano se i risultati generati dall'LLM sono coerenti con un set di dati di input e output basato su dati empirici reali. Le metriche utilizzate di frequente possono essere suddivise nei seguenti gruppi:
- Metriche basate sul lessico: utilizza la matematica per calcolare le somiglianze tra le stringhe dei risultati generati dall'LLM e i dati di riferimento, ad esempio
Exact Match
eROUGE
. - Metriche basate sul conteggio: aggrega il numero di righe che corrispondono o non corrispondono a determinate etichette di riferimento, ad esempio
F1-score
,Accuracy
eTool Name Match
. - Metriche basate sugli embedding: calcolano la distanza tra i risultati generati dall'LLM e i dati di riferimento nello spazio di embedding, riflettendo il loro livello di somiglianza.
Generazione di testi generici
Le seguenti metriche ti aiutano a valutare la capacità del modello di garantire che le risposte siano utili, sicure ed efficaci per i tuoi utenti.
Corrispondenza esatta
La metrica exact_match
calcola se la risposta di un modello
corrisponde esattamente a un riferimento.
- Limite di token: nessuno
Criteri di valutazione
Non applicabile.
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
response |
La risposta dell'LLM. |
reference |
La risposta LLM di riferimento. |
Punteggi di output
Valore | Descrizione |
---|---|
0 | Nessuna corrispondenza |
1 | Con corrispondenza |
BLEU
La metrica bleu
(BiLingual Evaluation Understudy) contiene il
risultato di un algoritmo per valutare la qualità della risposta, che è
stata tradotta da una lingua naturale a un'altra. La qualità della risposta è considerata la corrispondenza tra un parametro response
e il relativo parametro reference
.
- Limite di token: nessuno
Criteri di valutazione
Non applicabile.
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
response |
La risposta dell'LLM. |
reference |
La risposta LLM di riferimento. |
Punteggi di output
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Punteggi più alti indicano traduzioni migliori. Un punteggio di 1 rappresenta una corrispondenza perfetta con reference . |
ROUGE
La metrica ROUGE
viene utilizzata per confrontare il parametro response
fornito con un parametro reference
.
Tutte le metriche rouge
restituiscono il punteggio F1. rouge-l-sum
viene calcolato per impostazione predefinita,
ma puoi specificare la variante rouge
che vuoi utilizzare.
- Limite di token: nessuno
Criteri di valutazione
Non applicabile
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
response |
La risposta dell'LLM. |
reference |
La risposta LLM di riferimento. |
Punteggi di output
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Un punteggio più vicino a 0 indica una scarsa somiglianza tra response e reference . Un punteggio più vicino a 1 indica una forte somiglianza tra response e reference . |
Utilizzo degli strumenti e chiamata di funzione
Le seguenti metriche ti aiutano a valutare la capacità del modello di prevedere una chiamata di strumento (funzione) valida.
Chiamata valida
La metrica tool_call_valid
descrive la capacità del modello di prevedere una chiamata allo strumento valida. Viene esaminata solo la prima chiamata allo strumento.
- Limite di token: nessuno
Criteri di valutazione
Criterio di valutazione | Descrizione |
---|---|
Validità | L'output del modello contiene una chiamata allo strumento valida. |
Formattazione | Un dizionario JSON contiene i campi name e
arguments . |
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa serializzata JSON che contiene le chiavi content e tool_calls . Il valore content è l'output
di testo del modello. Il valore tool_calls è una stringa
serializzata JSON di un elenco di chiamate di strumenti. Ecco un esempio:{"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 previsione di riferimento basata su dati empirici reali, che segue lo stesso formato di
prediction . |
Punteggi di output
Valore | Descrizione |
---|---|
0 | Chiamata dello strumento non valida |
1 | Chiamata dello strumento valida |
Corrispondenza nome
La metrica tool_name_match
descrive la capacità del modello di prevedere
una chiamata allo strumento con il nome dello strumento corretto. Viene ispezionata solo la prima chiamata allo strumento.
- Limite di token: nessuno
Criteri di valutazione
Criterio di valutazione | Descrizione |
---|---|
Corrispondenza dei nomi | La chiamata allo strumento prevista dal modello corrisponde al nome della chiamata allo strumento di riferimento. |
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa serializzata JSON che contiene le chiavi content e tool_calls . Il valore content è l'output
di testo del modello. Il valore tool_call è una stringa
serializzata JSON di un elenco di chiamate di strumenti. Ecco un esempio:{"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 previsione di riferimento basata su dati empirici reali, che segue lo stesso formato
di prediction . |
Punteggi di output
Valore | Descrizione |
---|---|
0 | Il nome della chiamata allo strumento non corrisponde al riferimento. |
1 | Il nome della chiamata allo strumento corrisponde al riferimento. |
Corrispondenza della chiave parametro
La metrica tool_parameter_key_match
descrive la capacità del modello di prevedere una chiamata allo strumento con i nomi dei parametri corretti.
- Limite di token: nessuno
Criteri di valutazione
Criterio di valutazione | Descrizione |
---|---|
Tasso di corrispondenza dei parametri | Il rapporto tra il numero di parametri previsti che corrispondono ai nomi dei parametri della chiamata allo strumento di riferimento e il numero totale di parametri. |
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa serializzata JSON contenente le chiavi content e tool_calls . Il valore content è l'output
di testo del modello. Il valore tool_call è una stringa
serializzata JSON di un elenco di chiamate di strumenti. Ecco un esempio:{"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 previsione del modello di riferimento basato su dati empirici reali, che segue lo stesso
formato di prediction . |
Punteggi di output
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Il punteggio più alto di 1 indica che più parametri corrispondono ai nomi dei parametri reference . |
Corrispondenza KV del parametro
La metrica tool_parameter_kv_match
descrive la capacità del modello di prevedere una chiamata allo strumento con i nomi dei parametri e i valori chiave corretti.
- Limite di token: nessuno
Criteri di valutazione
Criterio di valutazione | Descrizione |
---|---|
Tasso di corrispondenza dei parametri | Il rapporto tra il numero di parametri previsti che corrispondono sia ai nomi che ai valori dei parametri della chiamata allo strumento di riferimento e il numero totale di parametri. |
Parametri di input della metrica
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa serializzata JSON che contiene le chiavi content e tool_calls . Il valore content è l'output
di testo del modello. Il valore tool_call è una stringa
serializzata JSON di un elenco di chiamate di strumenti. Ecco un esempio:{"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 previsione di riferimento basata su dati empirici reali, che segue lo stesso formato di
prediction . |
Punteggi di output
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Il punteggio più alto di 1 indica che più parametri corrispondono ai nomi e ai valori dei parametri reference . |
Nel servizio di valutazione dell'IA generativa, puoi utilizzare metriche basate sul calcolo tramite l'SDK Vertex AI per Python.
Qualità della valutazione di base per le attività generative
Quando valuti l'output dei modelli di AI generativa, tieni presente che il processo di valutazione è intrinsecamente soggettivo e la qualità della valutazione può variare a seconda dell'attività specifica e dei criteri di valutazione. Questa soggettività si applica anche ai valutatori umani. Per ulteriori informazioni sulle sfide per ottenere una valutazione coerente per i modelli di AI generativa, consulta Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena e Learning to summarize from human feedback.
Passaggi successivi
Trova un modello di metriche basate su modelli.