Glossario

Generazione aumentata di recupero (RAG)

Scopri come la Retrieval Augmented Generation (RAG) migliora i modelli di AI integrando dati esterni affidabili e in tempo reale per ottenere risposte precise e aggiornate.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La Retrieval Augmented Generation (RAG) è una tecnica avanzata di intelligenza artificiale (AI) progettata per migliorare la qualità e l'affidabilità delle risposte generate dai Large Language Models (LLM). Funziona combinando le capacità generative di un LLM con un sistema di recupero delle informazioni. Prima di generare una risposta, il sistema RAG recupera frammenti di informazioni rilevanti da una fonte di conoscenza predefinita (come i documenti interni di un'azienda, un database specifico o il web). Questo contesto recuperato viene poi fornito al LLM insieme alla domanda originale dell'utente, consentendo al modello di generare risposte più accurate, aggiornate e basate su dati reali, attenuando così problemi come le allucinazioni. Questo approccio migliora gli LLM standard consentendo loro di accedere e utilizzare informazioni esterne e attuali oltre ai dati di addestramento iniziali.

Come funziona la Generazione Aumentata del Recupero

Il processo RAG prevede in genere due fasi principali:

  1. Recupero: Quando l'utente fornisce una richiesta o un'interrogazione, il sistema cerca le informazioni pertinenti in una determinata base di conoscenza. Questa base di conoscenza può essere una raccolta di documenti, pagine web o voci di un database vettoriale. Il meccanismo di recupero spesso utilizza tecniche come la ricerca semantica per trovare frammenti di testo contestualmente correlati alla richiesta, non solo parole chiave. Questi frammenti recuperati servono come base contestuale per la fase successiva. Questo processo spesso sfrutta gli embeddings per rappresentare il significato sia della query che dei documenti.
  2. Generazione: L'interrogazione originale e i frammenti contestuali recuperati vengono combinati in una richiesta aumentata. Questo messaggio aumentato viene poi inviato all'LLM. L'LLM utilizza sia la domanda che il contesto fornito per generare una risposta. In questo modo, la risposta non solo è pertinente alla domanda, ma è anche informata dalle informazioni recuperate, spesso più attuali o specifiche. Il lavoro fondamentale su RAG è stato illustrato nel documento"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks".

Vantaggi e applicazioni

Il RAG offre diversi vantaggi rispetto all'utilizzo dei soli LLM standard:

  • Miglioramento dell'accuratezza e dell'affidabilità: Basando le risposte su dati concreti, RAG riduce significativamente la probabilità che il LLM generi informazioni errate o inventate(allucinazioni). Questo aumenta la fiducia degli utenti e l'accuratezza complessiva del sistema.
  • Accesso alle informazioni attuali: I LLM sono in genere addestrati su serie di dati statici, il che significa che il loro limite di conoscenza impedisce loro di conoscere eventi o dati emersi dopo l'addestramento. Il RAG consente ai modelli di accedere alle informazioni più recenti provenienti da fonti esterne e di integrarle, senza la necessità di una costante riqualificazione.
  • Specificità del dominio: RAG può essere configurato per recuperare informazioni da basi di conoscenza specifiche e curate (ad esempio, wiki aziendali interni, documentazione tecnica, set di dati specifici). In questo modo i LLM possono fornire risposte di livello esperto all'interno di domini specializzati.
  • Maggiore trasparenza: Poiché la risposta generata si basa su documenti recuperati, spesso è possibile citare le fonti, offrendo agli utenti trasparenza e la possibilità di verificare le informazioni. Questo è in linea con i principi dell'AI spiegabile (XAI) e dell'etica dell'AI.
  • Costo-efficacia: L'aggiornamento della base di conoscenza per il RAG è generalmente molto più economico e veloce rispetto alla riqualificazione o alla messa a punto di un modello linguistico di grandi dimensioni.

Esempi del mondo reale:

  1. Chatbot di assistenza clienti: Un'azienda può utilizzare RAG per alimentare un chatbot di assistenza. Quando un cliente pone una domanda, il sistema recupera le informazioni pertinenti dai manuali dei prodotti, dalle FAQ e dagli articoli della knowledge base dell'azienda. Il LLM utilizza quindi questo contesto per generare una risposta precisa e utile, integrandosi potenzialmente con piattaforme come Zendesk.
  2. Ricerca aziendale e gestione della conoscenza: I dipendenti possono interrogare i documenti aziendali interni archiviati in sistemi come SharePoint o altri database. RAG recupera le sezioni pertinenti da archivi di documenti potenzialmente vasti e sintetizza le risposte, aiutando i dipendenti a trovare rapidamente le informazioni senza passare manualmente al setaccio i documenti.

RAG e concetti correlati

È utile distinguere il RAG da altri metodi utilizzati per migliorare le prestazioni del LLM:

  • Fine-tuning: Il fine-tuning adatta un LLM pre-addestrato a un compito o a un dominio specifico continuando il processo di addestramento su un set di dati più piccolo e specializzato. A differenza del RAG, il fine-tuning modifica i pesi interni del modello. Il fine-tuning è utile per adattare lo stile o per apprendere compiti specifici, mentre il RAG è migliore per incorporare conoscenze concrete e aggiornate. Tecniche come il Parameter-Efficient Fine-Tuning (PEFT) offrono varianti di questo approccio.
  • Ingegneria del prompt: Si tratta di creare con cura il prompt di input fornito a un LLM per ottenere la risposta desiderata. Mentre il RAG incorpora il contesto recuperato nel prompt, l'ingegneria del prompt si concentra sulla strutturazione manuale della domanda e delle istruzioni dell'utente.
  • Arricchimento del prompt: Simile al RAG per quanto riguarda l'aumento del prompt, l'arricchimento del prompt potrebbe aggiungere un contesto dalla storia dell'utente o dal flusso della conversazione, ma il RAG si concentra specificamente sul recupero di dati fattuali esterni da una base di conoscenza per fondare il processo di generazione.

Framework come LangChain e LlamaIndex forniscono strumenti per costruire pipeline RAG e altre applicazioni LLM complesse.

Il RAG rappresenta un passo significativo verso la creazione di sistemi di intelligenza artificiale più consapevoli e affidabili, colmando il divario tra la vasta potenza generativa dei LLM e la necessità di accuratezza dei fatti e di accesso a informazioni dinamiche. Sebbene sia utilizzato principalmente con i testi, l'idea di base di aumentare la generazione con le informazioni recuperate è concettualmente applicabile ad altri domini. Ad esempio, nella computer vision (CV), si potrebbe immaginare di recuperare esempi visivi o metadati rilevanti per guidare la generazione o l'analisi delle immagini, anche se si tratta ancora di un'area di ricerca emergente. Piattaforme come Ultralytics HUB aiutano a gestire i modelli e i set di dati, componenti cruciali che potrebbero servire come fonti di conoscenza in future applicazioni RAG multimodali che coinvolgono modelli quali Ultralytics YOLO. L'esplorazione dei dataset di computer vision disponibili può fornire indicazioni sul tipo di informazioni strutturate che potrebbero essere utili per questi sistemi.

Leggi tutto