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

  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 giudice. 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 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
  • 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 regolazione.
  • Ottenere le prestazioni di base di un modello.
Valutazione a 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 griglia da 1 a 5 per la qualità del testo puntuale, ma non così difficile confrontare due modelli e produrre direttamente una preferenza.
  • Determinazione del modello da mettere in produzione.
  • Scegli tra i tipi di modelli. Ad esempio, Gemini-Pro e Claude 3.
  • Scegli tra diverse richieste.
  • Determina se l'ottimizzazione ha apportato miglioramenti a un modello di base.

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 e ROUGE.
  • 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 e Tool 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