Molti di noi usano i modelli linguistici di grandi dimensioni, detti anche dagli addetti ai lavori LLM, per molte attività. Infatti, con l’avvento di ChatGPT a fine del 2022 c’è stata una vera e propria rivoluzione. Nonostante le persone usino ChatGPT e i suoi fratelli per curiosità o per altri scopi ludici e/o lavorativi, quanti sono consapevoli che non sempre le risposte date sono veritiere? Questo è un problema che viene denominato allucinazione. Significa che la risposta che otteniamo è errata o senza senso. Insomma, LLM che stiamo utilizzando si sta inventando una risposta!!!
Quali sono le ragioni alla base delle allucinazioni? Per prima cosa dobbiamo essere consapevoli che i LLM non comprendono l’output che viene generato. Infatti, questi modelli non analizzano le risposte che forniscono per comprenderne il significato. Inoltre, ricordiamo che nonostante a noi le risposte sembrino fluide da un punto di vista linguistico, la sequenza di parole dele risposte è generata, per semplificare, in base ad una probabilità condizionate. Avendo visto una grande quantità di dati testuali, la risposta ci sembra corretta. Altri aspetti che determinano le allucinazioni sono la mancanza di informazioni di un determinato contesto e/o di fatti recenti, e un addestramento del modello che non includeva esplicitamente una fase per evitare contenuti falsi.
Nonostante le allucinazioni possano capitare, La probabilità che esse avvengano può essere ridotta strutturando con attenzione i suggerimenti che forniamo a questi modelli. Diverse tecniche di ingegneria dei prompt, oltre a quelle già viste in Prompt engineering: tecniche di prompting [parte 1] e Prompt engineering: tecniche di prompting [parte 2], si concentrano sulla guida del modello verso la produzione di risposte più veritiere, razionali e sensate.
In questo articolo esploreremo alcune tecniche. Per ciascuna di esse forniremo una panoramica del loro funzionamento, alcuni esempi per illustrare la struttura del prompt e un’analisi dei loro punti di forza e limiti. Iniziamo!
Generazione aumentata di recupero (RAG)
I sistemi di generazione aumentata di recupero (RAG) combinano le capacità dei modelli linguistici con fonti di informazione esterne. L’idea chiave è quella di recuperare il contesto rilevante dalle basi di conoscenza prima della generazione del testo, in modo tale che il modello linguistico si basi su dati di contesto verificati.
I sistemi RAG riducono l’allucinazione assicurando che tutte le risposte generate abbiano un’evidenza di supporto, invece di far speculare il modello alla cieca. Se non si trovano prove contestuali, il sistema può ammettere onestamente la propria ignoranza.
Vediamo alcuni esempi per capire meglio i prompt RAG in azione.
- Quando è stato inventato il primo frigorifero?
- 1854: Il primo frigorifero funzionante viene costruito da James Harrison, un inventore scozzese. Il suo sistema di refrigerazione a compressione di vapore di etere ha aperto la strada alla moderna tecnologia di refrigerazione meccanica.
- Chi era l'attrice principale del film Titanic?
- Kate Winslet: Ha interpretato il personaggio di Rose DeWitt Bukater nel film Titanic del 1997 diretto da James Cameron. Il film era interpretato anche da Leonardo DiCaprio nel ruolo di Jack Dawson.
Nelle query RAG di cui sopra, il sistema cerca i fatti rilevanti in una fonte di conoscenza prima di generare una risposta. In questo modo, l’output si basa sulle informazioni recuperate, anziché lasciare che il modello linguistico crei fatti non supportati.
Vantaggi
I sistemi RAG, incorporando una conoscenza esterna oltre a quella usata per essere addestrati, riducono in molti contesti la probabilità di un’allucinazione non fondata. Infatti, il modello può fornire una risposta che indichi la mancanza di conoscenza riguardo ad un determinato argomento. Inoltre, l’output può includere le fonti da cui la risposta è stata generata, per aumentare la credibilità della stessa.
Svantaggi
Questi sistemi, per essere affidabili, richiedono grandi insiemi di dati o basi di conoscenza per la ricerca di informazioni contestuali, che possono essere costose da creare e mantenere. Proprio per questo motivo, presentano anche un problema di scalabilità rispetto ad altri approcci basati su modelli linguistici puri. Non si esclude, inoltre, il rischio di ripetizione dei fatti a livello superficiale senza una comprensione più profonda se la fonte di conoscenza stessa contiene errori o lacune fattuali.
Sebbene i prompt di RAG aiutino a ridurre l’allucinazione attraverso i fatti recuperati da basi di dati predefinite, la tecnica è più efficace quando le fonti di conoscenza sottostanti sono ampie, di alta qualità e regolarmente aggiornate. L’uso di più basi di conoscenza complementari può anche garantire una maggiore robustezza.
ReAct
I prompt ReAct, o Recursive Assistant, sono progettati per interrogare ricorsivamente il modello sul suo processo di pensiero e sui livelli di fiducia in ogni fase. Gli obiettivi principali sono:
- incoraggiare il modello a riflettere profondamente sul suo ragionamento piuttosto che rispondere impulsivamente
- consentire la calibrazione dell’incertezza e far emergere le lacune della conoscenza
- migliorare la veridicità ed evitare contenuti falsi.
Ecco un esempio di prompt di ReAct.
- Qual è la capitale dell'Australia?
- La capitale dell'Australia è Canberra.
- Su una scala da 0 a 10, quanto siete sicuri della tua risposta? Spiega chiaramente il tuo ragionamento.
- Fiducia 9/10. Sono molto fiducioso che la capitale dell'Australia sia Canberra. Essendo un grande paese sviluppato, la capitale dell'Australia è una conoscenza fattuale comune che ho riscontrato spesso nei miei dati di addestramento.
Possiamo approfondire la ricerca in modo ricorsivo:
- Ottimo, potresti fornire 1-2 fonti fattuali in cui hai visto prove che Canberra è la capitale dell'Australia? Ti prego di citare i riferimenti specifici.
- Ho visto Canberra indicata come capitale dell'Australia nelle mappe, nelle enciclopedie e nei dataset delle capitali mondiali utilizzati nella mia formazione. Tuttavia, dopo un'ulteriore riflessione, non ho riferimenti testuali specifici da citare come prova concreta di questa risposta.
La mancanza di fonti di prove specifiche può indicare potenziali lacune di conoscenza. Possiamo quindi riformulare la domanda iniziale.
- Qual è la capitale dell'Australia e quali fonti fattuali puoi citare per confermarlo con certezza?
Se il modello non è ancora in grado di fornire riferimenti esterni verificati, dimostra un’introspezione sui limiti della sua conoscenza, riducendo le possibilità di una falsa invenzione.
Vantaggi
I prompt React costruiscono una trasparenza ricorsiva nel processo di ragionamento del modello senza l’uso di fonti esterne. Grazie ad una catena di ragionamento, permette di far emergere le lacune di conoscenza ed incoraggia la calibrazione della fiducia del modello.
Svantaggi
L’applicazione di questa tecnica porta a diverse interazioni con il modello, il che implica che la chat può risultare tediosa e/o inefficiente. Non si evita il rischio di overfitting del modello, il quale per rispondere in modo articolato alla ricorsione non migliora l’integrità della conoscenza sottostante. Infatti, non incorpora una base di conoscenza esterna come i sistemi RAG su cui fare affidamento per verificare la risposta data.
Sebbene le richieste di ReAct da sole non garantiscano la piena veridicità, mettere in discussione ricorsivamente la fiducia e il ragionamento del modello è una tecnica utile per ridurre l’allucinazione cieca. I suggerimenti possono essere resi più robusti combinando l’interrogazione di ReAct con il reperimento di prove corroboranti da fonti di conoscenza esterne.
Prompt di verifica a catena (CoVe)
Le richieste di verifica a catena (CoVe) richiedono esplicitamente che il modello fornisca una verifica passo dopo passo delle sue risposte, citando fonti esterne autorevoli.
Il prompt è formulato come una serie di deduzioni logiche verificabili per raggiungere la risposta finale:
- {fatto iniziale} -> implica in modo verificabile -> {deduzione logica 1} -> implica in modo verificabile -> {deduzione logica 2} -> ... -> implica in modo verificabile -> {risposta finale}
Per esempio:
- Tom Cruise è nato a Syracuse, New York -> implica in modo verificabile -> Syracuse è una città dello stato americano di New York -> implica in modo verificabile -> New York si trova in USA -> implica in modo verificabile -> Tom Cruise è nato in USA
Impostando una catena di ragionamenti, fondati sulla verifica a ogni passo, i suggerimenti di CoVe riducono le speculazioni non legate alla realtà. Analizziamo i punti di forza e di debolezza di questo approccio.
Vantaggi
Le deduzioni logiche concatenate rafforzano il pensiero sistematico e strutturato e il requisito di verifica esplicito riduce al minimo le ipotesi cieche. Il contesto gradualmente rivelato focalizza la risposta senza lasciare spazio ad allucinazioni.
Svantaggi
La tecnica di CoVe riduce la flessibilità linguistica del prompt in cambio di un guadagno in termini di trasparenza logica. Funziona bene per le interrogazioni con flussi di ragionamento abbastanza lineari, ma può diventare noiosa per le analisi che richiedono un’inferenza più destrutturata. Se il ragionamento è complesso o, in alcuni addirittura ambiguo, questa tecnica può essere difficile da applicare. Infine, richiede riferimenti esterni che non sempre sono disponibili.
Una risposta