mloiacono

Ad oggi il concetto di AI si è diffuso tantissimo e tutti, addetti ai lavori e non, abbiamo avuto un contatto, anche solo spinti dalla curiosità, con modelli come ChatGPT, restando sorpresi dalle loro capacità di capire le nostre domande e dalla qualità delle risposte fornite.

I più smanettoni, ben presto si sono accorti che le risposte non erano puntualmente aggiornate, specialmente se venivano poste domande su argomenti, come la tecnologia, che è soggetta a cambiamenti rapidissimi.

Perché una limitazione del genere? in molti pensavamo che le AI cercassero informazioni sul web, ma così non è. Come mai? La risposta è molto semplice ed insita del nome stesso di chatGPT, perché GPT sta per Generative Pre-trained Transformer, quindi si tratta di un modello pre-addestrato su enormi volumi di dati e non acquisisce informazioni in tempo reale.

Cos’è la RAG (Retrieval-Augmented Generation)

Le AI avranno sempre un gap temporale come questo (e quindi non saranno mai aggiornate agli eventi più recenti, alla “data attuale”)?

La soluzione sembra semplice: permettere alle AI l’accesso al web.

Purtroppo, l’affidabilità delle notizie presenti sul web non consente questo tipo di approccio (immaginate di chiedere a chatGPT di fornirvi informazioni sullo sbarco sulla luna e ottenere risposte basate sul complottismo).

Il problema relativo alle risposte false o imprecise delle AI ha un nome ben preciso: si parla di stato di “allucinazione dell’intelligenza artificiale” (AI Hallucination State).

Senza dilungarsi eccessivamente nel dettaglio del problema, che richiederebbe un articolo dedicato e molto tecnico, ci basti sapere che una qualsiasi AI come chatGPT è programmata per dare una risposta a tutti i costi. Non può quindi “non rispondere” e, pur di generare un output, questo viene letteralmente  inventato e distorto.

Viene insomma generata una nuova realtà, perché una risposta, seppur allucinata, è obbligato a dartela.

Per semplificare, è un po’ quello che facevamo durante le interrogazioni quando non conoscevamo la risposta a una domanda degli insegnanti.

Anche se è probabilmente meglio stare zitti che raccontare fandonie oppure essere onesti ed ammettere di non aver studiato, gli ingegneri che addestrano le AI non la pensano allo stesso modo, soprattutto perché l’obiettivo di software come ChatGPT è fornire un modello conversazionale credibile, non le risposte esatte a ogni costo.

Cos’è la RAG (Retrieval-Augmented Generation)

Dopo questa premessa, arriviamo finalmente all’ argomento di questo articolo, la RAG ovvero Retrieval-Augmented Generation, il cui obiettivo è superare i limiti delle AI pre-addestrate, fornendo informazioni reali durante la generazione della risposta per prevenire allucinazioni e recuperare risposte accurate.

Con questo sistema, l’AI attingerà ad una nuova base di conoscenza autorevole al di fuori delle sue fonti di dati di addestramento.

Quando ci riferiamo alla RAG, parliamo generalmente di un framework di intelligenza artificiale che migliora l’accuratezza e l’affidabilità dei modelli linguistici di grandi dimensioni (LLM) basandoli su basi di conoscenza esterne ai dati in loro possesso.

Ad esempio, ci siamo spesso accorti che i LLM hanno una scarsa comprensione del significato di alcune parole. Anche su questo aspetto ha impatto la RAG, consentendo accesso a fatti aggiornati e fonti verificabili, aumentando la fiducia degli utenti che utilizzano le AI.

Il processo del framework RAG

La RAG funziona secondo un processo costituito da due fasi distinte: recupero e generazione del contenuto.

Nella fase di recupero, gli algoritmi cercano e recuperano informazioni rilevanti da basi di conoscenza esterne. Queste informazioni vengono quindi utilizzate nella fase generativa, in cui il LLM sintetizza una risposta basata sia sul prompt aumentato che sulla sua rappresentazione interna dei dati di addestramento.

Per una questione di trasparenze l’ AI fornirà nella risposta il link alla fonte considerata.

Perché è importante conoscere la RAG

L’anno appena iniziato, il 2024, sarà cruciale per l’ evoluzione dei modelli LLM, grazie anche all’applicazione del framework RAG.

La RAG offre numerosi vantaggi, tra cui l’accesso alle informazioni più recenti e affidabili, la riduzione della perdita di dati sensibili e la minore necessità di riqualificazione continua dei modelli.

Trova applicazioni in risposte personalizzate, risposte verificabili e riduzione dei costi computazionali e finanziari in contesti aziendali.

Per riassumere, i vantaggi del framework RAG sono:

Come funziona RAG

L’idea alla base del RAG è molto semplice: prevede la combinazione dei dati in possesso al LLM con un archivio separato di contenuti al di fuori del modello linguistico che fornisce informazioni originali e aggiornate, prima di generare una risposta.

I nuovi dati al di fuori del set di dati di training originale del LLM sono chiamati dati esterni e possono riguardare origini dati disparate quali API, database o archivi di documenti.

All’interno di questo repository di dati esterni, le informazioni possono esistere in vari formati come file, record di database o testo lungo.

Quindi, in altre parole, l’approccio RAG unisce il recupero delle informazioni con la generazione del testo.

Ovviamente, la descrizione fatta qui è estremamente semplice, puramente finalizzata a comprenderne il concetto. In realtà, per apprezzare veramente come funziona questo framework, è fondamentale capire come funziona il deep learning e quindi comprendere come i modelli linguistici elaborano i nostri suggerimenti e producono risposte in linguaggio naturale.

Le risposte generate dai LLM si basano prevalentemente sull’input fornito dell’utente e l’ accuratezza o dettaglio fornito dal prompt è vitale per massimizzare la precisione delle risposte generate.

Questo input viene trasformato in embeddings o incorporamenti, che sono rappresentazioni numeriche di concetti che consentono all’intelligenza artificiale di calcolare la semantica di ciò che l’utente sta chiedendo.

Nel framework RAG, dopo aver calcolato gli embedding della query di un utente, il modello linguistico identifica le informazioni rilevanti in un set di dati esterno, quindi il LLM esegue una ricerca di similarità tra il prompt e il set di dati esterno, prima di perfezionare il prompt dell’utente utilizzando le informazioni pertinenti recuperate.

Solo allora viene inviato il prompt a LLM per generare un output per l’utente.

RAG Retrieval-Augmented Generation

Le applicazioni possibili

Vediamo nel breve periodo quali saranno le applicazioni del RAG nella vita di tutti i giorni.

Applicazioni per fini legali

I professionisti legali possono utilizzare i modelli RAG per cercare e riassumere rapidamente documenti legali, statuti e giurisprudenza per facilitare la ricerca legale e la revisione dei documenti.

Decision support system DSS

Questi sono sistemi informatici che analizzano grandi quantità di dati per fornire un supporto decisionale. Ipotizziamo che l’ufficio logistica della nostra azienda debba decidere come ripartire l’invio di 300 giubbotti sul territorio nazionale. Il nostro RAG considerando i dati di vendita, i feedback sui social, tendenze di mercato e previsioni meteo per il prossimo mese, aiuterà i manager a prendere decisioni informate e tempestive.

Didattica individuale e specialistica

Immaginiamo una versione avanzatissima in stile Wikipedia basata su RAG; uno studente delle scuole medie che ha bisogno di svolgere una ricerca sulle cause della caduta dell’impero romano potrebbe ottenere una forma di assistenza personalizzata nello studio. In questo caso, il sistema RAG potrà attingere a fonti storiche aggiornate e molto accurate, supportate da dati storici e analisi effettuate da esperti, e riassumere tutto con il linguaggio più adatto.

Customer service

Supponiamo che la nostra azienda di vendita prodotti di abbigliamento decida di implementare un chatbot per le attività di assistenza clienti post vendita, basato su RAG.

Un potenziale cliente ci contatta per avere informazioni su un determinato capo di abbigliamento in vendita online, ad esempio il giubbotto a cui abbiamo fatto riferimento prima.

Il nostro chatbot, utilizzando RAG, non solo comprende la domanda, ma attinge anche alle informazioni specifiche sullo storico ordini effettuati dal cliente, sulla sua area geografica di residenza e acquisendo dati dal meteo potrà magari consigliare l’acquisto di un giubbotto più o meno pesante,  fornendo in tal modo una risposta personalizzata e dettagliata.

Supporto sanitario

In ambito sanitario, il RAG può essere utilizzato per fornire consigli medici personalizzati a un paziente il quale, descrivendo i suoi sintomi e addirittura fornendo ulteriori informazioni sul suo attuale stato di salute tramite dispositivi wearable, riceverà una possibile diagnosi tramite la consultazione di database medici, studi clinici e considerando la storia clinica dell’utente e le ultime analisi mediche effettuate.

Analisi finanziaria

Nel settore finanziario, il RAG può essere utilizzato per generare analisi e report previsionali molto dettagliati, definendo in autonomia vari scenari probabilistici. Prendiamo il caso di un investitore che richieda un’analisi delle tendenze attuali del mercato azionario.

Il supporto di una RAG gli consentirebbe di avere una panoramica aggiornata e approfondita del mercato, avvertendolo anche di situazioni politiche che potrebbero impattare negativamente sui propri investimenti e fornendo quindi scenari basati sul modello what if.

Ninja Upshot

RAG rappresenta un approccio promettente per migliorare l’accuratezza e l’affidabilità del LLM, offrendo vantaggi come la messa a disposizione di notizie e informazioni, la riduzione delle distorsioni e i minori costi di manutenzione.

Sebbene permangano sfide in aree quali il riconoscimento di argomenti che non hanno ancora una risposta (come le questioni inerenti la fisica quantistica, la fede religiosa e simili) e l’ottimizzazione del recupero delle informazioni, la ricerca in corso sta ampliando i confini delle capacità RAG e aprendo la strada ad applicazioni LLM più affidabili e informative.

La promessa di RAG è quella di portare l’AI in un territorio nuovo ed inesplorato, dove non conta soltanto la capacità da parte di questa di generare testo in una forma intelligente, ma anche e soprattutto la capacità di informarsi e adattarsi in base a un universo di dati in continua evoluzione.

Il 2024 potrebbe essere l’anno in cui l’ evoluzione delle AI consentirà a queste di comprendere realmente il mondo che ci circonda.

L’articolo Cos’è la RAG (Retrieval-Augmented Generation), il nuovo paradigma per l’ AI proviene da Ninja Business School.