Che cos'è la retrieval augmented generation (RAG)?

Cos'è la retrieval augmented generation (RAG)?

La retrieval-augmented generation (RAG) è un'architettura che ottimizza le prestazioni di un modello di intelligenza artificiale (AI) collegandolo a knowledge base esterne. La RAG aiuta i modelli linguistici di grandi dimensioni (LLM) a fornire risposte più pertinenti con una qualità superiore.

I modelli di AI generativa (gen AI) sono addestrati su set di dati di grandi dimensioni e fanno riferimento a queste informazioni per generare output. Tuttavia, i set di dati di addestramento non sono infiniti e sono limitati alle informazioni a cui può accedere lo sviluppatore di AI, ovvero opere di pubblico dominio, articoli su Internet, contenuti sui social media e altri dati accessibili al pubblico.

La RAG consente ai modelli di AI generativa di accedere a knowledge base esterne aggiuntive, come dati organizzativi interni, riviste accademiche e set di dati specializzati. Integrando informazioni rilevanti nel processo di generazione, i chatbot e altri strumenti di elaborazione del linguaggio naturale (NLP) possono creare contenuti specifici più accurati per un dominio, senza bisogno di ulteriore addestramento.

Quali sono i benefici della RAG?

La RAG consente alle organizzazioni di evitare gli elevati costi di riaddestramento necessari per adattare i modelli di AI generativa ai casi d'uso specifici del dominio. Le aziende possono utilizzare la RAG per colmare le lacune nella knowledge base di un modello di machine learning, in modo che possa fornire risposte migliori.

I principali benefici della RAG includono:

  • Accesso ai dati attuali specifici del dominio
  • Maggiore fiducia degli utenti
  • Casi d'uso ampliati
  • Controllo degli sviluppatori e manutenzione dei modelli migliorati
  • Maggiore sicurezza dei dati

Implementazione e scalabilità dell'AI efficienti in termini di costi

Durante l'implementazione dell'AI, la maggior parte delle organizzazioni seleziona innanzitutto un foundation model, ovvero i modelli di deep learning che fungono da base per lo sviluppo di versioni più avanzate. I foundation model dispongono di knowledge base generalizzate, popolate da dati di addestramento disponibili al pubblico, come i contenuti Internet disponibili al momento dell'addestramento.

Riaddestrare o mettere a punto un foundation model, ovvero addestrarlo ulteriormente su nuovi dati in un set di dati più piccolo e specifico del dominio, è costoso dal punto di vista computazionale e richiede molte risorse. Il modello regola alcuni o tutti i suoi parametri per adattare le sue prestazioni ai nuovi dati specializzati.

Con la RAG, le aziende possono utilizzare fonti di dati interne autorevoli e ottenere aumenti simili delle prestazioni del modello senza doverlo riaddestrare. Le aziende possono scalare l'implementazione delle applicazioni di AI in base alle necessità, mitigando gli aumenti dei costi e delle risorse.

Accesso ai dati attuali e ai dati specifici del dominio

I modelli di AI generativa hanno un limite di conoscenza, ovvero il momento in cui i loro dati di addestramento sono stati aggiornati l'ultima volta. Via via che un modello invecchia oltre il limite di conoscenza, perde rilevanza nel tempo. I sistemi RAG collegano i modelli con dati esterni supplementari in tempo reale e incorporano informazioni aggiornate nelle risposte generate.

Le aziende utilizzano la RAG per dotare i modelli di informazioni specifiche, come i dati proprietari dei clienti, le ricerche autorevoli e altri documenti pertinenti.

I modelli RAG possono anche connettersi a Internet con le application programming interface (API) e accedere in tempo reale ai feed dei social media e alle recensioni per una migliore comprensione del sentiment del mercato. Nel frattempo, l'accesso alle ultime notizie e ai motori di ricerca può portare a risposte più accurate, poiché i modelli incorporano le informazioni recuperate nel processo di generazione del testo.

Minore rischio di allucinazioni AI

I modelli di AI generativa come GPT di OpenAI funzionano rilevando i pattern nei loro dati, quindi utilizzandoli per prevedere i risultati più probabili in base agli input degli utenti. A volte i modelli rilevano pattern che non esistono. Un'allucinazione o confabulazione si verifica quando i modelli presentano informazioni errate o inventate come se fossero reali.

La RAG lega gli LLM a conoscenze specifiche supportate da dati fattuali, autorevoli e aggiornati. Rispetto a un modello generativo che opera solo sui dati di addestramento, i modelli RAG tendono a fornire risposte più accurate nel contesto dei loro dati esterni. Sebbene la RAG possa ridurre il rischio di allucinazioni, non può rendere un modello a prova di errore.

Maggiore fiducia degli utenti

I chatbot, un'implementazione comune dell'AI generativa, rispondono alle domande poste dagli utenti umani. Affinché un chatbot come ChatGPT abbia successo, gli utenti devono considerare il suo output come affidabile. I modelli RAG possono includere citazioni alle fonti di informazioni nei loro dati esterni quale parte delle loro risposte.

Quando i modelli RAG citano le loro fonti, gli utenti umani possono verificare quegli output per confermare l'accuratezza mentre consultano le opere citate per ulteriori chiarimenti e informazioni aggiuntive. Il data storage aziendale è spesso un labirinto complesso e basato su silos di dati. Le risposte RAG con citazioni indirizzano gli utenti direttamente verso i materiali di cui necessitano.

Casi d'uso estesi

L'accesso a più dati significa che un modello può gestire una gamma più ampia di prompt. Le aziende possono ottimizzare i modelli e trarne più valore ampliando le proprie knowledge base, espandendo a loro volta i contesti in cui tali modelli generano risultati affidabili.

Combinando l'AI generativa con i sistemi di recupero, i modelli RAG possono recuperare e integrare informazioni da più fonti di dati in risposta a query complesse.

Controllo degli sviluppatori e manutenzione dei modelli migliorati

Le organizzazioni moderne elaborano costantemente enormi quantità di dati, dagli input degli ordini alle proiezioni di mercato, fino al turnover dei dipendenti e molto altro. La creazione di una pipeline di dati efficace e il data storage sono fondamentali per una solida implementazione RAG.

Allo stesso tempo, gli sviluppatori e i data scientist possono modificare in qualsiasi momento le fonti di dati a cui i modelli hanno accesso. Riposizionare un modello da un'attività all'altra diventa un compito di adeguamento delle sue fonti di informazioni esterne, anziché di perfezionamento o riaddestramento. Se è necessaria una messa a punto, gli sviluppatori possono dare priorità a questo lavoro anziché gestire le fonti dei dati del modello.

Maggiore sicurezza dei dati

Poiché la RAG collega un modello a fonti di informazioni esterne anziché incorporare tali informazioni nei dati di addestramento del modello, mantiene un divario tra il modello e le informazioni esterne. Le aziende possono utilizzare la RAG per conservare i dati di prima parte e contemporaneamente concedere ai modelli l'accesso a essi; tale accesso può essere revocato in qualsiasi momento.

Tuttavia, le aziende devono essere vigili per mantenere la sicurezza degli stessi database esterni. La RAG utilizza i database vettoriali, che a loro volta utilizzano gli embedding per convertire i punti dati in rappresentazioni numeriche. Se questi database vengono violati, gli aggressori possono invertire il processo di embedding del vettore e accedere ai dati originali, soprattutto se il database vettoriale non è crittografato.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Casi d'uso della RAG

I sistemi RAG consentono essenzialmente agli utenti di interrogare i database utilizzando un linguaggio colloquiale. Le capacità di risposta alle domande basate sui dati dei sistemi RAG sono state applicate in una serie di casi d'uso, tra cui:

  • Chatbot specializzati e assistenti virtuali
     

  • Ricerca
     

  • Generazione di contenuti
     

  • Analisi di mercato e sviluppo di prodotti
     

  • Knowledge engine
     

  • Servizi di raccomandazione

Chatbot specializzati e assistenti virtuali

Le aziende che desiderano automatizzare il supporto clienti potrebbero scoprire che i loro modelli AI non dispongono delle conoscenze specialistiche necessarie per assistere adeguatamente i clienti. I sistemi RAG basati su AI collegano i modelli ai dati interni per fornire ai chatbot del supporto clienti le ultime conoscenze sui prodotti, i servizi e le politiche di un'azienda.

Lo stesso principio si applica agli avatar AI e agli assistenti personali. Il collegamento del modello sottostante con i dati personali dell'utente e il riferimento alle interazioni precedenti offre un'esperienza utente più personalizzata.

Ricerca

Poiché sono in grado di leggere i documenti interni e di interfacciarsi con i motori di ricerca, i modelli RAG eccellono nella ricerca. Gli analisti finanziari possono generare report specifici per il cliente, con informazioni di mercato aggiornate e attività di investimento precedenti, mentre i professionisti del settore medico possono interagire con le cartelle cliniche dei pazienti e i dati ufficiali.

Generazione di contenuti

La capacità dei modelli RAG di citare fonti autorevoli può portare alla generazione di contenuti più affidabili. Sebbene tutti i modelli di AI generativa possano avere delle allucinazioni, la RAG rende più facile per gli utenti verificare la precisione degli output.

Analisi di mercato e sviluppo di prodotti

I leader aziendali possono consultare le tendenze dei social media, l'attività della concorrenza, le ultime notizie rilevanti per il settore e altre fonti online per informare meglio le decisioni aziendali. Nel frattempo, i product manager possono fare riferimento al feedback dei clienti e ai comportamenti degli utenti quando prendono in considerazione le scelte di sviluppo future.

Knowledge engine

I sistemi RAG possono fornire ai dipendenti informazioni aziendali interne. Processi di onboarding semplificati, supporto più rapido per le risorse umane e consigli on-demand per i dipendenti sul campo sono solo alcuni dei modi in cui le aziende possono utilizzare la RAG per migliorare le prestazioni lavorative.

Servizi di raccomandazione

Analizzando il comportamento degli utenti precedenti e confrontandolo con le offerte attuali, i sistemi RAG forniscono servizi di raccomandazione più accurati. Una piattaforma di e-commerce e un servizio di distribuzione dei contenuti possono entrambi utilizzare la RAG per coinvolgere i clienti e continuare a farli acquistare.

AI Academy

Ascesa dell'AI generativa nel mondo del business

Scopri di più sull'ascesa dell'AI generativa e cosa comporta per le aziende.

Come funziona la RAG?

La RAG funziona combinando modelli di recupero delle informazioni con modelli di AI generativa per produrre contenuti più autorevoli. I sistemi RAG interrogano una knowledge base e aggiungono ulteriore contesto a un prompt dell'utente prima di generare una risposta.

Gli LLM standard ricavano le informazioni dai set di dati di addestramento. La RAG aggiunge un componente di recupero delle informazioni al workflow dell'AI, raccogliendo informazioni pertinenti e inviandole al modello di AI generativa per migliorare la qualità e l'utilità della risposta.

I sistemi RAG seguono un processo in cinque fasi:

Un diagramma che mostra un processo RAG (retrieval augmented generation)
  1. L'utente invia un prompt.
     

  2. Il modello di recupero delle informazioni interroga la knowledge base per acquisire i dati pertinenti.
     

  3. Le informazioni pertinenti vengono restituite dalla knowledge base al livello di integrazione.
     

  4. Il sistema RAG progetta un prompt potenziato per l'LLM con un contesto migliorato dai dati recuperati.
     

  5. L'LLM genera un output e lo restituisce all'utente.

Questo processo illustra da dove deriva il nome RAG. Il sistema RAG recupera i dati dalla knowledge base, potenzia il prompt con il contesto aggiunto e genera una risposta.

Componenti di un sistema RAG

I sistemi RAG contengono quattro componenti principali:

  • La knowledge base: l'archivio di dati esterno del sistema.
  • Il retriever: un modello di AI che cerca nella knowledge base i dati pertinenti.
  • Il livello di integrazione: la parte dell'architettura RAG che ne coordina il funzionamento generale.
  • Il generatore: un modello di AI generativa che crea un output in base alla query dell'utente e ai dati recuperati.

Altri componenti potrebbero includere un ranker, che classifica i dati recuperati in base alla pertinenza, e un output handler, che formatta la risposta generata per l'utente.

La knowledge base

La prima fase nella realizzazione di un sistema RAG è la creazione di una knowledge base interrogabile. L'archivio dati esterno può contenere dati provenienti da innumerevoli fonti: PDF, documenti, guide, siti web, file audio e molto altro. Gran parte di questi dati saranno non strutturati, il che significa che non sono ancora stati etichettati.

I sistemi RAG utilizzano un processo chiamato embedding per trasformare i dati in rappresentazioni numeriche chiamate vettori. Il modello di embedding vettorializza i dati in uno spazio matematico multidimensionale, disponendo i punti dati in base alla somiglianza. I punti dati giudicati più vicini in termini di rilevanza l'uno all'altro sono posizionati l'uno accanto all'altro.

Le knowledge base devono essere continuamente aggiornate per mantenere la qualità e la pertinenza del sistema RAG.

Gli input LLM sono limitati alla finestra di contesto del modello, ovvero la quantità di dati che può elaborare senza perdere il contesto. La suddivisione di un documento in dimensioni più piccole aiuta a garantire che gli embedding risultanti non superino la finestra di contesto dell'LLM nel sistema RAG.

La dimensione del blocco è un iperparametro importante per il sistema RAG. Quando i blocchi sono troppo grandi, i punti dati possono diventare troppo generici e non corrispondere direttamente alle potenziali query dell'utente. Tuttavia, se i blocchi sono troppo piccoli, i punti dati possono perdere coerenza semantica.

Il retriever

La vettorializzazione dei dati prepara la knowledge base per la ricerca vettoriale semantica, ovvero una tecnica che identifica i punti del database simili alla query dell'utente. Gli algoritmi di machine learning per la ricerca semantica possono interrogare enormi database e identificare rapidamente le informazioni pertinenti, riducendo la latenza rispetto alle tradizionali ricerche con parole chiave.

Il modello di recupero delle informazioni trasforma la query dell'utente in un embedding, quindi cerca nella knowledge base embedding simili. I risultati vengono quindi restituiti dalla knowledge base.

Il livello di integrazione

Il livello di integrazione è il centro dell'architettura RAG, coordina i processi e passa i dati in tutta la rete. Con i dati aggiunti dalla knowledge base, il sistema RAG crea un nuovo prompt per il componente LLM. Questo prompt è composto dalla query dell'utente originale, più il contesto migliorato restituito dal modello di recupero.

I sistemi RAG utilizzano varie tecniche di prompt engineering per automatizzare la creazione efficace dei prompt e aiutare l'LLM a restituire la migliore risposta possibile. Nel frattempo, i framework di orchestrazione LLM come gli open source LangChain e LlamaIndex o IBM® watsonx Orchestrate governano il funzionamento complessivo di un sistema AI.

Il generatore

Il generatore crea un output in base al prompt potenziato che gli viene fornito dal livello di integrazione. Il prompt sintetizza l'input dell'utente con i dati recuperati e indica al generatore di considerare questi dati nella sua risposta. I generatori sono in genere dei modelli linguistici preaddestrati, come GPT, Claude o Llama.

Qual è la differenza tra RAG e messa a punto?

La differenza tra RAG e messa a punto è che la RAG consente a un LLM di interrogare una fonte di dati esterna, mentre la messa a punto addestra un LLM su dati specifici del dominio. Entrambi hanno lo stesso obiettivo generale, ovvero fare in modo che un LLM funzioni meglio in un dominio specifico.

RAG e messa a punto sono spesso in contrasto, tuttavia possono essere usati insieme. La messa a punto aumenta la familiarità del modello con il dominio previsto e i requisiti di output, mentre la RAG aiuta il modello a generare output pertinenti e di alta qualità.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Servizi AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live