Alan Zeichick | Tech Content Strategist | 19 settembre 2023
L'intelligenza artificiale generativa (AI) eccelle nella creazione di risposte di testo basate su modelli linguistici di grandi dimensioni (LLM, large language model) dove l'AI viene addestrata attraverso un numero enorme di datapoint. La buona notizia è che il testo generato è spesso facile da leggere e fornisce risposte dettagliate che sono ampiamente applicabili alle domande poste dal software, spesso definite come prompt.
La brutta notizia è che le informazioni utilizzate per generare la risposta sono limitate alle informazioni usate per addestrare l'intelligenza artificiale, spesso un LLM generalizzato. I dati del LLM potrebbero non essere stati aggiornati da settimane, mesi o anni e nel caso di un chatbot aziendale AI potrebbero non includere informazioni specifiche sui prodotti o servizi dell'organizzazione. Ciò può portare a risposte errate che erodono la fiducia che clienti e dipendenti ripongono nella tecnologia.
È qui che entra in gioco la retrieval-augmented generation (RAG). La RAG fornisce un modo per ottimizzare la produzione di un LLM con informazioni mirate senza modificare il modello alla sua base; quelle informazioni mirate possono essere più aggiornate rispetto al LLM, ma anche più precise nel caso di organizzazioni e settori specifici. Ciò significa che il sistema di intelligenza artificiale generativa può fornire risposte più appropriate ai prompt, e basare tali risposte su dati estremamente attuali.
La RAG si è fatta notare dagli sviluppatori di AI generativa dopo la pubblicazione di "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", un articolo del 2020 pubblicato da Patrick Lewis e un team di Facebook AI Research. Il concetto di RAG è stato accettato da molti ricercatori accademici e del settore, i quali lo vedono come un modo per migliorare significativamente il valore dei sistemi di intelligenza artificiale generativa.
Imagina un campionato sportivo che vuole che i fan e i media siano in grado di utilizzare la chat per accedere ai suoi dati e rispondere a domande su giocatori, squadre, storia e regole dello sport, statistiche e classifiche attuali. Un LLM generalizzato potrebbe rispondere a domande sulla storia e sulle regole o forse descrivere lo stadio di una squadra specifica. Non sarebbe in grado di parlare della partita della sera precedente o di fornire informazioni aggiornate su un particolare infortunio di un atleta perché non avrebbe tali informazioni, e poiché i LLM richiedono una significativa potenza di calcolo per riaddestrarsi, non è possibile aggiornare continuativamente i modelli.
Oltre al grande, statico LLM, il campionato sportivo possiede o può accedere a molte altre fonti di informazioni, tra cui database, data warehouse, documenti contenenti informazioni sui giocatori e feed di notizie in cui si parla nel dettaglio di ogni partita. La RAG consente all'AI generativa di acquisire queste informazioni. La chat può fornire informazioni più aggiornate, più appropriate dal punto di vista contestuale e più accurate.
In poche parole, la RAG aiuta i LLM a dare risposte migliori.
Concetti chiave
Considera tutte le informazioni di cui dispone un'organizzazione: i database strutturati, i PDF e altri documenti non strutturati, i blog, i feed delle notizie e le trascrizioni di chat delle sessioni di customer service passate. Nella RAG, questa vasta quantità di dati dinamici viene tradotta in un formato comune e memorizzata in una libreria di conoscenze accessibile dal sistema di intelligenza artificiale generativa.
I dati in quella knowledge library vengono quindi elaborati in rappresentazioni numeriche utilizzando un tipo speciale di algoritmo chiamato modello linguistico incorporato e poi memorizzati in un database vettoriale, il quale può essere rapidamente setacciato e utilizzato per recuperare le informazioni contestuali corrette.
Mettiamo il caso che un utente finale invii al sistema di intelligenza artificiale generativa un prompt specifico, ad esempio: "Dove si giocherà la partita di stasera, quale sarà la formazione iniziale e cosa dicono i giornalisti sull'incontro?" La query viene trasformata in un vettore e utilizzata per eseguire query sul database vettoriale, il quale recupera informazioni rilevanti per il contesto della domanda. Tali informazioni contestuali più il prompt originale vengono quindi inserite nel LLM, che genera una risposta testuale basata sia sulla sua conoscenza generalizzata non aggiornata sia sulle informazioni contestuali estremamente attuali.
È interessante notare che, mentre il processo di formazione del LLM generalizzato è lungo e costoso, gli aggiornamenti al modello RAG sono l'opposto. I nuovi dati possono essere caricati nel modello linguistico incorporato e tradotti in vettori su base continua e incrementale. Infatti, le risposte dell'intero sistema di AI generativa possono essere reinserite nel modello RAG, migliorandone così le performance e la precisione, perché, di base, sa come ha risposto in precedenza a una domanda simile.
Un ulteriore vantaggio della RAG deriva dal fatto che, utilizzando il database vettoriale, l'AI generativa può fornire la fonte specifica dei dati che cita nella sua risposta, cosa che i LLM non possono fare. Pertanto, se c'è un'inesattezza nell'output dell'AI generativa, il documento che contiene informazioni errate può essere rapidamente identificato e corretto, e le informazioni giuste possono poi essere inserite nel database vettoriale.
In breve, la RAG fornisce tempestività, contesto e precisione basati su prove all'AI generativa, andando oltre ciò che lo stesso LLM può fornire.
La RAG non è l'unica tecnica utilizzata per migliorare la precisione dell'AI generativa basata su LLM. Un'altra tecnica è la ricerca semantica, la quale aiuta il sistema AI a restringere il significato di una query tentando una comprensione approfondita delle parole e delle locuzioni specifiche del prompt.
La ricerca tradizionale si basa sulle parole chiave. Ad esempio, una query elementare sulle specie arboree originarie della Francia potrebbe setacciare il database del sistema AI utilizzando "alberi" e "Francia" come parole chiave e trovare dati che contengono entrambe, ma il sistema potrebbe non comprendere veramente il significato di "alberi in Francia" e quindi recuperare troppe informazioni, troppo poche o anche informazioni sbagliate. Questa ricerca basata su parole chiave potrebbe anche non recuperare informazioni perché troppo letterale: gli alberi nativi della Normandia potrebbero non essere presi in considerazione, sebbene crescano in Francia, perché quella parola chiave mancava.
La ricerca semantica va oltre la ricerca per parola chiave determinando il significato delle domande e dei documenti di origine e utilizzando tale significato per recuperare risultati più accurati. La ricerca semantica è parte integrante della RAG.
Se una persona vuole una risposta immediata a una domanda, è difficile battere l'immediatezza e l'usabilità di un chatbot. La maggior parte dei bot viene addestrata su un numero finito di intenti, ovvero le attività o i risultati desiderati dal cliente, e risponde a questi. Le funzionalità RAG possono migliorare i bot attuali consentendo al sistema AI di fornire risposte in linguaggio naturale alle domande che non sono nell'elenco degli intenti.
Il paradigma "poni una domanda, ottieni una risposta" rende i chatbot un caso d'uso perfetto per l'AI generativa per molte ragioni. Le domande spesso richiedono un contesto specifico per generare una risposta accurata e, dato che le aspettative degli utenti dei chatbot sulla pertinenza e sull'accuratezza sono spesso elevate, è chiaro come si applicano le tecniche RAG. In effetti, per molte organizzazioni, i chatbot possono effettivamente essere il punto di partenza per l'uso di RAG e AI generativa.
Le domande spesso hanno bisogno di un contesto specifico per fornire una risposta accurata. Le query dei clienti su un prodotto appena introdotto, ad esempio, non sono utili se i dati riguardano il modello precedente e potrebbero risultare fuorvianti. E un escursionista che vuole sapere se un parco è aperto questa domenica si aspetta informazioni aggiornate e accurate su quel parco specifico in quella data specifica.
Le tecniche RAG possono essere utilizzate per migliorare la qualità delle risposte di un sistema di intelligenza artificiale generativa ai prompt, qualcosa che va oltre ciò che un LLM da solo può fornire. Tra i vantaggi ci sono i seguenti:
Poiché la RAG è una tecnologia relativamente nuova, proposta per la prima volta nel 2020, gli sviluppatori di AI stanno ancora imparando a implementare al meglio i suoi meccanismi di recupero delle informazioni nell'AI generativa. Fra le sfide principali ci sono
Ci sono molti possibili esempi di AI generativa potenziata dalla RAG.
Cohere, leader nel campo dell'AI generativa e della RAG, ha scritto di un chatbot in grado di fornire informazioni contestuali su una casa vacanze nelle Isole Canarie, tra cui risposte basate sui fatti su accessibilità della spiaggia, bagnini nelle spiagge vicine e disponibilità di campi da pallavolo nei pressi del luogo.
Oracle ha descritto altri casi d'uso per la RAG, come l'analisi di report finanziari, l'aiutare con la scoperta di gas e petrolio, il rivedere le trascrizioni delle conversazioni dei clienti con i call center e il cercare documenti di ricerca pertinenti nei database medici.
Oggi, nelle prime fasi di vita della RAG, la tecnologia viene utilizzata per fornire risposte aggiornate, accurate e contestuali alle query. Questi casi d'uso sono appropriati per chatbot, e-mail, messaggi di testo e altre applicazioni conversazionali.
In futuro, la tecnologia RAG potrebbe essere utilizzata per aiutare l'AI generativa a intraprendere azioni appropriate basate sulle informazioni contestuali e sui prompt degli utenti. Ad esempio, un sistema di intelligenza artificiale potenziato da RAG potrebbe identificare la casa vacanza sulla spiaggia più votata nelle Isole Canarie e poi iniziare a prenotare una cabina con due camere da letto a pochi passi dalla spiaggia durante un torneo di pallavolo.
La RAG potrebbe anche essere in grado di aiutare con le domande più sofisticate. Oggi, l'AI generativa potrebbe essere in grado di informare un dipendente circa la policy di rimborso delle rette scolastiche dell'azienda; la RAG potrebbe aggiungere ulteriori dati contestuali per dire al dipendente quali scuole vicine hanno corsi che si adattano a tale policy e forse consigliare programmi adatti al lavoro del dipendente e alla formazione ricevuta in precedenza, e magari anche aiutare a fare domanda per tali programmi e avviare una richiesta di rimborso.
Oracle offre una vasta gamma di servizi AI avanzati basati su cloud, tra cui il servizio OCI Generative AI in esecuzione su Oracle Cloud Infrastructure (OCI). Le offerte Oracle includono modelli affidabili basati sui dati specifici e sulla conoscenza del settore della tua organizzazione. I dati dei clienti non vengono condivisi con i fornitori di LLM né vengono visti da altri clienti, e i modelli personalizzati addestrati sui dati del cliente possono essere utilizzati solo da tale cliente.
Inoltre, Oracle sta integrando l'AI generativa nella sua vasta gamma di applicazioni cloud, e le funzionalità di AI generativa sono disponibili per gli sviluppatori che utilizzano OCI e nel suo portfolio di database. Inoltre, i servizi AI di Oracle offrono performance e prezzi prevedibili utilizzando cluster AI single-tenant dedicati.
La potenza e le capacità dei LLM e dell'AI generativa sono ampiamente conosciute e comprese e sono state protagoniste di notizie incredibili nell'ultimo anno. La retrieval-augmented generation aumenta i vantaggi dei LLM rendendoli più aggiornati, accurati e contestuali. Per le applicazioni aziendali di AI generativa, la RAG è una tecnologia importante da guardare, studiare e provare.
Oracle offre una piattaforma di dati moderna e un'infrastruttura AI a basso costo e ad alte prestazioni. Altri fattori, come modelli potenti e ad alte prestazioni, sicurezza dei dati ineguagliabile e servizi AI integrati, dimostrano perché l'offerta AI di Oracle è davvero progettata per le aziende.
RAG e AI generativa sono la stessa cosa?
No. La retrieval-augmented generation è una tecnica in grado di fornire risultati più accurati alle query rispetto a un modello linguistico generativo di grandi dimensioni, in quanto la RAG utilizza conoscenze esterne ai dati già contenuti nel LLM.
Che tipo di informazioni viene utilizzato nella RAG?
La RAG può incorporare dati provenienti da molte fonti, come database relazionali, repository di documenti non strutturati, flussi di dati Internet, feed di notizie dei media, trascrizioni audio e log delle transazioni.
In che modo l'AI generativa utilizza la RAG?
I dati aziendali vengono incorporati in un repository di conoscenze e poi convertiti in vettori, i quali vengono memorizzati in un database vettoriale. Quando un utente finale esegue una query, il database vettoriale recupera informazioni contestuali pertinenti. Queste informazioni contestuali, insieme alla query, vengono inviate al modello linguistico di grandi dimensioni, il quale utilizza il contesto per creare una risposta più aggiornata, accurata e contestuale.
Una RAG può fornire riferimenti per i documenti da cui ha recuperato i dati?
Sì. I database vettoriali e i repository di conoscenze utilizzati dalla RAG contengono informazioni specifiche sulle fonti di informazione. Ciò significa che le origini possono essere citate, e che se c'è un errore in una delle origini questo può essere rapidamente corretto o eliminato in modo che le query successive non recuperino quelle informazioni errate.