La RAG (Retrieval‑Augmented Generation) è una tecnica che migliora l'accuratezza e la pertinenza degli output dei modelli linguistici di grandi dimensioni (LLM). Per farlo combina gli LLM, che spesso possono essere anche parecchio obsoleti, a dati esterni recuperati da sistemi appositi.
Tanto per fare un esempio, di recente le conoscenze di ChatGPT erano ferme ad appena l'inizio del 2022. Se non ci fossero altri programmi a integrare quelle conoscenze, le risposte di ChatGPT su argomenti nuovi o molto recenti sarebbero inaffidabili. E uno di quei programmi che aiutano a colmare le lacune nei modelli di AI generativa è proprio la RAG.
La RAG viene spesso utilizzata per migliorare la pertinenza e l'affidabilità di diversi output degli LLM – inclusi i sistemi di assistenza clienti, i chatbot di supporto, i framework di gestione dei progetti e i sistemi di domande e risposte.
Oltre a essere spesso obsoleti, gli LLM sono poi addestrati per estrapolare informazioni quando non sono disponibili dati: questa estrapolazione, chiamata allucinazione, porta sostanzialmente gli LLM a produrre informazioni che a prima vista potrebbero sembrare corrette, ma che in realtà sono completamente inventate.
La RAG può risolvere questi problemi utilizzando sistemi che recuperano i dati esterni e integrano le informazioni così ottenute nel corpus di conoscenze dell'LLM. I dati esterni sono essenziali, perché aggiornano il contesto e consentono all'LLM di comprendere meglio i fatti relativi a particolari argomenti o query. In questo modo si ottengono output accurati e pertinenti senza dover riaddestrare l'LLM, il che è particolarmente utile quando si addestra un LLM sui dati della propria organizzazione.
Per capire come funziona la RAG, pensiamo a un sistema come ChatGPT che risponde alle domande degli utenti. Non appena un utente inserisce una domanda, il sistema entra in azione. Semplificando molto, il processo è il seguente:
Recupero di informazioni: il sistema di AI trasmette la query testuale a un modello che la codifica in formato numerico (noto anche come ‘vettore’ o codice macchina). Il vettore confronta il codice con un indice preesistente, sempre in codice macchina, che raccoglie fonti di informazioni esterne come pagine web, database e altre knowledge bank.
Elaborazione preliminare dei dati: quando il sistema trova informazioni correlate all'argomento della query nelle fonti esterne recupera quei dati, li riconverte in testo leggibile dagli esseri umani e li trasmette all'LLM.
Integrazione dei dati: l'LLM analizza i dati recuperati e li combina con la propria base di conoscenze interna per formulare una risposta completa per l'utente. Diversi sistemi sono anche in grado di citare le fonti esterne da cui hanno tratto alcuni dei dati utilizzati nella risposta.
Aggiornamenti continui: una volta che un vettore è stato creato e ha inviato all'LLM i dati esterni corretti può continuare a lavorare in background per creare aggiornamenti continui all'indice, contribuendo a garantire che l'LLM abbia sempre accesso a informazioni aggiornate.
Per poter fare tutto questo, però, il sistema RAG deve prima passare attraverso una fase di ingestione, nella quale deve scandagliare le fonti di informazioni esterne per creare un indice o libreria. Questo passaggio viene di solito svolto in una fase preliminare, ma esistono sistemi RAG in grado di trovare informazioni e fonti esterne anche in tempo reale: per esempio interrogando i database, nei quali la ricerca e l'analisi possono essere eseguite con facilità; utilizzando chiamate API, che consentono al sistema di accedere ai dati contenuti in diverse applicazioni o piattaforme; o ricorrendo allo scraping di pagine web.
La RAG è un componente fondamentale per mantenere i risultati LLM aggiornati e pertinenti. Gli LLM sono ottimi per il loro scopo, ma hanno comunque dei limiti. Tanto per citarne alcuni:
Quando mancano dati appropriati, inventano le risposte
Offrono informazioni fin troppo generiche oppure datate
Non sanno esattamente come identificare le fonti di informazioni affidabili
Nella fase di addestramento fanno confusione con la terminologia, poiché ogni sistema di addestramento può utilizzare una terminologia diversa per gli stessi concetti
Senza la RAG, gli LLM avrebbero un bagaglio di conoscenze limitato a un intervallo di date specifico, oppure dovrebbero essere riaddestrati continuamente, il che richiede tempo e fa aumentare i costi. Grazie alla RAG, invece, gli LLM diventano più intelligenti e versatili, e complessivamente offrono risultati migliori da tutti i punti di vista – dalla creazione di contenuti basati sull'AI, agli assistenti virtuali complessi, ai chatbot esperti da utilizzare nei centri di assistenza clienti.
La RAG non sarebbe possibile senza il cloud. Questo perché il cloud offre capacità e caratteristiche essenziali per il funzionamento dei sistemi RAG, come ad esempio:
Scalabilità pressoché infinita ed elevata capacità di storage: i sistemi RAG dipendono da set di dati molto ampi, come per esempio l'intera knowledge base di un'azienda, i contenuti di migliaia o milioni di siti web, o vaste raccolte di documenti online. I provider di cloud pubblico possono fornire tutta la capacità di storage e di calcolo necessaria in qualsiasi momento, e scalare ulteriormente il sistema è semplice e rapido.
Database distribuiti e funzionalità di ricerca: gran parte dei dati esterni che i sistemi RAG recuperano sono dati non strutturati, cioè non possono essere facilmente organizzati e ordinati in un foglio di calcolo. Per archiviare e consultare grandi set di dati non strutturati, il cloud è l'ambiente ideale. I sistemi RAG sono comuni anche nel cloud, e accelerano e semplificano l'accesso e il recupero di informazioni da set di dati di grandi dimensioni.
Alte prestazioni e alta disponibilità: il cloud dispone di funzionalità integrate che gli consentono di operare al massimo delle prestazioni e con una latenza ridotta (un throughput elevato e una bassa latenza sono essenziali per la RAG). In più, il cloud dispone di numerose misure di ridondanza integrate per garantire che le operazioni proseguano anche in caso di guasto di un singolo nodo o cluster.
Implementazione e gestione degli LLM: il cloud è un ambiente ottimale per l'addestramento degli LLM. Molti provider offrono poi servizi di AI gestiti che semplificano ulteriormente l'implementazione e la gestione dei modelli.
Uno dei più grandi vantaggi della RAG è che colma in modo efficace ed efficiente il divario tra un sistema per sua natura datato come un LLM e la continua evoluzione del linguaggio umano e delle conoscenze moderne. Ma esistono anche altri benefici, tra cui:
Maggiore precisione negli output degli LLM: i sistemi RAG combinano le informazioni più recenti con il corpus di conoscenze degli LLM, consentendo risposte o output il più possibile aggiornati e accurati e accrescendo così la fiducia degli utenti nell'intero sistema.
Migliore rilevanza: grazie all'integrazione di conoscenze aggiornate tramite la RAG, gli LLM riescono a cogliere sfumature di linguaggio e significato più complesse altrimenti non così evidenti.
Verificabilità e trasparenza dei dati: molti sistemi RAG citano fonti di informazioni esterne, consentendo agli utenti di verificare le informazioni e, se necessario, apportare correzioni. Questo aiuta a dissipare l'effetto “scatola nera” tipico di certi sistemi basati sull'intelligenza artificiale, in cui l'utente finale non sa con certezza come vengano generate le risposte o gli altri risultati.
Maggiore versatilità: i sistemi RAG rendono gli LLM più versatili e consentono ulteriori use case. Più rilevanti sono i dati esterni inseriti nell'LLM, più dettagliati e personalizzati saranno gli output.
Chatbot: dai chatbot per la gestione delle conoscenze aziendali utilizzati dal personale fino ai chatbot di assistenza rivolti alla clientela, i sistemi RAG contribuiscono a garantire che le conversazioni siano pertinenti e precise. I chatbot con RAG non si limitano a dare risposte: possono anche sintetizzare informazioni e situazioni e offrire insight fruibili.
Assistenti alla scrittura: i sistemi RAG possono essere molto utili nella creazione di contenuti basati sull'AI, ad esempio quando bisogna creare un report utilizzando informazioni specifiche dell'azienda, o quando in ambito giornalistico serve trovare statistiche pertinenti per un articolo. Grazie a queste tecnologie è possibile risparmiare tempo e creare contenuti in modo più efficiente.
Assistenti per la ricerca: gli LLM potenziati da RAG possono rivelarsi molto utili nelle attività di ricerca – ad esempio per la stesura di tesi di laurea, cause legali, ricerche mediche e cliniche, e altro ancora.
Motori di conoscenza: i sistemi avanzati di domande e risposte, così come le basi di conoscenza o knowledge base, possono offrire maggiore accuratezza, rilevanza e attualità se gli LLM sono abbinati ai RAG.
Generazione di idee personalizzate: utilizzando LLM e RAG è possibile potenziare le attività di brainstorming con suggerimenti basati sull'AI, insight sulle tendenze future, individuazione di persone esperte in materia e altro ancora. In questo modo si migliora anche il processo decisionale, ed è possibile risolvere problemi specifici in modo più efficiente.
Il futuro dell'IT è già qui, e si chiama multicloud ibrido. Noi di Nutanix conosciamo le sfide che le aziende devono affrontare, e aiutarle in questo percorso è la nostra missione. Abbiamo sempre lavorato instancabilmente per rendere più semplice la gestione di dati e applicazioni nel cloud, e grazie a questo impegno siamo qui per offrirti un ventaglio di soluzioni – tra cui la Nutanix Cloud Platform – che ti aiutano a superare gli ostacoli comuni che limitano la tua competitività.
L'AI e gli LLM sono un tassello sempre più importante per il successo delle aziende moderne, e Nutanix offre soluzioni innovative per sfruttare la potenza di queste tecnologie e metterla al tuo servizio. Una di queste è la RAG (Retrieval‑Augmented Generation): al momento stiamo testando i sistemi RAG sulla nostra infrastruttura interna, per capire meglio come possono rendere più efficienti e performanti le soluzioni basate sull'AI della tua organizzazione.