L’avvento dei modelli di linguaggio di grandi dimensioni (LLM) è stato un fulmine a ciel sereno per le aziende. Gli LLM, infatti, hanno rivoluzionato il mondo del lavoro grazie alla loro capacità di riconoscere, analizzare e generare contenuti a partire dai dati aziendali.
RAG (Retrieval-Augmented Generation) è una tecnica di intelligenza artificiale che, grazie alla sua capacità di recuperare i dati in tempo reale per generare contenuti, migliora le performance dei modelli di linguaggio senza i costi proibitivi legati all’addestramento di un modello personalizzato.
In questo articolo abbiamo esplorato i casi d’uso, il funzionamento e i processi della RAG e in che modo plasmerà il futuro dell’AI per le aziende.
Cos’è la RAG?
RAG (Retrieval-Augmented Generation) è una tecnica di ottimizzazione dell'output di un modello di linguaggio di grandi dimensioni attraverso l’introduzione di dati esterni nel prompt del modello. L’obiettivo di questo processo è che il modello di linguaggio possa fare riferimento a una base di conoscenza affidabile al di fuori delle sue fonti dati di addestramento prima di generare una risposta.
In questo modo, il modello di linguaggio può attingere sia a dati strutturati come i database o i CRM, sia a dati non strutturati, come documenti, email o contenuti del web, il tutto senza processi di addestramento lunghi e costosi.
La tua azienda può introdurre i modelli di linguaggio nei suoi processi in 3 modi, ognuno con pro e contro:
1. Zero shot
Il modello di linguaggio si affida esclusivamente ai dati di addestramento. È l’approccio più semplice e conveniente da un punto di vista economico, ma offre poche possibilità di evoluzione. Inoltre, modelli di questo tipo non eccellono nella risposta a domande aziendali specifiche.
2. Fine-tuning
Attraverso l’addestramento del modello su un database specifico, la tua azienda può personalizzarlo in base ai suoi bisogni. Questo processo è efficace, ma molto impegnativo in termini di risorse economiche e computazionali.
3. RAG
Questa tecnica è l’alternativa ideale ai due metodi precedenti. Anziché addestrare un modello, si possono attingere le informazioni aziendali per arricchire il prompt così che il modello possa utilizzarle per dare risposte accurate e pertinenti. È un ottimo approccio per conciliare ottime performance del modello con costi contenuti.
Componenti principali della RAG: recupero di informazioni pertinenti
Sono tre le componenti fondamentali della RAG: recupero di informazioni pertinenti, riordinamento delle informazioni (opzionale) e generazione delle risposte.
Nella prima fase, quando una persona fa una domanda, questa viene convertita in una rappresentazione vettoriale in modo che il sistema possa riconoscerla, fare ricerca nelle fonti dati (anch’esse storicizzare in un database vettoriale) e restituire una risposta coerente.
La conversione dei dati in rappresentazioni vettoriali è possibile grazie a un modello di embedding, di solito più piccolo di un LLM, che converte i dati in vettori, ovvero rappresentazioni numeriche in uno spazio multidimensionale.
Vediamo un esempio per capire meglio. Abbiamo due libri che affrontano argomenti simili; uno parla di computer fissi e l’altro di computer portatili. Se convertiamo queste informazioni in vettori (rappresentazioni numeriche), avremo qualcosa tipo:
- Libro 1 (computer fissi): 1,1,1
- Libro 2 (portatili): 1,1,2
Due sequenze numeriche così simili tra loro indicano una “vicinanza” tra i due vettori e, di conseguenza, una vicinanza di contenuti. Questo esempio è molto semplificato; nella realtà le sequenze numeriche sono molto più lunghe e i modelli di embedding possono arrivare ad avere migliaia di dimensioni, ma il principio è lo stesso.
Vediamo ora un esempio di recupero di informazioni pertinenti grazie alla rappresentazione vettoriale. Poniamo il caso che una persona che lavora nel settore bancario chieda: “Quali sono gli attuali tassi ipotecari?”
- Il modello di embedding converte la domanda in una rappresentazione vettoriale.
- Il modello effettua poi una ricerca vettoriale per identificare le sequenze numeriche più simili all’interno del database.
- A questo punto il sistema restituisce i primi K vettori più vicini, ordinati per affinità. Se K (il parametro) è 3, ad esempio, i vettori possono identificare corrispondenze che si avvicinano alla domanda iniziale, come “l’attuale tasso ipotecario è del 3% per un periodo di vent’anni”, "i tassi ipotecari variabili partono dal 3,5% a seconda del punteggio di credito", o "a settembre 2024, i tassi ipotecari sono aumentati dello 0,1%". Queste informazioni andranno ad arricchire il prompt, permettendo al modello di linguaggio di elaborarle e di formulare la risposta più pertinente.
Ricordati che per costruire un sistema di recupero delle informazioni efficace è importante scegliere il modello di embedding più adatto e capire come incorporare correttamente documenti di grandi dimensioni (come i libri, che richiedono un lavoro di preparazione e suddivisione in blocchi) e dati non strutturati (come i PDF o le immagini, che hanno una pipeline più complessa). È importante anche selezionare le metriche di distanza appropriate.
Componenti principali della RAG: riordinamento delle informazioni e generazione di contenuti
La fase di recupero delle informazioni è veloce ma non sempre accurata, perché gli algoritmi operano per approssimazione e convertire del testo in numeri (come nell’esempio di prima) può portare a una perdita di informazioni. La fase di riordinamento è fondamentale proprio per rifinire e riorganizzare queste informazioni.
È una fase facoltativa separata dalla fase di recupero perché il database vettoriale è molto grande (può arrivare a contenere milioni di punti dati) e spacchettare il procedimento in due fasi distinte aiuta a ottenere risposte più accurate.
In breve, possiamo dire che la fase di recupero delle informazioni restringe il dataset, la fase di riordinamento delle informazioni, più lenta ma più precisa, seleziona le risposte migliori.
Una volta ottenute tutte le informazioni necessarie per rispondere correttamente alla domanda dell’utente, il modello di linguaggio genera risposte specifiche al contesto e basate su fatti concreti.
Architettura della RAG
Portare la RAG in azienda richiede un’architettura del sistema ben definita che comprenda le seguenti componenti:
1. Dati
Dati strutturati e non strutturati, per costruire una base di informazioni solida.
2. Database vettoriale
Informazioni convertite in embedding e storicizzate in un database vettoriale, fondamentale per il processo di recupero.
3. Servizio di inferenza LLM
Un servizio che processa l’input del prompt e recupera le informazioni più pertinenti dal database vettoriale, per permettere al modello di linguaggio di generare risposte più precise con il prompt arricchito.
Esempi di RAG in azienda
Come abbiamo visto, la RAG migliora le performance dei modelli di linguaggio, restituendo risposte più precise e supportando le persone in azienda che desiderano prendere decisioni più informate. Vediamo qualche esempio:
1. Assistenza clienti e assistenti virtuali
La RAG permette ad assistenti virtuali e applicazioni di assistenza clienti di personalizzare l’interazione con il cliente. Inoltre, la RAG aiuta il modello di linguaggio a generare risposte personalizzate attingendo da informazioni esterne durante l’esecuzione, così che le informazioni esterne non vengano memorizzate in modo permanente nel modello. Questo approccio garantisce il rispetto dei requisiti di privacy, specialmente quando il modello di linguaggio opera in locale, senza inviare dati sensibili a server esterni all’azienda.
2. Generazione e riassunto di contenuti
La RAG può automatizzare molte attività, tra cui la generazione di report aziendali, descrizioni di prodotto e moderazione dei contenuti, garantendo risultati coerenti e pertinenti.
3. Sistemi di supporto alle decisioni
Le applicazioni RAG ottimizzano il processo di decision-making aiutando le persone in azienda a recuperare informazioni di valore e generare insight azionabili, che a loro volta si trasformano in valore aggiunto per l’azienda. È particolarmente utile per le piattaforme di Decision Intelligence.
RAG: benefici per le aziende dei settori regolamentati
La RAG non è una soluzione veloce, efficace e conveniente per tutte le aziende, e in particolare quelle che operano in settori altamente regolamentati. La RAG, infatti, non introduce dati sensibili nel modello di linguaggio; in questo modo le aziende possono proteggere i dati aziendali e i materiali protetti da copyright ed evitare l’esposizione dei dati sensibili.
Inoltre, la RAG può gestire grandi quantità di dati aziendali. In questo modo il sistema rimane scalabile anche per le aziende con grandi repository di dati. Ad ogni modo, lo scenario più semplice prevede una fonte di dati per ciascun caso d'uso in cui le informazioni sono elaborate e memorizzate.
Sfide e considerazioni sulla RAG
Nonostante i numerosi vantaggi, la RAG presenta anche delle sfide. Ecco alcuni elementi da tenere in considerazione prima di adottare questa soluzione:
1. Portata e scalabilità
Se da un lato è vero che RAG può integrare molte fonti di dati aziendali, è altrettanto vero che “farlo” può essere molto complesso, soprattutto quando si ha a che fare con dataset molto grandi. Per rendere il processo il più semplice possibile, è necessario implementare una nuova pipeline, aggiornare il database vettoriale e assicurarsi che ci sia compatibilità con l’infrastruttura aziendale esistente. È un processo impegnativo e sfidante per molte aziende. Inoltre, a causa delle dimensioni limitate del contesto degli LLM, i documenti di grandi dimensioni devono essere spacchettati e divisi in parti più piccole, il che richiede una pianificazione accurata per mantenere coerenza e pertinenza nel processo di recupero delle informazioni.
2. Manutenzione dei dati
Qualsiasi informazione obsoleta o irrilevante renderà l’intero processo inefficiente. Fare una manutenzione regolare dei dataset è importante per garantire risultati affidabili ed evitare imprecisioni.
3. Sicurezza e privacy dei dati
Uno dei principali timori sulla RAG è il rischio di violazioni dei dati aziendali, soprattutto se sensibili. Il sistema di RAG recupera solo i dati per i quali ha l’autorizzazione. Le informazioni presenti all’interno del database, infatti, sono visibili solo a chi ha i permessi. In questo modo, i dati aziendali rimangono sempre al sicuro.
RAG per la tua azienda: da dove iniziare
1. Considerazioni sulla latenza
Innanzitutto, dovrai valutare la latenza del sistema, ovvero il tempo che passa tra la domanda e la risposta eche dipende dalla pipeline. Più è bassa la latenza, più veloci saranno le risposte. Come abbiamo visto, la fase di recupero delle informazioni è rapida, mentre quella di riordinamento è più lenta. Puoi comunque bilanciare precisione e rapidità scegliendo di limitare il numero di documenti ottimizzati nella fase di riordinamento delle informazioni, che è sempre una fase opzionale.
2. Integrazione dei dati
Tieni in considerazione l’integrazione di più fonti dati all’interno del database vettoriale. Il sistema dovrebbe integrare le informazioni inserite e, insieme, suddividerle secondo parametri logici per rispettare vincoli di privacy e garantire l’accesso solo ai dati autorizzati.
3. Manutenzione del sistema
Mantenere il database vettoriale sempre aggiornato è fondamentale per garantire risposte sempre precise e accurate. Assicurati di tenere il sistema monitorato, per identificare subito anomalie o malfunzionamenti.
Il futuro della RAG: previsioni e trend
Gli algoritmi e i modelli di classificazione delle fasi di recupero e di riordinamento delle informazioni diventeranno sempre più precisi, per permettere al sistema di identificare le informazioni pertinenti con maggior accuratezza e in tempi più rapidi.
Ad esempio, se si amplia la finestra di contesto, il modello potrà incorporare più documenti all’interno dell’input del prompt. Di conseguenza, miglioreranno i risultati e le risposte date dal modello di linguaggio.
O ancora, i progressi nella suddivisione in blocchi dei documenti di grandi dimensioni permetteranno al modello di lavorare con segmenti di testo sempre più grandi, rendendo l’intero processo ancora più efficiente.
Oggi la RAG è una possibilità concreta per le aziende con grandi quantità di dati che desiderano conciliare ottime performance del modello di linguaggio con costi ridotti. È anche la soluzione più indicata per le aziende che operano in settori regolamentati perché genera risposte affidabili senza incorporare dati sensibili nel modello.
Come abbiamo visto, ci sono anche delle sfide: per le aziende, la privacy dei propri dati sarà sempre una priorità. Unicorn è la soluzione AI di iGenius che incorpora la RAG all’interno di modelli personalizzati e privati, garantendo la totale sicurezza e privacy dei dati aziendali.
La tua azienda è pronta a questa trasformazione?
Domande frequenti
Sebbene il RAG sia scalabile, efficiente e conveniente, e fornisca risposte più affidabili e aggiornate, il fine-tuning (o personalizzazione del modello) è indicato per compiti specifici focalizzati su dataset specializzati, come la sentiment analysis. La scelta dipende dai bisogni specifici e dalle risorse della tua azienda.
In presenza di ambiguità, la RAG chiede ulteriori domande per comprendere meglio la domanda iniziale dell’utente. In alternativa, può generare tante risposte quante sono le interpretazioni della domanda; o ancora, può mettere le risposte in ordine di importanza in base ad altre informazioni contestuali come le interazioni dell’utente o le preferenze.
Un database vettoriale è un insieme di dati storicizzati sotto forma di rappresentazioni numeriche. Grazie a questi database, i modelli di linguaggio possono confrontare tra loro i dati, identificare relazioni e comprendere il contesto. È alla base del funzionamento della RAG.