Cos'è la generazione aumentata dal recupero (RAG)?

La generazione aumentata dal recupero (RAG) rappresenta un innovativo framework di intelligenza artificiale ibrido, progettato per potenziare significativamente i grandi modelli linguistici (LLM). Questa architettura combina la capacità generativa degli LLM con l'accesso a fonti di dati esterne e costantemente aggiornate. Invece di fare affidamento esclusivamente su un corpus di dati di addestramento statico e predefinito, la RAG è in grado di recuperare documenti o informazioni pertinenti in tempo reale, al momento dell'interrogazione, e di inserirli come contesto aggiuntivo per il modello. Questo meccanismo consente all'AI di produrre risposte notevolmente più accurate, attuali e specifiche per il dominio, superando le limitazioni intrinseche dei modelli addestrati su dati fissi.

La RAG si sta rapidamente affermando come l'architettura di riferimento per la creazione di applicazioni AI di livello aziendale. Dati recenti di sondaggi indicano che oltre il 60% delle organizzazioni sta attualmente sviluppando strumenti di recupero basati sull'AI. L'obiettivo principale è migliorare l'affidabilità delle risposte, ridurre il fenomeno delle "allucinazioni" (ovvero la generazione di informazioni errate o inventate) e personalizzare gli output utilizzando i dati interni dell'azienda. Con l'espansione dell'AI generativa in funzioni aziendali critiche come il servizio clienti, la gestione della conoscenza interna e la compliance normativa, la capacità della RAG di colmare il divario tra l'AI generale e la conoscenza specifica di un'organizzazione la rende una base indispensabile per implementazioni affidabili e di successo nel mondo reale.

Come funziona la generazione aumentata dal recupero (RAG)

La RAG migliora l'output di un modello linguistico iniettandogli informazioni contestualmente rilevanti e in tempo reale, recuperate da una fonte di dati esterna. Quando un utente invia una query, il sistema attiva per prima cosa il modello di recupero. Questo modello utilizza un database vettoriale per identificare e "recuperare" documenti, database o altre fonti che contengono informazioni semanticamente simili o pertinenti alla query. Una volta identificate, le informazioni recuperate vengono combinate con il prompt iniziale dell'utente e inviate a un modello di AI generativa, che sintetizza le nuove informazioni integrandole nel proprio modello di generazione. Questo processo permette all'LLM di produrre risposte più accurate e contestualmente consapevoli, basate su dati specifici dell'azienda o aggiornati, anziché limitarsi a ciò che ha appreso durante la fase di addestramento.

Le pipeline RAG comprendono tipicamente quattro fasi distinte: preparazione e suddivisione dei documenti (chunking), indicizzazione vettoriale, recupero e aumento del prompt. Questo flusso di processo offre agli sviluppatori la flessibilità di aggiornare le fonti di dati senza la necessità di riaddestrare l'intero modello, rendendo la RAG una soluzione scalabile ed economicamente vantaggiosa per la creazione di applicazioni LLM in svariati domini, come il supporto clienti, le basi di conoscenza e la ricerca interna.

Le limitazioni dei grandi modelli linguistici (LLM) tradizionali

Gli LLM utilizzano modelli di deep learning e vengono addestrati su enormi dataset per comprendere, riassumere e generare contenuti originali. La maggior parte degli LLM è addestrata su un'ampia gamma di dati pubblici, il che consente a un singolo modello di rispondere a molti tipi di compiti o domande. Tuttavia, una volta addestrati, molti LLM non sono in grado di accedere a dati successivi al loro punto di cutoff di addestramento. Questo rende gli LLM statici e può portarli a rispondere in modo errato, fornire risposte obsolete o "allucinare" quando vengono poste domande su dati su cui non sono stati addestrati.

Perché gli LLM possano fornire risposte pertinenti e specifiche, le organizzazioni hanno bisogno che il modello comprenda il loro dominio e fornisca risposte basate sui loro dati, invece di risposte ampie e generalizzate. Ad esempio, le organizzazioni costruiscono bot di supporto clienti con LLM, e queste soluzioni devono fornire risposte specifiche dell'azienda alle domande dei clienti. Altre stanno costruendo bot di domande e risposte interni che dovrebbero rispondere alle domande dei dipendenti sui dati HR interni. Come possono le aziende costruire tali soluzioni senza riaddestrare questi modelli?

Risolvere i limiti con la RAG

Un modo semplice e popolare per utilizzare i propri dati è fornirli come parte del prompt con cui si interroga il modello LLM. Questo è ciò che viene chiamato generazione aumentata dal recupero (RAG), poiché si recuperano i dati pertinenti e li si usa come contesto aumentato per l'LLM. Invece di fare affidamento esclusivamente sulla conoscenza derivata dai dati di addestramento, un flusso di lavoro RAG estrae informazioni pertinenti e collega gli LLM statici con il recupero di dati in tempo reale. Con l'architettura RAG, le organizzazioni possono implementare qualsiasi modello LLM e aumentarlo per restituire risultati pertinenti per la loro organizzazione, fornendogli una piccola quantità dei loro dati senza i costi e il tempo della messa a punto (fine-tuning) o del pre-addestramento del modello.

Casi d'uso della RAG

Esistono numerosi casi d'uso per la RAG. I più comuni includono:

  • Chatbot di domande e risposte: L'integrazione degli LLM con i chatbot consente loro di derivare automaticamente risposte più accurate da documenti aziendali e basi di conoscenza. I chatbot sono utilizzati per automatizzare il supporto clienti e il follow-up dei lead del sito web per rispondere rapidamente a domande e risolvere problemi.

Ad esempio, Experian, un broker di dati multinazionale e società di segnalazione del credito al consumo, voleva costruire un chatbot per soddisfare le esigenze interne e quelle rivolte ai clienti. Si sono rapidamente resi conto che le loro attuali tecnologie di chatbot faticavano a scalare per soddisfare la domanda. Costruendo il loro chatbot GenAI – Latte – sulla piattaforma Databricks Data Intelligence, Experian è stata in grado di migliorare la gestione dei prompt e l'accuratezza del modello, il che ha dato ai loro team maggiore flessibilità per sperimentare con diversi prompt, affinare gli output e adattarsi rapidamente alle evoluzioni della tecnologia GenAI.

  • Motore di conoscenza: Poni domande sui tuoi dati (ad esempio, documenti HR, di compliance): I dati aziendali possono essere utilizzati come contesto per gli LLM e consentire ai dipendenti di ottenere facilmente risposte alle loro domande, comprese domande HR relative a benefit e politiche e domande di sicurezza e compliance.

Un esempio di come questo viene implementato si trova presso Cycle & Carriage, un gruppo automobilistico leader nel sud-est asiatico. Hanno adottato Databricks Mosaic AI per sviluppare un chatbot RAG che migliora la produttività e l'engagement dei clienti attingendo alle loro basi di conoscenza proprietarie, come manuali tecnici, trascrizioni del supporto clienti e documenti di processo aziendale. Ciò ha reso più facile per i dipendenti cercare informazioni tramite query in linguaggio naturale che forniscono risposte contestuali e in tempo reale.

Benefici chiave dell'approccio RAG

L'approccio RAG offre una serie di vantaggi fondamentali, tra cui:

  • Riduzione delle allucinazioni: Fornisce agli LLM dati recenti, pertinenti e concreti per minimizzare la probabilità di generare risposte imprecise o fuorvianti.
  • Informazioni aggiornate: Permette ai modelli di accedere e incorporare le informazioni più recenti, superando il cutoff dei dati di addestramento originale del modello.
  • Efficienza in termini di costi e tempo: Elimina la necessità di costosi e lunghi processi di riaddestramento o messa a punto del modello per ogni aggiornamento dei dati.
  • Governance e sicurezza dei dati: Offre controlli granulari sull'accesso ai dati, garantendo che i modelli utilizzino solo informazioni autorizzate e sicure.
  • Personalizzazione e specificità del dominio: Consente agli LLM di fornire risposte che sono specifiche per il contesto di un'organizzazione o di un settore.

RAG vs. fine-tuning

La RAG è un ottimo punto di partenza, essendo facile da implementare e potenzialmente del tutto sufficiente per alcuni casi d'uso. La messa a punto (fine-tuning) è più appropriata in una situazione diversa, quando si desidera che il comportamento dell'LLM cambi, o che impari un "linguaggio" diverso. Queste due tecniche non si escludono a vicenda. Come passo futuro, è possibile considerare la messa a punto di un modello per comprendere meglio il linguaggio del dominio e la forma di output desiderata, e anche utilizzare la RAG per migliorare la qualità e la pertinenza della risposta.

Modelli architettonici per la personalizzazione delle applicazioni LLM

Esistono quattro modelli architettonici da considerare quando si personalizza un'applicazione LLM con i dati della propria organizzazione. Queste tecniche sono delineate di seguito e non si escludono a vicenda. Piuttosto, possono (e dovrebbero) essere combinate per sfruttare i punti di forza di ciascuna.

  • Prompt Engineering: Si riferisce alla creazione di istruzioni chiare e contestualmente ricche per guidare l'LLM verso la risposta desiderata. È il metodo più semplice e veloce per influenzare l'output di un modello.
  • Retrieval Augmented Generation (RAG): Come discusso, integra l'LLM con un sistema di recupero dati esterno per fornire contesto aggiornato e specifico al momento della query.
  • Fine-tuning: Implica l'ulteriore addestramento di un modello pre-esistente su un dataset più piccolo e specifico per un compito o un dominio. Questo modifica i pesi del modello per migliorare le sue prestazioni su compiti specifici o per adattarlo a uno stile linguistico particolare.
  • Pre-training: È il processo iniziale di addestramento di un LLM su un vasto corpus di dati per sviluppare una comprensione generale del linguaggio. È la base su cui si costruiscono tutti i modelli, ma richiede enormi risorse computazionali.

Indipendentemente dalla tecnica selezionata, la costruzione di una soluzione in modo ben strutturato e modulare assicura che le organizzazioni siano preparate a iterare e adattarsi. Maggiori informazioni su questo approccio e altro ancora sono disponibili in The Big Book of MLOps.

Sfide nell'implementazione della RAG su larga scala

L'implementazione della RAG su larga scala introduce diverse sfide tecniche e operative:

  • Scalabilità: La gestione di grandi volumi di dati e di richieste in tempo reale richiede infrastrutture robuste e ottimizzate.
  • Qualità dei dati: L'efficacia della RAG dipende direttamente dalla qualità, pertinenza e freschezza dei dati recuperati. Dati scadenti possono portare a risposte imprecise.
  • Latenza: Il processo di recupero e integrazione dei dati deve essere sufficientemente veloce per non introdurre ritardi inaccettabili nell'esperienza utente.
  • Complessità: La progettazione, l'implementazione e la manutenzione di pipeline RAG complesse richiedono competenze specialistiche.

Un flusso di lavoro RAG comunemente adottato

Esistono molti modi per implementare un sistema di generazione aumentata dal recupero, a seconda delle esigenze specifiche e delle sfumature dei dati. Di seguito è riportato un flusso di lavoro comunemente adottato per fornire una comprensione fondamentale del processo:

  1. Ingestione e preparazione dei documenti: I documenti vengono raccolti da varie fonti, puliti e suddivisi in "chunk" (frammenti) più piccoli e gestibili, adatti all'indicizzazione.
  2. Creazione dell'indice vettoriale: I chunk di testo vengono trasformati in embedding vettoriali (rappresentazioni numeriche del loro significato semantico) utilizzando modelli di embedding. Questi vettori vengono poi archiviati in un database vettoriale, che consente una ricerca di similarità efficiente.
  3. Recupero: Quando un utente presenta una query, essa viene convertita in un embedding vettoriale. Il database vettoriale viene quindi interrogato per trovare i chunk di documenti più semanticamente simili alla query.
  4. Aumento del prompt: I chunk recuperati vengono combinati con la query originale dell'utente per creare un prompt aumentato. Questo prompt fornisce al modello LLM il contesto necessario.
  5. Generazione della risposta: L'LLM riceve il prompt aumentato e genera una risposta basata sia sulla sua conoscenza interna che sul contesto fornito dai documenti recuperati.

Elementi architettonici chiave raccomandati da Databricks per la RAG

  • Livello di orchestrazione: Gestisce l'intero flusso di lavoro RAG, coordinando le interazioni tra i vari componenti.
  • LLM: Il modello generativo che produce la risposta finale.
  • Database vettoriale: Archivia gli embedding dei documenti e facilita il recupero efficiente dei dati.
  • Feature Store: Gestisce e fornisce le funzionalità (features) per i modelli, garantendo coerenza e riutilizzabilità.
  • Osservabilità e monitoraggio: Strumenti per tracciare le prestazioni del sistema, identificare problemi e garantire un funzionamento ottimale.

Esempi reali di implementazione della RAG

Diverse aziende stanno già sfruttando la RAG per migliorare le loro operazioni:

  • JetBlue: Ha implementato "BlueBot", un chatbot che utilizza modelli AI generativi open source integrati con dati aziendali, alimentato da Databricks. Questo chatbot può essere utilizzato da tutti i team di JetBlue per accedere a dati governati dai ruoli. Ad esempio, il team finanziario può visualizzare dati da SAP e depositi normativi, ma il team operativo vedrà solo informazioni sulla manutenzione.
  • Chevron Phillips Chemical: Utilizza Databricks per supportare le proprie iniziative di AI generativa, inclusa l'automazione dei processi documentali.
  • Thrivent Financial: Sta esplorando l'AI generativa per migliorare la ricerca, produrre insight meglio riassunti e più accessibili e aumentare la produttività dell'ingegneria.

Risorse aggiuntive sulla RAG

Per coloro che desiderano approfondire l'argomento RAG, sono disponibili numerose risorse, tra cui:

È possibile anche contattare Databricks per programmare una demo e discutere i vostri progetti di LLM e generazione aumentata dal recupero (RAG).

L'evoluzione della RAG

La RAG si sta rapidamente evolvendo da una soluzione improvvisata a un componente fondamentale dell'architettura AI aziendale. Con la crescente capacità degli LLM, il ruolo della RAG si sta trasformando. Si sta muovendo dal semplice colmare le lacune di conoscenza a sistemi che sono più strutturati, modulari e intelligenti. Un modo in cui la RAG si sta sviluppando è attraverso architetture ibride che combinano i suoi punti di forza con altre tecniche, creando soluzioni AI sempre più sofisticate e adatte alle esigenze complesse del mondo aziendale.