Definisci le metriche di valutazione

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 una vasta 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 l'attività specifica, 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 o appropriate 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 la 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 Utilizza formule matematiche per valutare il rendimento In genere è necessario un 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:

  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: 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 complicate 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'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, 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 che 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 dall'inglese al tedesco pari a 50 non è paragonabile a un punteggio BLEU dal giapponese all'inglese pari a 50. 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
  • Quando hai bisogno di un punteggio per ogni modello valutato.
  • 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 la messa a punto.
  • Ottenere le prestazioni di riferimento 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 non è necessario un punteggio.
  • Quando la rubrica dei punteggi per il punteggio a punti è difficile da definire. Ad esempio, potrebbe essere difficile definire la rubrica da 1 a 5 per la qualità del testo punto per punto, ma non è così difficile confrontare due modelli e generare direttamente una preferenza.
  • Determinazione del modello da mettere in produzione.
  • Scegli tra i tipi di modelli. Ad esempio, Gemini-Pro rispetto a Claude 3.
  • Scegli tra diversi prompt.
  • Determina se l'ottimizzazione ha apportato miglioramenti a un modello di riferimento.

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