Punteggio del benchmark - Documentazione di Entity Enricher

Punteggio del benchmark

La valutazione trasforma un benchmark da “occhiata al JSON” a un numero oggettivo. Il risultato di ogni modello viene valutato rispetto a un riferimento gold — l'output atteso — producendo completezza, correttezza e un punteggio di qualità complessivo su cui ordinare.

Il riferimento gold

La valutazione ha bisogno di qualcosa con cui confrontarsi. Ogni scenario porta con sé un output di riferimento: la risposta corretta per la sua unica entità fissa. Costruiscilo generandolo con modelli potenti (ricerca web + un documento di fonte attendibile), incollando un risultato noto come valido e modificandolo poi a mano — e contrassegnalo come verificato quando ti fidi. Un riferimento verificato è necessario per eseguire il benchmark dello scenario, così c'è sempre qualcosa con cui confrontare. Se in seguito modifichi il riferimento — o cambi la configurazione di valutazione dello scenario — i punteggi esistenti vengono contrassegnati come obsoleti finché non rivaluti.

Come vengono confrontati i valori

Il problema di fondo: due risposte corrette possono essere scritte in modo diverso. Un modello che indica un attore come “R. Downey Jr.” invece di “Robert Downey Jr.” non sbaglia. Per questo ogni campo viene confrontato con una scala a livelli — prima i metodi più economici e certi, con escalation solo quando necessario:

1
Esatto e normalizzato

I valori identici corrispondono. Lo stesso vale per i valori che differiscono solo per maiuscole/minuscole, spazi circostanti o precisione numerica ("Acme" = "ACME", 4.0 = 4). Gratuito e completamente deterministico.

2
Similarità di embedding

Per il testo, il candidato e il riferimento vengono incorporati e confrontati tramite similarità del coseno. Al di sopra della soglia contano come identici — così una variante ortografica valida come «R. Downey Jr.» rispetto a «Robert Downey Jr.» è una corrispondenza, non un errore. Le date fanno eccezione: vengono confrontate come valori di calendario, mai per similarità, cosicché una data vicina ma errata («1972-03-14» rispetto a «1972-03-24») costituisce una discordanza netta anziché un coseno ingannevolmente alto. Anche i valori booleani sono di tipo esatto o niente.

3
Giudice LLM

I valori troppo simili per essere decisi in base alla somiglianza — tutti i campi a testo libero come riepiloghi e descrizioni, e ogni numero non identico — vengono inviati a un modello giudice, che assegna un punteggio da 0 a 100 in base a quanto bene la risposta cattura il significato del riferimento. Premia una risposta corretta formulata in modo diverso o più conciso e attribuisce a un numero un credito parziale quando il campo lo consente (un peso molecolare di 273,37 vs 273,35, un'emivita di 12 vs 15), pur bocciandolo quando conta l'esattezza (un anno di uscita 2020 vs 2023). Senza un giudice, il testo libero ricade su un punteggio di somiglianza continuo e un numero non identico è semplicemente una discordanza.

Un'impostazione di rigore controlla la soglia di embedding: un valore più alto significa che due valori scritti in modo diverso devono essere più simili per essere considerati uguali. Il rigore, il modello giudice opzionale e il modello di embedding sono tutti definiti sullo scenario — non scelti ogni volta che si valuta — così ogni modello viene valutato in modo identico e i punteggi restano comparabili.

Valutazione di array (elenchi di elementi)

Gli elenchi — il cast di un film, gli effetti collaterali di un farmaco — sono l'ambito in cui i modelli differiscono di più: un modello piccolo potrebbe trovare 4 attori laddove uno potente ne trova 15. L'ordine non conta e trovare più elementi corretti dovrebbe prevalere. Per questo gli array vengono valutati come un insieme, non posizione per posizione:

Espandi una riga dei risultati per vedere esattamente quali elementi sono stati abbinati, mancati o allucinati.

Leggere il punteggio

Un singolo numero nasconde troppo, quindi ogni risultato include dei sotto-punteggi:

La riga espandibile mostra il dettaglio campo per campo: candidato rispetto al riferimento, quale livello della scala ha deciso e la similarità dove pertinente.

Quando uno scenario esegue un modello più di una volta (ripetizioni), ogni esecuzione viene valutata singolarmente e la riga mostra la qualità media più uno scarto di coerenza (dal valore minimo al massimo delle esecuzioni), così è facile individuare un modello corretto in media ma incostante. L'output visibile è l'esecuzione mediana per qualità.

Costi e cosa viene eseguito

La valutazione è un passaggio separato sui risultati già salvati: non riesegue mai l'arricchimento, quindi non paga di nuovo per i modelli sotto test. Incorpora però il testo per confrontare i valori (ed esegue il giudice, se lo scenario ne prevede uno), operazione che detrae crediti in base all'utilizzo. Questo avviene automaticamente al termine di ogni esecuzione e di nuovo ogni volta che rivaluti. Se la tua organizzazione non ha un modello di embedding configurato (e lo scenario non imposta alcun override), la valutazione viene comunque eseguita ma ricade solo sulla corrispondenza esatta (le grafie alternative vengono quindi conteggiate come discordanze) e lo segnala.

Dove trovarlo

In Gestione modelli → Benchmark, imposti e verifichi un riferimento nell'editor dello scenario (e scelga lì il modello giudice, il modello di embedding e la severità). Da quel momento, ogni esecuzione valuta automaticamente i risultati riusciti: una colonna Qualità ordinabile si popola senza passaggi aggiuntivi. Usi Rivaluta risultati (il pulsante nell'intestazione o il menu ···) per rivalutare dopo aver modificato il riferimento o la configurazione di valutazione.