Cos’è la RAG e perché è importante quando parliamo di Large Language Models (LLM)
Intelligenza artificiale: ne parliamo e la usiamo tutti già da un po’ di tempo, più o meno consapevolmente, tuttavia, i modelli sicuramente più apprezzati, vista la loro semplicità e intuitività di utilizzo, sono i large language models ( LLM).
Questi modelli, che possiamo vedere in azione su GPT, BERT o il recentissimo ( e anche a pagamento) Copilot portano con se grandissime potenzialità e altrettanti limiti, uno di questi? La dipendenza, nel fornire risposte, dai dati di addestramento che il modello in questione ha in pancia.
Una possibile soluzione potrebbe essere la RAG ossia Retrieval Augmented Generation, un termine che vediamo per la prima volta in un paper del 2020 .
Indice
Cos’è la RAG e perché è importante?
Un modo per migliorare le prestazioni di un modello linguistico di grandi dimensioni è la Retrieval-Augmented Generation (RAG).
Questa consiste nel far consultare al modello una base di conoscenza affidabile che non fa parte dei suoi dati di addestramento prima di produrre una risposta.
I modelli linguistici di grandi dimensioni (LLM) si basano su enormi quantità di dati e usano miliardi di parametri per creare output originali per attività come rispondere a domande, tradurre lingue e completare frasi, quindi, generalmente, la qualità delle risposte è più che soddisfacente.
Tuttavia, la RAG permette ai LLM di adattarsi a domini specifici o alla knowledge base interna di un’organizzazione, senza dover riaddestrare il modello ogni volta e senza incorrere nel rischio che i dati presenti nelle conoscenze del modello diventino obsoleti o non aggiornati.
Questo è il motivo che rende la RAG un’ottima opportunità per rispondere ai limiti dei LLM, perché gli permette di recuperare informazioni pertinenti da fonti autorevoli e predeterminate.
Il funzionamento della RAG
Per capire meglio come funziona la RAG, possiamo immaginarla come una conversazione tra due modelli: un generatore di testo e un recuperatore di informazioni. Il generatore di testo è un LLM pre-addestrato su un grande corpus di testi, che sa come produrre frasi fluenti e grammaticalmente corrette, ma non sempre veritiere o pertinenti.
Il recuperatore di informazioni è un modello che sa come trasformare le parole in numeri (vettori) e confrontarli con un indice di vettori che rappresentano una base di conoscenza, come Wikipedia o altri documenti.
Quando il generatore di testo riceve una domanda, la invia al recuperatore di informazioni, che cerca i vettori più simili alla domanda e restituisce i relativi passaggi di testo.
Il generatore di testo usa questi passaggi come fonti di informazione per comporre una risposta, che può anche includere le citazioni delle fonti stesse. In questo modo, la RAG permette al generatore di testo di arricchire le sue capacità linguistiche con le conoscenze esterne che il recuperatore di informazioni gli fornisce.
Rilevanza vs Similarità: Perchè sono importanti nel recupero delle informazioni
Per il recupero delle informazioni, è fondamentale sapere la differenza tra “rilevanza” e “similarità”. Mentre la similarità si basa sulla corrispondenza delle parole, la rilevanza dipende dalla relazione tra le idee. Puoi trovare contenuti semanticamente simili con una query vettoriale del database, ma per trovare e recuperare contenuti rilevanti hai bisogno di strumenti più avanzati.
Questi concetti sono indispensabili per progettare e realizzare sistemi RAG efficaci, che possono aumentare notevolmente la ricerca e la generazione di informazioni.
Quali sono le applicazioni pratiche della RAG?
Gli ambiti di applicazione della RAG sono svariati, a partire dalle attività che richiedono una generazione di testo accurata e informativa come possono essere, per esempio, dei riepiloghi automatici di documenti o articoli, i quali saranno più precisi grazie alla possibilità di incorporare i fatti salienti e le fonti da cui sono stati estratti.
La RAG può anche essere usata per produrre dialoghi naturali e coerenti, integrando le conoscenze esterne con il contesto del discorso oppure per rispondere a domande complesse e specifiche, fornendo le evidenze che supportano le risposte e le possibili alternative. Questa applicazione rappresenta una grossa opportunità per tutte quelle funzionalità di assistenza automatizzata (vedi i chatbot) che in questo modo saranno in grado di fornire un’esperienza più umana e completa.
Un caso concreto di questa applicazione è il chatbot di Audi creato con il servizio Amazon SageMaker, che usa la Retrieval Augmented Generation (RAG) per migliorare la qualità delle risposte fornite ai dipendenti su temi diversi, dal semplice recupero delle informazioni alla più complessa analisi dei rischi.