Attenzione ai dati non affidabili nella valutazione del modello uno studio di caso sulla selezione della prompt LLM con Flan-T5.

Study on unreliable data in evaluating the model a case study on selecting the LLM prompt with Flan-T5.

Potresti scegliere prompt subottimali per il tuo LLM (o fare altre scelte subottimali attraverso l’evaluazione del modello) a meno che non pulisca i tuoi dati di test

Credit: Arthur Osipyan, Unsplash

La valutazione affidabile del modello è al centro di MLops e LLMops, guidando decisioni cruciali come quale modello o prompt implementare (e se implementarlo del tutto). In questo articolo, suggeriamo il LLM FLAN-T5 di Google Research con vari prompt nell’efforto di classificare il testo come educato o maleducato. Tra i candidati ai prompt, scopriamo che i prompt che sembrano funzionare meglio in base all’accuratezza del test osservato sono spesso peggiori di altri candidati ai prompt. Una revisione più attenta dei dati di test rivela che ciò è dovuto a annotazioni non affidabili. Nelle applicazioni del mondo reale, potresti scegliere prompt subottimali per il tuo LLM (o fare altre scelte subottimali guidate dall’evaluazione del modello) a meno che non pulisca i tuoi dati di test per assicurarti che siano affidabili.

La selezione di ottimi prompt è essenziale per garantire risposte accurate da Large Language Models.

Mentre i danni delle annotazioni rumorose sono ben caratterizzati nei dati di addestramento, questo articolo dimostra le loro conseguenze spesso trascurate nei dati di test.

Sono attualmente un data scientist presso Cleanlab e sono entusiasta di condividere l’importanza (e come garantire) dati di test di alta qualità per assicurare la selezione ottimale dei prompt LLM.

Panoramica

Puoi scaricare i dati qui.

Questo articolo studia una variante di classificazione binaria del Stanford Politeness Dataset (usato sotto licenza CC BY v4.0), che ha frasi di testo etichettate come educata o maleducata. Valutiamo i modelli utilizzando un dataset di test fisso contenente 700 frasi.

Snapshot del dataset che mostra il testo e l'etichetta di cortesia di verità fondamentale.

È pratica standard valutare quanto “buono” sia un modello di classificazione misurando l’accuratezza delle sue previsioni rispetto alle etichette date per gli esempi che il modello non ha visto durante l’addestramento, di solito chiamati dati di “test”, “valutazione” o “validazione”. Questo fornisce una metrica numerica per valutare quanto sia buono il modello A rispetto al modello B – se il modello A mostra un’accuratezza di test più alta, lo stimiamo essere il modello migliore e sceglieremmo di implementarlo rispetto al modello B. Oltre alla selezione del modello, lo stesso framework decisionale può essere applicato ad altre scelte come se utilizzare: impostazione degli iperparametri A o B, prompt A o B, set di funzionalità A o B, ecc.

Un problema comune nei dati di test del mondo reale è che alcuni esempi hanno etichette errate, sia per errori di annotazione umana, errori di elaborazione dei dati, rumore del sensore, ecc. In tali casi, l’accuratezza del test diventa un indicatore meno affidabile della performance relativa tra il modello A e il modello B. Utilizziamo un esempio molto semplice per illustrare questo. Immagina che il tuo dataset di test abbia due esempi di testo maleducato, ma ignoto a te, sono etichettati (erroneamente) come educati. Ad esempio, nel nostro dataset di cortesia di Stanford, vediamo un vero annotatore umano che ha etichettato erroneamente questo testo “Are you crazy down here?! What the heck is going on?” come educato quando il linguaggio è chiaramente agitato. Ora il tuo lavoro è scegliere il miglior modello per classificare questi esempi. Il modello A dice che entrambi gli esempi sono maleducati e il modello B dice che entrambi gli esempi sono educati. In base a queste etichette (sbagliate), il modello A ottiene uno score del 0% mentre il modello B ottiene uno score del 100% – scegli il modello B da implementare! Ma aspetta, quale modello è effettivamente più forte?

Anche se queste implicazioni sono banali e molti sono consapevoli che i dati del mondo reale sono pieni di errori di etichettatura, spesso le persone si concentrano solo sulle etichette rumorose nei dati di addestramento, dimenticando di curare attentamente i loro dati di test anche se guida decisioni cruciali. Utilizzando dati reali, questo articolo illustra l’importanza dei dati di test di alta qualità per guidare la scelta dei prompt LLM e dimostra un modo per migliorare facilmente la qualità dei dati tramite tecniche algoritmiche.

Accuratezza del test osservata rispetto all’accuratezza del test pulito

In questo caso consideriamo due possibili set di test costruiti a partire dallo stesso insieme di esempi di testo che differiscono solo in alcune etichette (~30%). Rappresentando i dati tipici che si utilizzano per valutare l’accuratezza, una versione ha etichette provenienti da una singola annotazione (giudice umano) per esempio, e riportiamo l’accuratezza delle previsioni del modello calcolata su questa versione come Accuratezza del Test Osservata. Una seconda versione più pulita dello stesso set di test ha etichette di alta qualità stabilite tramite il consenso tra molte annotazioni concordanti per esempio (derivate da giudici umani multipli). Riportiamo l’accuratezza misurata sulla versione più pulita come Accuratezza del Test Pulito. Pertanto, l’Accuratezza del Test Pulito riflette più da vicino ciò che interessa (la prestazione effettiva del modello), ma l’Accuratezza del Test Osservata è tutto ciò che si può osservare nella maggior parte delle applicazioni, a meno che non si puliscano prima i dati di test!

Sotto ci sono due esempi di test in cui il singolo annotatore umano ha etichettato in modo errato l’esempio, ma il gruppo di molti annotatori umani è stato concorde sulla corretta etichetta.

Le annotazioni arancioni raccolte da un singolo annotatore sono più economiche da raccogliere, ma spesso sono sbagliate. Le annotazioni blu sono raccolte da più annotatori che sono più costosi, ma solitamente più accurati.

In progetti del mondo reale, spesso non si ha accesso a etichette così “pulite”, quindi si può solo misurare l’Accuratezza del Test Osservata. Se si prendono decisioni critiche come quale LLM o prompt utilizzare sulla base di questa metrica, assicurarsi prima di verificare che le etichette siano di alta qualità. In caso contrario, si rischia di prendere decisioni sbagliate, come si può osservare di seguito nella selezione di prompt per la classificazione della cortesia.

Impatto dei dati di valutazione rumorosi

Come modello predittivo per classificare la cortesia del testo, è naturale utilizzare un Large Language Model (LLM) preaddestrato. Qui, utilizziamo specificamente il modello FLAN-T5 open-source, il preferito dei data scientist. Per far sì che questo LLM predica accuratamente la cortesia del testo, dobbiamo fornirgli i giusti prompt. L’ingegneria dei prompt può essere molto sensibile, con piccoli cambiamenti che influenzano fortemente l’accuratezza!

I prompt A e B mostrati di seguito (testo evidenziato) sono due diversi esempi di prompt di catena di pensiero, che possono essere aggiunti davanti a qualsiasi campione di testo per far sì che l’LLM classifichi la sua cortesia. Questi prompt combinano prompt di pochi esempi e di istruzioni (dettagli in seguito) che forniscono esempi, la risposta corretta e una giustificazione che incoraggia l’LLM a spiegare il suo ragionamento. L’unica differenza tra questi due prompt è il testo evidenziato che in realtà sta eliciting una risposta dall’LLM. Gli esempi di pochi colpi e il ragionamento rimangono gli stessi.

I prompt di catena di pensiero forniscono al modello la giustificazione del perché la risposta è corretta per ogni esempio di testo dato.

Il modo naturale per decidere quale prompt sia migliore è basato sulla loro Accuratezza del Test Osservata. Quando viene utilizzato per sollecitare l’LLM FLAN-T5, vediamo qui sotto che le classificazioni prodotte dal Prompt A hanno una maggiore Accuratezza del Test Osservata sul set di test originale rispetto a quelle dal Prompt B. Quindi ovviamente dovremmo utilizzare il nostro LLM con il Prompt A, giusto? Non così in fretta!

Quando valutiamo l’Accuratezza del Test Pulito di ciascun prompt, scopriamo che il Prompt B è effettivamente molto migliore del Prompt A (di 4,5 punti percentuali). Poiché l’Accuratezza del Test Pulito riflette più da vicino la vera prestazione che ci interessa, avremmo preso la decisione sbagliata se ci fossimo solo affidati ai dati di test originali senza esaminare la qualità delle etichette!

Utilizzando l'accuratezza osservata, si selezionerebbe il Prompt A come migliore. Il Prompt B è effettivamente il prompt migliore quando valutato sul set di test pulito.

È solo una fluttuazione statistica?

Il test di McNemar è un modo consigliato per valutare la significatività statistica delle differenze riportate nell’accuratezza dell’Apprendimento Automatico (Machine Learning). Quando applichiamo questo test per valutare la differenza del 4,5% nell’accuratezza del test pulito tra Prompt A vs. B sui nostri 700 esempi di testo, la differenza è altamente statisticamente significativa (valore p = 0,007, X² = 7,086). Quindi, tutte le prove suggeriscono che il Prompt B sia una scelta significativamente migliore: non avremmo dovuto non selezionarlo, esaminando attentamente i nostri dati di test originali!

È un risultato casuale che è accaduto solo per questi due prompt?

Guardiamo anche ad altri tipi di prompt per vedere se i risultati sono stati solo coincidentali per la nostra coppia di prompt a catena di pensiero.

Prompt di Istruzione

Questo tipo di prompt fornisce semplicemente un’istruzione a LLM su ciò che deve fare con l’esempio di testo fornito. Consideriamo la seguente coppia di prompt tra cui scegliere.

Prompt Few-Shot

Questo tipo di prompt utilizza due istruzioni, un prefisso e un suffisso, e include anche due esempi (pre-selezionati) dal corpus di testo per fornire chiare dimostrazioni a LLM della mappatura di input-output desiderata. Consideriamo la seguente coppia di prompt tra cui scegliere.

Prompt templatizzati

Questo tipo di prompt utilizza due istruzioni, un prefisso opzionale e un suffisso, oltre alla formattazione a scelta multipla in modo che il modello esegua la classificazione come risposta a scelta multipla anziché rispondere direttamente con una classe prevista. Consideriamo la seguente coppia di prompt tra cui scegliere.

Risultati per vari tipi di prompt

Oltre alla catena di pensiero, abbiamo valutato anche le prestazioni di classificazione dello stesso LLM FLAN-T5 con questi tre tipi aggiuntivi di prompt. Tracciando l’accuratezza del test osservato rispetto all’accuratezza del test pulito raggiunta con tutti questi prompt, vediamo molte coppie di prompt che soffrono dello stesso problema sopra citato, dove fare affidamento sull’accuratezza del test osservato porta a selezionare il prompt che in realtà è peggiore.

Come ingegnere di prompt che utilizza i dati di test disponibili, sceglieresti il prompt A grigio nell'angolo in alto a sinistra (con la massima precisione osservata) eppure il prompt ottimale è effettivamente il prompt B grigio nell'angolo in alto a destra (con la massima accuratezza pulita).

Basandosi unicamente sull’accuratezza del test osservato, si sarebbe inclini a selezionare ciascuno dei prompt “A” invece dei prompt “B” tra ciascun tipo di prompt. Tuttavia, il prompt migliore per ciascun tipo di prompt è effettivamente il prompt B (che ha una maggiore accuratezza del test pulito). Ciascuna di queste coppie di prompt evidenzia la necessità di verificare la qualità dei dati di test, altrimenti si possono prendere decisioni subottimali a causa di problemi di dati come le annotazioni rumorose.

Tutti i prompt A sembrano migliori grazie alla loro maggiore accuratezza osservata, ma tutti i prompt B sono oggettivamente migliori quando valutati sui dati di test di verità sul campo.

Puoi vedere anche in questa grafica come tutte le accuratezze osservate delle prompt A sono circondate, il che significa che hanno accuratezze più elevate rispetto alle loro controparti B. Allo stesso modo, tutte le accuratezze pulite delle prompt B sono circondate, il che significa che hanno accuratezze più elevate rispetto alle loro controparti A. Proprio come nell’esempio semplice all’inizio di questo articolo, si sarebbe inclini a scegliere tutte le prompt A, quando in realtà le prompt B fanno molto meglio il loro lavoro.

Migliorare i dati di test disponibili per una valutazione più affidabile

Speriamo che l’importanza di dati di valutazione di alta qualità sia chiara. Vediamo alcune modalità per migliorare i dati di test disponibili.

Correzione manuale

Il modo più facile per garantire la qualità dei tuoi dati di test è semplicemente di esaminarli a mano! Assicurati di esaminare ogni esempio per verificare che sia etichettato correttamente. A seconda delle dimensioni del tuo set di test, questo potrebbe essere fattibile o meno. Se il tuo set di test è relativamente piccolo (~100 esempi), potresti semplicemente esaminarli e apportare eventuali correzioni necessarie. Se il tuo set di test è grande (1000+ esempi), questo sarebbe troppo dispendioso in termini di tempo e di sforzo mentale da fare a mano. Il nostro set di test è abbastanza grande, quindi non useremo questo metodo!

Correzione algoritmica

Un altro modo per valutare il tuo set di test disponibile (possibilmente rumoroso) è di utilizzare algoritmi di intelligenza artificiale centrati sui dati per diagnosticare problemi che possono essere risolti per ottenere una versione più affidabile dello stesso set di dati (senza dover raccogliere molte annotazioni umane aggiuntive). Qui utilizziamo algoritmi di Confident Learning (tramite il pacchetto open-source cleanlab) per controllare i nostri dati di test, che stimano automaticamente quali esempi sembrano essere etichettati in modo errato. Ispezioniamo quindi solo questi problemi di etichettatura auto-rilevati e correggiamo le loro etichette se necessario per produrre una versione di qualità superiore del nostro set di test. Chiamiamo le misurazioni dell’accuratezza del modello effettuate su questa versione del set di test, la CL Test Accuracy.

La precisione del test CL è maggiore per tutte le prompt B. Utilizzando CL abbiamo corretto i dati di test originali e ora possiamo fidarci delle nostre decisioni di modello e di prompt.

Utilizzando questo nuovo set di test CL-corretto per la valutazione del modello, vediamo che tutte le prompt B di prima ora mostrano correttamente una maggiore accuratezza rispetto alle loro controparti A. Ciò significa che possiamo fidarci delle nostre decisioni basate sul set di test CL-corretto per essere più affidabili rispetto a quelle basate sui rumorosi dati di test originali.

Certo, Confident Learning non può identificare magicamente tutti gli errori in qualsiasi set di dati. Quanto bene questo algoritmo rileva gli errori di etichettatura dipenderà dall’avere previsioni ragionevoli da un modello di apprendimento automatico di base e anche in questo caso, certi tipi di errori introdotti sistematicamente rimarranno indetectabili (ad esempio, se scambiamo la definizione di due classi completamente). Per l’elenco preciso delle ipotesi matematiche in cui Confident Learning può essere dimostrato efficace, fare riferimento all’articolo originale di Northcutt et al. Per molti set di dati di testo/immagine/audio/tabelle del mondo reale, questo algoritmo sembra offrire almeno un modo efficace per concentrare le risorse limitate di revisione dei dati sui casi più sospetti che si annidano in un grande set di dati.

Non è sempre necessario spendere tempo/risorse per curare un set di valutazione “perfetto” – utilizzando algoritmi come Confident Learning per diagnosticare e correggere eventuali problemi nel tuo set di test disponibile può fornire dati di alta qualità per garantire scelte di prompt e di modello ottimali.

Tutte le immagini, a meno che diversamente specificato, sono dell’autore.