Data di pubblicazione: 30 ottobre 2024
La creazione di caratteristiche con modelli linguistici di grandi dimensioni (LLM) è molto diversa dall'ingegneria del software convenzionale. Gli sviluppatori devono imparare l'ingegneria dei prompt per gestire i risultati non deterministici, l'input di pre-elaborazione e i risultati della post-elaborazione.
Una delle sfide che hai condiviso con noi è che testare l'output degli LLM, determinandone la validità e la qualità, richiede molto tempo. Spesso gli sviluppatori ricorrono alla generazione batch dell'output utilizzando input diversi, per poi convalidarli manualmente con il giudizio umano.
Un approccio più scalabile per valutare i risultati di diversi modelli e prompt è la tecnica LLM come giudice. Con questa tecnica, invece di fare affidamento sul giudizio umano, la convalida del modello viene delegata a un altro LLM. Il secondo LLM deve essere un modello LLM più grande e basato su cloud, che probabilmente ha capacità di ragionamento migliori.
In questo documento, utilizziamo i riassunti per dimostrare come è possibile affrontare il confronto di diversi modelli e, come bonus, mostrare i miglioramenti apportati alla qualità da Gemma a Gemma 2.
Scegli modelli per i dati di confronto e di preparazione
Abbiamo valutato le funzionalità di tre modelli per la sintesi. Abbiamo confrontato i risultati di due dei modelli open di Google che possono essere eseguiti lato client, Gemma e Gemma 2, entrambi con 2 miliardi di parametri. In contrapposizione, abbiamo valutato anche un modello basato su cloud più grande e capace: Gemini 1.5 Flash.
Abbiamo utilizzato un set di dati di 2225 articoli della BBC, che coprono aree come affari, intrattenimento, politica, sport e tecnologia, e abbiamo generato un riepilogo di ogni articolo utilizzando ciascuno dei modelli selezionati. Lo stesso prompt è stato utilizzato in tutti i modelli:
Riassumi l'articolo in un paragrafo.
Abbiamo archiviato gli articoli originali e generato i riepiloghi in un database in modo da potervi accedere facilmente in ogni passaggio.
Seleziona un giudice per analizzare e valutare i riepiloghi
Per analizzare la qualità dei riepiloghi, abbiamo utilizzato Gemini 1.5 Flash per valutare i riepiloghi creati da Gemma 2 e Gemma 2 2B. Il nostro approccio specifico si basa sull'allineamento, che fa parte della metrica di riassunto di DeepEval.
Allineamento è una metrica che misura la frequenza con cui le istruzioni incluse in un riassunto sono supportate nei contenuti originali su cui è basato il riassunto.
Abbiamo suddiviso la procedura di valutazione in due passaggi. Innanzitutto, abbiamo chiesto al modello di suddividere ogni riepilogo in dichiarazioni separate. Poi abbiamo chiesto al modello di determinare se ogni affermazione è supportata dal testo dell'articolo originale.
Estrare l'istruzione dai riepiloghi
Abbiamo chiesto a Gemini 1.5 Flash di suddividere il testo più lungo in enunciati separati. Ad esempio:
Il difensore dell'Everton David Weir ha sconfitto il Liverpool dopo aver sconfitto il Liverpool, nonostante la sua squadra sia finita al secondo posto in campionato.
Gemini 1.5 Flash ha suddiviso questa frase nelle seguenti affermazioni:
- "David Weir gioca il difensore dell'Everton."
- "L'Everton è attualmente al secondo posto in Premier League."
- "L'Everton ha battuto il Liverpool in una recente partita."
- "David Weir ha ridotto al minimo la discussione sull'Everton nel calcio europeo".
Convalida delle dichiarazioni
Poi abbiamo chiesto a Gemini 1.5 Flash di analizzare la frase originale, rispetto alle frasi suddivise. Il modello classifica la validità di ogni istruzione come:
- Sì: l'affermazione è supportata dal testo originale.
- No. L'affermazione contraddice il testo originale.
- Idk. Non è possibile verificare se l'affermazione è supportata o se contraddice il testo originale.
Analisi dei risultati
Questo processo ha prodotto due metriche che possono essere utilizzate per confrontare i modelli:
- Allineamento: con quale frequenza il modello ha prodotto riepiloghi contenenti dichiarazioni supportate dal testo originale.
- Complessità: il numero medio di istruzioni contenute in un riepilogo generato dal modello.
Allineamento
Abbiamo calcolato l'allineamento conteggiando il numero di riepiloghi contenenti almeno un'affermazione contrassegnata come "No" e dividendolo per il numero totale di riepiloghi.
Il modello Flash Gemini 1.5 ha i punteggi di allineamento più alti, superiori al 92%. Ciò significa che è molto brava a restare fedeli ai fatti ed evita di inventare le cose.
Gemma 2 2B ha un buon punteggio del 78,64%, che indica un buon livello di accuratezza. Nel frattempo, la versione precedente di Gemma 2B ha un punteggio di allineamento inferiore, il che significa che è più incline a includere informazioni non supportate dal testo originale.
Ricchezza
Abbiamo calcolato la ricchezza del modello calcolando la media del numero di istruzioni generate dal modello per ogni riepilogo.
Gemma 2 2B ha il punteggio di ricchezza più alto, pari a 9,1, il che indica che i suoi riepiloghi includono più dettagli e punti chiave. Il modello Gemini 1.5 Flash ha anche un punteggio di ricchezza elevato, superiore a 8,4. Gemma 2B ha ottenuto punteggi di ricchezza inferiori, il che indica che potrebbe non acquisire la maggior parte delle informazioni importanti del testo originale.
Conclusione
Abbiamo stabilito che i modelli più piccoli in grado di funzionare lato client, come Gemma 2 2B, possono generare output di alta qualità. Sebbene i modelli basati su cloud, come Gemini 1.5 Flash, eccedano nella produzione di riassunti in linea con l'articolo originale, contenenti una notevole quantità di informazioni, la differenza deve essere valutata insieme alle prestazioni dell'applicazione, alle esigenze di privacy e sicurezza e ad altre domande che potresti porre per determinare se dovresti creare IA lato client.
Esiste una chiara evoluzione delle funzionalità della famiglia di modelli Gemma, poiché Gemma 2 2B è in grado di generare riepiloghi più completi e in linea rispetto a Gemma 2B.
Valutare i casi d'uso
Questo documento ha solo sfiorito le possibilità offerte dall'LLM come tecnica di valutazione. Anche con il riassunto, è possibile esaminare più metriche e i risultati potrebbero variare. Ad esempio, puoi valutare la copertura utilizzando un prompt per identificare i punti chiave di un articolo e poi un altro prompt per verificare se questi punti chiave sono coperti da ogni riepilogo.
Altri casi d'uso, come la scrittura di testo, la riscrittura di testo o la generazione basata sul recupero potrebbero avere risultati diversi per le stesse metriche o richiedere l'utilizzo di altre metriche per la valutazione.
Quando implementi questo approccio, pensa a come un essere umano valuterebbe l'output per determinare quali metriche sono le migliori per i tuoi casi d'uso. Vale la pena anche esaminare i framework esistenti, come DeepEval, che potrebbero già avere un insieme di metriche appropriate per il tuo caso d'uso.
Hai implementato l'LLM come giudice per valutare i modelli? Inviaci un tweet con i tuoi risultati all'indirizzo @ChromiumDev o condividili con Chrome per gli sviluppatori su LinkedIn.