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 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 per quell'attività specifica, considera i criteri che vuoi misurare e le metriche che useresti 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 in base ai criteri.
Il servizio di valutazione dell'IA generativa fornisce due tipi principali di metriche:
Metriche basate su modello: le nostre metriche basate su modello utilizzano un modello proprietario di Google come giudice. 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 tra 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.
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 sul calcolo più 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ù costoso e più lento |
Metriche basate sul calcolo | Utilizzare formule matematiche per valutare il rendimento | In genere sono richiesti dati di fatto | Costi ridotti e rapidi |
Per iniziare, vedi Preparare il set di dati ed Eseguire la valutazione.
Definisci le metriche basate su modello
La valutazione basata su modelli prevede l'utilizzo di un modello linguistico di grandi dimensioni (LLM) come modello di giudice per valutare gli output del modello candidato. I nostri modelli di valutazione vengono calibrati con valutatori umani per garantirne la qualità. Sono gestiti e disponibili immediatamente. Il processo di valutazione basata su modello varia in base alle metriche di valutazione fornite.
La valutazione basata su modello segue questo processo:
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 giudice. 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 valutazioni individuali in un punteggio complessivo. L'output include anche spiegazioni della catena di pensiero per ogni giudizio, delineando la logica alla base della selezione.
Gen AI Evaluation Service offre le seguenti opzioni per configurare le metriche basate su modello con l'SDK Vertex AI:
Opzione | Descrizione | Ideale per |
---|---|---|
Utilizza un esempio esistente | Per iniziare, utilizza un modello di prompt delle 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 strutture e suggerimenti. | Personalizzazione con assistenza |
Definisci le metriche da zero | Avere il controllo completo sulle definizioni delle metriche. | Ideale per casi d'uso molto specifici. Richiede maggiori competenze tecniche e investimenti di tempo. |
Ad esempio, potresti voler sviluppare un'applicazione di IA generativa che restituisca risposte fluide e divertenti. Per questa applicazione è possibile definire due criteri di valutazione utilizzando l'interfaccia basata su modelli:
Fluenza: le frasi scorrono senza interruzioni, evitando frasi ingarbugliate o prolisse. Idee e frasi si collegano in modo logico, usando le transizioni in modo efficace dove 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 relativi alle metriche, consulta Modelli di prompt relativi alle metriche per la valutazione.
Scegli tra la valutazione punto per punto o la valutazione a coppie
Utilizza la seguente tabella per decidere quando utilizzare la valutazione in base a punti 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 a coppie | Confronta due modelli tra loro, generando una preferenza in base ai criteri |
|
|
Metriche basate sul calcolo
Le metriche basate sui calcoli confrontano se i risultati generati dall'LLM sono coerenti con un set di dati di dati empirici reali di coppie di input e output. L'approccio le metriche 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: aggrega il numero di righe che raggiungono o non superano determinate
etichette basate su dati empirici reali, come
F1-score
,Accuracy
eTool Name Match
. - Metriche basate sull'incorporamento: calcola la distanza tra i modelli LLM generati e dati empirici reali nello spazio di incorporamento, che ne riflettono il livello le similitudini.
Generazione di testi generici
Le seguenti metriche consentono di valutare la capacità del modello di garantire che le risposte sono 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. |
Punteggi di output
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
per qualità della risposta è considerata la corrispondenza tra
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. |
Punteggi di output
Valore | Descrizione |
---|---|
Un numero in virgola mobile nell'intervallo di [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 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. |
Punteggi di output
Valore | Descrizione |
---|---|
Un numero in virgola mobile nell'intervallo di [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
per prevedere una chiamata utensile 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 d'uso 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
come output dal modello. Il valore tool_calls è un file JSON
stringa serializzata 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 strumento non valida |
1 | Chiamata utensili valida |
Corrispondenza nome
La metrica tool_name_match
descrive la capacità del modello di prevedere
una chiamata utensile con il nome dello strumento corretto. Viene ispezionata solo la prima chiamata dello strumento.
- Limite di token: nessuno
Criteri di valutazione
Criterio di valutazione | Descrizione |
---|---|
Corrispondenza nome | 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
come output dal modello. Il valore tool_call è un file JSON
stringa serializzata 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 dello strumento non corrisponde al riferimento. |
1 | Il nome della chiamata dello strumento corrisponde al riferimento. |
Corrispondenza 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 |
---|---|
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, che è un file JSON
stringa serializzata che contiene i valori content e
tool_calls chiavi. 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 . |
Punteggi di output
Valore | Descrizione |
---|---|
Un valore float compreso nell'intervallo [0,1] | Il punteggio più alto di 1 significa che un maggior numero di parametri corrisponde ai parametri reference i nomi degli utenti. |
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 è un file JSON
stringa serializzata 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 basato su dati empirici reali, che segue lo stesso formato
prediction . |
Punteggi di output
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 IA generativa, tieni presente che il processo di valutazione è intrinsecamente soggettivo e la qualità della valutazione può variare a seconda del compito e dei criteri di valutazione specifici. 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 Giudizio degli LLM come giudici con MT-Bench e Chatbot Arena e Imparare a riassumere dal feedback umano.
Passaggi successivi
Trova un modello di metriche basato su modello.
Prova un blocco note di esempio di valutazione.