Immagine generata da DALL-E 3 di OpenAI.

Puoi chiedere a ChatGPT di agire in un milione di modi diversi: come nutrizionista, tutor di lingua, medico, ecc. Non sorprende che vediamo molte demo e prodotti lanciati sull’API OpenAI. Ma mentre è facile far sì che i LLM agiscano in un certo modo, garantire che operino bene e completino accuratamente il compito assegnato è una storia completamente diversa.

Il problema è che molti criteri a cui teniamo sono estremamente soggettivi. Le risposte sono accurate? Le risposte sono coerenti? C’era qualcosa di allucinato? È difficile costruire parametri quantificabili per la valutazione. Nella maggior parte dei casi, è necessario il giudizio umano, ma è costoso fare in modo che gli esseri umani controllino un gran numero di output LLM.

Inoltre, gli LLM hanno molti parametri che puoi ottimizzare. Prompt, temperatura, contesto, ecc. È possibile ottimizzare i modelli su un set di dati specifico per adattarli al proprio caso d’uso. Con un’ingegneria tempestiva, anche chiedere a un modello di fare un respiro profondo (1) o rendere la tua richiesta più emotiva (2) può migliorare le prestazioni. C’è molto spazio per modificare e sperimentare, ma dopo aver cambiato qualcosa, devi essere in grado di dire se il sistema nel complesso è migliorato o peggiorato.

Dato che il lavoro umano è lento e costoso, c’è un forte incentivo a trovare parametri automatici per questi criteri più soggettivi. Un approccio interessante, che sta guadagnando popolarità, sta utilizzando i LLM per valutare i risultati dei LLM. Dopotutto, se ChatGPT può generare una risposta buona e coerente a una domanda, non può anche dire se un determinato testo è coerente? Questo apre tutta una serie di potenziali pregiudizi, tecniche e opportunità, quindi tuffiamoci dentro.

Se hai una reazione istintiva negativa riguardo alla creazione di parametri e valutatori che utilizzano LLM, le tue preoccupazioni sono ben fondate. Questo potrebbe essere un modo orribile per propagare semplicemente i pregiudizi esistenti.

Ad esempio, nel documento G-Eval, di cui parleremo più dettagliatamente in seguito, i ricercatori hanno dimostrato che la loro valutazione basata su LLM assegna punteggi più alti ai riassunti GPT-3.5 rispetto ai riassunti scritti da esseri umani, anche quando i giudici umani preferiscono i riassunti scritti da esseri umani. .

Un altro studio, intitolato “I grandi modelli linguistici non sono valutatori equi” (3), hanno scoperto che quando viene chiesto di scegliere quale delle due opzioni presentate è migliore, c’è una distorsione significativa nell’ordine in cui si presentano le opzioni. GPT-4, ad esempio, spesso preferiva la prima opzione proposta, mentre ChatGPT la seconda. Puoi semplicemente porre la stessa domanda con l’ordine invertito e vedere quanto sono coerenti i LLM nelle loro risposte. Successivamente hanno sviluppato tecniche per mitigare questo pregiudizio eseguendo il LLM più volte con diversi ordini di opzioni.

Alla fine, vogliamo sapere se i LLM possono funzionare altrettanto bene o in modo simile ai valutatori umani. Possiamo ancora affrontare questo problema come un problema scientifico:

  1. Stabilire criteri di valutazione.
  2. Chiedi a esseri umani e LLM di valutare secondo i criteri.
  3. Calcolare la correlazione tra valutazione umana e LLM.

In questo modo, possiamo avere un’idea di quanto i LLM assomiglino ai valutatori umani.

In effetti, esistono già diversi studi come questo, che dimostrano che per determinati compiti gli LLM svolgono un lavoro molto migliore rispetto ai parametri di valutazione più tradizionali. E vale la pena notare che non abbiamo bisogno di una correlazione perfetta. Se valutiamo molti esempi, anche se la valutazione non è perfetta, potremmo comunque farci un’idea se il nuovo sistema sta funzionando meglio o peggio. Potremmo anche utilizzare i valutatori LLM per segnalare i casi limite preoccupanti per i valutatori umani.

Diamo un’occhiata ad alcuni dei parametri e dei valutatori proposti di recente che si basano principalmente sugli LLM.

G-Eval (4) funziona delineando prima i criteri di valutazione e poi semplicemente chiedendo al modello di assegnare il rating. Potrebbe essere utilizzato, ad esempio, per attività di sintesi e di generazione di dialoghi.

G-Eval ha i seguenti componenti:

  1. Richiesta. Definisce il compito di valutazione e i suoi criteri.
  2. Istruzioni intermedie. Delinea le istruzioni intermedie per la valutazione. In realtà chiedono al LLM di generare questi passaggi.
  3. Funzione di punteggio. Invece di prendere il punteggio LLM al valore nominale, guardiamo dietro le quinte alle probabilità simboliche per ottenere il punteggio finale. Pertanto, se chiedi di valutare tra 1 e 5, invece di prendere semplicemente il numero fornito dal LLM (ad esempio “3”), esamineremo la probabilità di ciascun grado e calcoleremo il punteggio ponderato. Questo perché i ricercatori hanno scoperto che solitamente una cifra domina la valutazione (ad esempio producendone per lo più 3) e anche quando si chiede al LLM di fornire un valore decimale, tende comunque a restituire numeri interi.
Richiesta G-Eval per il calcolo della coerenza su una scala da 1 a 5. Puoi trovare altri esempi in carta originale.

È stato riscontrato che G-Eval supera significativamente le tradizionali metriche basate su riferimenti, come BLEU e ROUGE, che avevano una correlazione relativamente bassa con i giudizi umani. A prima vista, sembra piuttosto semplice, poiché chiediamo semplicemente al LLM di eseguire la valutazione. Potremmo anche provare a suddividere i compiti in componenti più piccole.

FactScore (Precisione fattuale nel punteggio di atomicità) (5) è una metrica per la precisione fattuale. Le due idee chiave sono quella di trattare i fatti atomici come un’unità e di basare la fiducia su una particolare fonte di conoscenza.

Per la valutazione, si suddivide la generazione in piccoli fatti “atomici” (ad esempio “È nato a New York”) e poi si controlla per ciascun fatto se è supportato dalla fonte di conoscenza fondata sulla verità. Il punteggio finale viene calcolato dividendo il numero di fatti supportati per il numero totale di fatti.

Nel documento, i ricercatori hanno chiesto ai LLM di generare biografie di persone e poi hanno utilizzato gli articoli di Wikipedia su di loro come fonte di verità. Il tasso di errore per gli LLM che eseguivano la stessa procedura degli esseri umani era inferiore al 2%.

FactScore per generare una biografia di Bridget Moynahan. Vedi anche il carta originale.

Ora diamo un’occhiata ad alcune metriche per la generazione aumentata con recupero (RAG). Con RAG, recuperi prima il contesto rilevante in una base di conoscenza esterna e poi chiedi al LLM di rispondere alla domanda sulla base di tali fatti.

RAGAS (Retrieval Augmented Generation Assessment) (6) è un nuovo quadro per la valutazione dei RAG. Non è una singola metrica ma piuttosto una raccolta di esse. I tre proposti nel documento sono fedeltà, pertinenza della risposta e pertinenza del contesto. Queste metriche illustrano perfettamente come suddividere la valutazione in attività più semplici per i LLM.

Fedeltà misura quanto le risposte siano fondate nel contesto dato. È molto simile a FactScore, in quanto prima suddividi la generazione nell’insieme di istruzioni e poi chiedi al LLM se l’affermazione è supportata dal contesto dato. Il punteggio è il numero di affermazioni supportate diviso per il numero di tutte le affermazioni. Per quanto riguarda la fedeltà, i ricercatori hanno trovato una correlazione molto elevata con gli annotatori umani.

Pertinenza della risposta cerca di catturare l’idea che la risposta affronti la domanda reale. Inizi chiedendo al LLM di generare domande in base alla risposta. Per ogni domanda generata, puoi calcolare la somiglianza (creando un incorporamento e utilizzando la somiglianza del coseno) tra la domanda generata e la domanda originale. Facendo questo N volte e facendo la media dei punteggi di somiglianza, ottieni il valore finale per la pertinenza della risposta.

Rilevanza del contesto si riferisce a quanto sia rilevante il contesto fornito. Ciò significa che il contesto fornito contiene solo le informazioni necessarie per rispondere alla domanda. Nel caso ideale, diamo al LLM le informazioni giuste per rispondere alla domanda e solo quella. La rilevanza del contesto viene calcolata chiedendo al LLM di estrarre le frasi nel contesto dato che erano rilevanti per la risposta. Quindi dividi semplicemente il numero di frasi rilevanti per il numero totale di frasi per ottenere il punteggio finale.

Puoi trovare ulteriori metriche e spiegazioni (insieme al repository GitHub open source) Qui.

Il punto chiave è che possiamo trasformare la valutazione in un sottoproblema più piccolo. Invece di chiedere se l’intero testo è supportato dal contesto, chiediamo solo se un piccolo fatto specifico è supportato dal contesto. Invece di fornire direttamente un numero per verificare se la risposta è pertinente, chiediamo a LLM di pensare a una domanda per la risposta data.

La valutazione degli LLM è un argomento di ricerca estremamente interessante che riceverà sempre più attenzione man mano che sempre più sistemi inizieranno a raggiungere la produzione e verranno applicati anche in contesti più critici per la sicurezza.

Potremmo anche utilizzare questi parametri per monitorare le prestazioni dei LLM in produzione per notare se la qualità dei risultati inizia a peggiorare. Soprattutto per le applicazioni con elevati costi di errore, come nel settore sanitario, sarà fondamentale sviluppare guardrail e sistemi per individuare e ridurre gli errori.

Sebbene esistano sicuramente pregiudizi e problemi nell’utilizzo degli LLM come valutatori, dovremmo comunque mantenere una mente aperta e affrontarlo come un problema di ricerca. Naturalmente, gli esseri umani saranno comunque coinvolti nel processo di valutazione, ma i parametri automatici potrebbero aiutare a valutare parzialmente le prestazioni in alcuni contesti.

Questi parametri non devono essere sempre perfetti; devono solo funzionare abbastanza bene da guidare lo sviluppo dei prodotti nel modo giusto.

Un ringraziamento speciale a Daniel Raff e Yevhen Petyak per i loro feedback e suggerimenti.

Originariamente pubblicato su Sottostack Medplexity.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *