Definisci le metriche di valutazione

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 o appropriate 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:

  1. 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.

  2. 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.

  3. 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
  • Quando hai bisogno di un punteggio per ogni modello in fase di valutazione.
  • Quando non è difficile definire la griglia per ogni punteggio.
  • Comprendere il comportamento del modello in produzione.
  • Esplora i punti di forza e di debolezza di un singolo modello.
  • Identificare i comportamenti su cui concentrarsi durante l'ottimizzazione.
  • Ottenere le prestazioni di base di un modello.
Valutazione basata su coppie Confronta due modelli tra loro, generando una preferenza in base ai criteri
  • Quando vuoi confrontare due modelli e un punteggio non è necessario.
  • Quando è difficile definire i criteri di valutazione per la valutazione punto per punto. Ad esempio, potrebbe essere difficile definire la rubrica per 1-5 per la qualità del testo puntuale, ma non è altrettanto difficile confrontare due modelli e restituire direttamente una preferenza.
  • Determinare quale modello mettere in produzione.
  • Scegli tra i tipi di modello. Ad esempio, Gemini Pro rispetto a Claude 3.
  • Scegli tra diversi prompt.
  • Determina se l'ottimizzazione ha apportato miglioramenti a un modello di base.

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 e ROUGE.
  • Metriche basate sul conteggio: aggrega il numero di righe che corrispondono o non corrispondono a determinate etichette di riferimento, ad esempio F1-score, Accuracy e Tool 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