L’Intelligenza Artificiale (AI) è la disciplina che si occupa di creare sistemi in grado di eseguire compiti che richiedono intelligenza umana, come apprendimento, il ragionamento e la risoluzione di problemi. Uno dei campi più promettenti e sfidanti di questo settore è quello della generazione di linguaggio naturale (NLG), che consiste nel produrre testi coerenti e informativi a partire da dati strutturati o non strutturati.
Per realizzare questo obiettivo, negli ultimi anni si sono sviluppati dei modelli di AI chiamati Large Language Models (LLM), che sono algoritmi in grado di comprendere e generare testi in linguaggio naturale basandosi su vasti set di dati linguistici. I modelli come GPT hanno dimostrato una sorprendente capacità di generare testi su vari argomenti e domini, rispondendo a domande, completando frasi e creando contenuti creativi.
I LLM presentano però anche dei limiti e, in alcuni casi, delle criticità, legati alla loro dipendenza dai dati di addestramento, che possono essere incompleti, obsoleti o non pertinenti al contesto specifico. Inoltre, i LLM richiedono una significativa potenza di calcolo per essere riaddestrati, il che rende difficile aggiornare continuamente i modelli con nuove informazioni.
Per superare questi problemi e migliorare la qualità dell’IA generativa, emerge una nuova tecnica chiamata Retrieval-Augmented Generation (RAG), che significa generazione aumentata con recupero. La RAG è una tecnica che consente ai LLM di sfruttare risorse di dati aggiuntive senza bisogno di retraining, integrando le abilità generative dei LLM con la capacità di reperire informazioni da fonti esterne di conoscenza.
La RAG è stata proposta per la prima volta da Patrick Lewis e un team di Facebook AI Research in questo articolo del 2020 e da allora ha suscitato l’interesse e l’attenzione di molti ricercatori accademici e del settore, che la vedono come un modo per spingere i confini della NLG.
Come funziona la RAG
La RAG funziona combinando due componenti principali: un LLM pre-addestrato e un indice di documenti di conoscenza. Il LLM pre-addestrato è un modello di IA generativa, come GPT-3, BERT o T5, che è stato addestrato su un grande dataset di testi generici. L’indice di documenti di conoscenza è una collezione di testi specifici e aggiornati, provenienti da fonti diverse, come Wikipedia, database, data warehouse, documenti aziendali o feed di notizie.
Quando la RAG riceve un input, come una domanda o una frase da completare, il LLM pre-addestrato genera una prima risposta basandosi sui dati di addestramento. Allo stesso tempo, il LLM pre-addestrato invia una query all’indice di documenti di conoscenza, che restituisce i documenti più rilevanti per l’input. Questi documenti vengono poi utilizzati dal LLM pre-addestrato per raffinare e migliorare la risposta iniziale, integrandola con informazioni più precise e aggiornate.
In questo modo, la RAG riesce a produrre non solo testi coerenti, ma anche corretti e pertinenti, sfruttando dati specifici e aggiornati provenienti da fonti esterne. La RAG non modifica il LLM pre-addestrato alla sua base, ma lo arricchisce con informazioni mirate senza bisogno di retraining.
Esempi di applicazioni della RAG
La RAG può essere applicata a diversi compiti e domini che richiedono la generazione di testi in linguaggio naturale, come la risposta a domande, il riassunto di testi, la generazione di contenuti creativi o la creazione di chatbot.
Per esempio, immagina di voler creare un chatbot per un campionato sportivo, che possa rispondere alle domande dei fan e dei media su giocatori, squadre, storia e regole dello sport, statistiche e classifiche attuali. Un LLM generico potrebbe rispondere a domande sulla storia e sulle regole, ma non sarebbe in grado di parlare della partita della sera precedente o di fornire informazioni aggiornate su un particolare infortunio di un atleta, perché non avrebbe tali informazioni.
Utilizzando la RAG, invece, diventa possibile integrare il LLM generico con un indice di documenti di conoscenza specifici per lo sport, come database, data warehouse, documenti sui giocatori e feed di notizie, che contengono informazioni dettagliate e aggiornate su ogni partita. In questo modo, il chatbot potrebbe fornire risposte più appropriate e accurate alle domande, basandosi su dati estremamente attuali.
Un altro esempio di applicazione della RAG è la generazione di contenuti creativi, come poesie, storie, canzoni o parodie di celebrità. Un LLM generico potrebbe generare contenuti creativi basandosi su dati generici, ma potrebbe non essere in grado di catturare lo stile, il tono, il vocabolario o le sfumature di un determinato autore, genere o personaggio.
Utilizzando la RAG, invece, si potrebbe invece integrare il LLM generico con un indice di documenti di conoscenza specifici per il contenuto creativo che si vuole generare, come testi di poesie, storie, canzoni o parodie di celebrità, che contengono esempi e modelli di riferimento. In questo modo, il contenuto creativo generato sarebbe più originale, interessante e divertente, riflettendo lo stile, il tono, il vocabolario e le sfumature del contenuto desiderato.
Vantaggi e svantaggi della RAG
La RAG presenta una serie di vantaggi e di svantaggi che delineano da un lato la sua complessità e dall’altro le sfide ad esso associate.
Vantaggi:
- Maggiore completezza: la capacità della RAG di attingere informazioni da fonti esterne contribuisce a generare risposte più complete e dettagliate;
- Maggiore correttezza: la capacità della RAG di integrare informazioni aggiornate e specifiche contribuisce a generare risposte più corrette e accurate;
- Maggiore pertinenza: la capacità della RAG di adattare le informazioni al contesto contribuisce a generare risposte più pertinenti e rilevanti;
- Maggiore flessibilità: la capacità della RAG di sfruttare diverse fonti di conoscenza contribuisce a generare risposte più flessibili e personalizzabili;
- Maggiore efficienza: la capacità della RAG di ottimizzare i LLM pre-addestrati senza retraining contribuisce a generare risposte più efficienti e veloci.
Svantaggi:
- Maggiore complessità: la RAG richiede una maggiore complessità nella progettazione e nell’integrazione dei componenti, come il LLM pre-addestrato, l’indice di documenti di conoscenza e il meccanismo di recupero e fusione delle informazioni;
- Maggiore incertezza: la RAG introduce una maggiore incertezza nella generazione delle risposte, in quanto dipende dalla qualità e dalla rilevanza dei documenti di conoscenza recuperati, che potrebbero essere incompleti, errati o non pertinenti;
- Maggiore difficoltà di valutazione: la RAG rende più difficile la valutazione delle risposte generate, in quanto richiede criteri e metriche più sofisticati e multidimensionali, che tengano conto non solo della coerenza, ma anche della correttezza, della pertinenza, della completezza e della flessibilità delle risposte.
In definitiva quindi la RAG è vista come la nuova frontiera dell’intelligenza artificiale generativa, per la sua promessa di migliorare la qualità e la pertinenza dei testi prodotti dai modelli di AI, combinando le abilità generative dei LLM pre-addestrati con la capacità di reperire informazioni da fonti esterne di conoscenza, senza bisogno di retraining e aprendo, in questo modo, nuove possibilità e nuovi scenari per la creazione di testi in linguaggio naturale.