Un team di ricercatori di Google ha recentemente pubblicato (23 luglio 2024) un documento interessante che illustra l’evoluzione delle tecnologie attuali nel campo della Retrieval Augmented Generation (RAG). RAG o Long-Context LLMs?
In NetAI, sempre attenti agli sviluppi del settore, abbiamo analizzato questo studio scientifico e ve ne proporremo un riassunto dettagliato con alcune riflessioni.
Parleremo inoltre del confronto tra RAG e LC descritto nel paper, mettendo in luce i loro punti di forza e debolezza. Presenteremo l’ innovativo metodo ibrido chiamato SELF-ROUTE proposto da questi ricercatori, progettato per combinare i vantaggi di entrambe le tecnologie.
Introduzione alle tecnologie
In questo articolo parleremo principalmente di:
- Retrivial Augmented Generation:
RAG è una tecnica che permette ai LLM di accedere a informazioni esterne in modo efficiente.
Questo approccio recupera informazioni rilevanti in base alla query e poi utilizza un LLM per generare una risposta nel contesto delle informazioni recuperate.
Questo metodo espande significativamente l’accesso dei LLM a grandi quantità di informazioni a un costo minimo. - Long Context LLMs:
Si è dimostrato che gli ultimi LLM, come Gemini-1.5 e GPT-4, hanno grandi capacità nel comprendere contesti molto lunghi.
Ad esempio, Gemini 1.5 può processare fino a 1 milione di token, rendendo possibile la gestione di contesti estremamente lunghi senza la necessità di utilizzare la RAG.
Alcuni confronti: RAG o Long-Context LLMs?
Nel paper troviamo il seguente grafico da cui andremo a dedurre alcuni interessanti informazioni.

Infatti, prendendo in considerazione solamente il modello GPT-4o, notiamo che:
- Confronto LC e RAG:
- Performance:
L’approccio LC raggiunge una performance di 48.67, mentre l’approccio RAG raggiunge una performance di 32.60. - Differenza Performance:
L’approccio LC ha una performance superiore del 49% rispetto all’approccio RAG. - Costi:
L’approccio LC ha un costo del 100%, mentre l’approccio RAG ha un costo del 17%. - Differenza Costi:
L’approccio RAG costa l’83% in meno rispetto all’approccio LC.
- Performance:
- Confronto LC e Self-Route:
- Performance:
L’approccio LC raggiunge una performance di 48.67, mentre l’approccio Self-Route raggiunge una performance di 48.89. - Differenza Performance:
L’approccio Self-Route ha una performance superiore dello 0.5% rispetto all’approccio LC. - Costi:
L’approccio LC ha un costo del 100%, mentre l’approccio Self-Route ha un costo del 61%. - Differenza Costi:
L’approccio Self-Route costa il 39% in meno rispetto all’approccio LC.
- Performance:
- Confronto RAG e Self-Route:
- Performance:
L’approccio RAG raggiunge una performance di 32.60, mentre l’approccio Self-Route raggiunge una performance di 48.89. - Differenza Performance:
L’approccio Self-Route ha una performance superiore del 50% rispetto all’approccio RAG. - Costi:
L’approccio RAG ha un costo del 17%, mentre l’approccio Self-Route ha un costo del 61%. - Differenza Costi:
L’approccio RAG costa il 72% in meno rispetto all’approccio Self-Route.
- Performance:
In sintesi, prendendo in considerazione il modello GPT-4o:
- L’approccio LC ha performance molto elevate, ma anche i costi più alti.
- L’approccio RAG ha costi significativamente più bassi, ma le performance sono inferiori rispetto agli altri approcci.
- L’approccio Self-Route offre le migliori performance con costi significativamente inferiori rispetto a LC, rappresentando un compromesso ottimale tra performance e costi.
RAG o Long-Context LLMs? Spiegazione del SELF-ROUTE, Un Approccio Ibrido
SELF-ROUTE è un metodo semplice ma efficace che instrada le query a RAG o LC in base a riflessioni che compie il modello stesso.
Questo metodo riduce significativamente il costo computazionale mantenendo prestazioni comparabili a LC.
Questo metodo consiste in due step:
- Forniamo la query e i chunk recuperati al LLM e chiedendoli di prevedere se la query è risolvibile e, in tal caso, di generare la risposta.
Questo è simile al RAG standard, con una differenza chiave: al LLM viene data l’opzione di rifiutare di rispondere con il prompt:
“Scrivi ‘irrisolvibili’ se la query non può essere risolta in base al testo fornito”.
Per le query considerate risolvibili, accettiamo la previsione RAG come risposta finale. - Per le query considerate irrisolvibili, passiamo a questo step, fornendo il contesto completo ai LLM con long-context per ottenere la previsione finale (cioè, LC).
Come dimostrano i risultati forniti sul paper, la maggior parte delle query può essere risolta dal primo step RAG-and-Route (ad esempio, l’82% per Gemini-1.5-Pro), con solo una piccola parte che richiede il successivo step di previsione con long-context.
E siccome il primo step RAG-and-Route richiede solo i chunk recuperati (ad esempio al massimo 1.5k token) come input, che è significativamente più corto rispetto ai contesti completi (ad esempio, 10k – 100k token), il costo computazionale complessivo è sostanzialmente ridotto.
Casi in cui i RAG falliscono
Inoltre nel paper vengono esposte quattro ragioni in cui si l’approccio RAG può fallire:
- La query richiede un ragionamento multi-step.
- La query è generale e difficile da formulare per il retrivial.
- La query è lunga e complessa.
- La query è implicita e richiede una comprensione completa del contesto.
Conclusioni
In questo articolo vi abbiamo raccontato di uno studio che fornisce una comprensione completa delle differenze tra RAG e LC, evidenziando i trade-off tra prestazioni e costi computazionali.
Inoltre, emerge che l’approccio SELF-ROUTE è una soluzione promettente che combina i vantaggi di entrambi gli approcci, offrendo una guida pratica per l’applicazione di LLM con contesti lunghi.




