Il primo passaggio per valutare i modelli o le applicazioni generativi è identificare lo scopo 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 IA generativa possono essere utilizzati per creare applicazioni per un'ampia gamma di attività, come riassumere articoli di notizie, rispondere alle richieste dei clienti o fornire assistenza per la scrittura di codice. Il servizio di valutazione dell'IA generativa in Vertex AI ti consente di valutare qualsiasi modello con metriche spiegabili.
Ad esempio, potresti sviluppare un'applicazione per riassumere gli articoli. Per valutare il rendimento dell'applicazione per quella specifica attività, prendi in considerazione i criteri che vuoi misurare e le metriche che utilizzerai per assegnare un punteggio:
Criteri: una o più dimensioni in base alle quali eseguire la valutazione, ad esempio
conciseness
,relevance
,correctness
oappropriate choice of words
.Metriche: un singolo punteggio che misura l'output del modello in base a criteri.
Il servizio di valutazione dell'IA generativa fornisce due tipi principali di metriche:
Metriche basate su modelli: le nostre metriche basate su modelli valutano il modello candidato rispetto a un modello di giudizio. 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 a punti:
Metriche punto per punto: consenti al modello di valutazione 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 indica che la risposta non soddisfa i criteri, mentre 5 indica che la risposta soddisfa bene i criteri.
Metriche a coppie: lascia che il modello di valutazione confronti le risposte di due modelli e scelga quella migliore. Questo viene spesso utilizzato per confrontare un modello candidato con il modello di riferimento. Le metriche tra coppie sono supportate solo con Gemini come modello di valutazione.
Metriche basate sui calcoli: queste metriche vengono calcolate utilizzando formule matematiche per confrontare l'output del modello con un dato di fatto o di riferimento. Le metriche basate su calcoli più comunemente utilizzate includono ROUGE e BLEU.
Puoi utilizzare le metriche basate sui calcoli 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ù costosa e più lenta |
Metriche basate su calcoli | Utilizzare formule matematiche per valutare il rendimento | In genere è necessario il dato di fatto | Economici e veloci |
Per iniziare, consulta Preparare il set di dati e Eseguire la valutazione.
Definisci le metriche basate su modello
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 dalla prima accensione. La procedura di valutazione basata su modelli varia in base alle metriche di valutazione fornite.
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: il servizio di valutazione dell'IA generativa aggrega queste singole valutazioni in un punteggio complessivo. L'output include anche spiegazioni della catena di pensiero per ogni giudizio, che illustrano la motivazione alla base della selezione.
Il servizio di valutazione dell'IA generativa offre le seguenti opzioni per configurare le metriche basate su modelli con l'SDK Vertex AI:
Opzione | Descrizione | Ideale per |
---|---|---|
Utilizza un esempio esistente | Per iniziare, utilizza un modello di richiesta di metriche predefinito. | Casi d'uso comuni, risparmio di tempo |
Definisci le metriche con la nostra interfaccia basata su modelli | Ricevi assistenza guidata per la definizione delle metriche. La nostra interfaccia basata su modelli fornisce struttura e suggerimenti. | Personalizzazione con assistenza |
Definire le metriche da zero | Hai il controllo completo sulle definizioni delle metriche. | Ideale per casi d'uso molto specifici. Richiede più competenze tecniche e un investimento in termini di tempo. |
Ad esempio, potresti voler sviluppare un'applicazione di AI generativa che restituisca risposte fluide e divertenti. Per questa applicazione, puoi definire due criteri di valutazione utilizzando l'interfaccia basata su modelli:
Fluenza: le frasi scorrono senza interruzioni, evitando frasi ingarbugliate o prolisse. Le idee e le frasi sono collegate in modo logico, utilizzando le transizioni in modo efficace, se necessario.
Intrattenimento: testo breve e divertente che include emoji, esclamazioni e domande per comunicare in modo rapido e spontaneo e per svagarsi.
Per trasformare questi due criteri in una metrica, devi avere 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'IA 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, che si tratti di 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 a virgola mobile compreso tra 0 e 25 che rappresenta la qualità di una traduzione. MetricX è disponibile sia come metodo basato su riferimento sia come metodo senza riferimento (QE). Quando utilizzi questa metrica, un punteggio più basso è un punteggio migliore, perché indica che ci sono meno errori.
COMET utilizza un approccio di regressione basato su riferimento che fornisce punteggi da 0 a 1, dove 1 indica una traduzione perfetta.
BLEU (Bilingual Evaluation Understudy) è una metrica basata su calcolo. Il punteggio BLEU indica quanto il testo candidato è simile al testo di riferimento. Un valore del punteggio BLEU più vicino a 1 indica che una traduzione è più simile al testo di riferimento.
Tieni presente che i punteggi BLEU non sono consigliati per il confronto tra corpora e lingue diversi. Ad esempio, un punteggio BLEU di 50 dall'inglese al tedesco non è paragonabile a un punteggio BLEU di 50 dal giapponese all'inglese. Molti esperti di traduzione hanno adottato approcci metrici basati 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 valutazioni per i modelli di traduzione, consulta Valutare un modello di traduzione.
Scegli tra la valutazione punto per punto o a coppie
Utilizza la tabella seguente per decidere quando utilizzare la valutazione punto per punto o a coppie:
Definizione | Quando utilizzarlo | Esempi di casi d'uso | |
---|---|---|---|
Valutazione punto per punto | Valutare un modello e generare 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 sui calcoli confrontano se i risultati generati dall'LLM sono coerenti con un set di dati basato su dati empirici reali di coppie di input e output. Le metriche più comunemente utilizzate possono essere classificate nei seguenti gruppi:
- Metriche basate sul lessico: utilizza la matematica per calcolare le similitudini tra le stringhe tra i risultati generati dall'LLM e la verità oggettiva, ad esempio
Exact Match
eROUGE
. - Metriche basate sul conteggio: aggregano il numero di righe che corrispondono o meno a determinate etichette di verità oggettive, ad esempio
F1-score
,Accuracy
eTool Name Match
. - Metriche basate sugli embedding: calcola la distanza tra i risultati generati dall'LLM e i dati di fatto 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 una risposta del modello corrisponde esattamente a un riferimento.
- Limite di token: nessuno
Criteri di valutazione
Non applicabile.
Parametri di input delle metriche
Parametro di input | Descrizione |
---|---|
response |
La risposta dell'LLM. |
reference |
La risposta LLM di riferimento. |
Genera punteggi
Valore | Descrizione |
---|---|
0 | Senza corrispondenza |
1 | Con corrispondenza |
BLEU
La metrica bleu
(BiLingual Evaluation Understudy) contiene il risultato di un algoritmo per la valutazione della qualità della risposta, che è stata tradotta da un linguaggio naturale a un altro. 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 delle metriche
Parametro di input | Descrizione |
---|---|
response |
La risposta dell'LLM. |
reference |
La risposta LLM di riferimento. |
Genera punteggi
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Punteggi più alti indicano traduzioni migliori. Un punteggio pari a 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 rouge
variazione
che vuoi utilizzare.
- Limite di token: nessuno
Criteri di valutazione
Non applicabile
Parametri di input delle metriche
Parametro di input | Descrizione |
---|---|
response |
La risposta dell'LLM. |
reference |
La risposta LLM di riferimento. |
Genera punteggi
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 dello strumento e chiamata di funzioni
Le seguenti metriche ti aiutano a valutare la capacità del modello di prevedere una chiamata allo strumento (funzione) valida.
Chiamata valida
La metrica tool_call_valid
descrive la capacità del modello di
predire 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 delle metriche
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa JSON
serializzata contenente le chiavi content e
tool_calls . Il valore content è il testo prodotto dal modello. Il valore tool_calls è una stringa JSON
serializzata di un elenco di chiamate allo strumento. 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 . |
Genera punteggi
Valore | Descrizione |
---|---|
0 | Chiamata allo 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 corretto dello strumento. Viene controllata 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 delle metriche
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa JSON serializzata contenente le chiavi content e tool_calls . Il valore content è il testo prodotto dal modello. Il valore tool_call è una stringa JSON
serializzata di un elenco di chiamate allo strumento. 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 . |
Genera punteggi
Valore | Descrizione |
---|---|
0 | Il nome della chiamata dello strumento non corrisponde al riferimento. |
1 | Il nome della chiamata allo strumento corrisponde al riferimento. |
Corrispondenza della chiave del 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 |
---|---|
Rapporto di corrispondenza dei parametri | Il rapporto tra il numero di parametri previsti che corrispondono ai nomi dei parametri della chiamata dello strumento di riferimento e il numero totale di parametri. |
Parametri di input delle metriche
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa JSON
serializzata contenente le chiavi content e
tool_calls . Il valore content è il testo prodotto dal modello. Il valore tool_call è una stringa JSON
serializzata di un elenco di chiamate allo strumento. 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 basata su dati empirici reali, che segue lo stesso
formato di prediction . |
Genera punteggi
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Un punteggio 1 più alto indica che più parametri corrispondono ai nomi dei parametri reference . |
Corrispondenza KV dei parametri
La metrica tool_parameter_kv_match
descrive la capacità del modello di predire 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 |
---|---|
Rapporto di corrispondenza dei parametri | Il rapporto tra il numero di parametri previsti che corrispondono sia ai nomi che ai valori dei parametri della chiamata dello strumento di riferimento e il numero totale di parametri. |
Parametri di input delle metriche
Parametro di input | Descrizione |
---|---|
prediction |
L'output del modello candidato, ovvero una stringa JSON
serializzata contenente le chiavi content e
tool_calls . Il valore content è il testo prodotto dal modello. Il valore tool_call è una stringa JSON
serializzata di un elenco di chiamate allo strumento. 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 . |
Genera punteggi
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Un punteggio 1 più alto 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 riferimento per le attività generative
Quando valuti l'output dei modelli di AI generativa, tieni presente che la procedura di valutazione è intrinsecamente soggettiva e la qualità della valutazione può variare a seconda del compito specifico e dei criteri di valutazione. Questa soggettività si applica anche ai valutatori umani. Per ulteriori informazioni sulle sfide legate al raggiungimento di 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.
Prova un notebook di esempio per la valutazione.