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 a gestire l'ingegneria dei prompt per gestire i risultati non deterministici, l'input di pre-elaborazione e i risultati di post-elaborazione.
Una delle sfide che ci hai condiviso è che testare l'output degli LLM, per determinarne 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 LLM più grande basato su cloud, che ha maggiori probabilità di avere migliori capacità di ragionamento.
In questo documento utilizziamo il compendio per dimostrare come puoi approcciarti al confronto di diversi modelli e, come bonus, mostrare il miglioramento della qualità da Gemma a Gemma 2.
Scegli i modelli per il confronto e prepara i dati
Abbiamo valutato le capacità di tre modelli nel riassunto. 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. È stato utilizzato lo stesso prompt per tutti i modelli:
Riassumi l'articolo in un paragrafo.
Abbiamo archiviato gli articoli originali e generato i riepiloghi in un database in modo che fosse possibile accedervi facilmente in ogni fase.
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 2B e Gemma 2 2B. Il nostro approccio specifico si basa sull'allineamento, che fa parte della metrica di sintesi 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 il processo 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 minimizzato le voci sul calcio europeo, nonostante la sua squadra si trovi al secondo posto in Premiership dopo aver battuto il Liverpool.
Gemini 1.5 Flash ha suddiviso questa frase nelle seguenti affermazioni:
- "David Weir gioca il difensore dell'Everton."
- "Al momento l'Everton è al secondo posto nella Premiership."
- "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 ha classificato la validità di ogni affermazione 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 generato due metriche che possono essere utilizzate per confrontare i modelli:
- Allineamento: la frequenza con cui il modello ha prodotto riassunti contenenti istruzioni 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 bravo a attenersi ai fatti ed evita di inventare cose.
Gemma 2 2B ha un punteggio rispettabile pari al 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 eseguire il lato client, come Gemma 2 2B, possono generare output di grande qualità. Sebbene i modelli basati su cloud, come Gemini 1.5 Flash, siano eccellenti nella produzione di riepiloghi in linea con l'articolo originale, con una quantità considerevole di informazioni, la differenza deve essere valutata insieme al rendimento dell'applicazione, alle esigenze di privacy e sicurezza e ad altre domande che potresti porti per decidere se sviluppare l'AI 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 testi, la riscrittura di testo o la generazione aumentata del recupero (RAG), potrebbero avere risultati diversi per le stesse metriche o dovrebbero utilizzare altre metriche per la valutazione.
Quando implementi questo approccio, pensa a come un essere umano valuterebbe il risultato per determinare quali sono le metriche 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 i modelli LLM in qualità di giudice per valutare i modelli? Inviaci un tweet con i tuoi risultati all'indirizzo @ChromiumDev o condividili con Chrome per gli sviluppatori su LinkedIn.