Skip to content

Generarea Augmentată prin Recuperare (RAG) pentru LLM-uri

Prezentare generală

Există multe provocări când se lucrează cu LLM-uri, cum ar fi lacunele de cunoștințe de domeniu, problemele de factualitate și halucinația. Generarea Augmentată prin Recuperare (RAG) oferă o soluție pentru a atenua unele dintre aceste probleme prin augmentarea LLM-urilor cu cunoștințe externe, cum ar fi bazele de date. RAG este deosebit de util în scenarii intensive în cunoștințe sau aplicații specifice domeniului care necesită cunoștințe care se actualizează continuu.

Avantaje cheie

Un avantaj cheie al RAG față de alte abordări este că LLM-ul nu trebuie să fie reantrenat pentru aplicații specifice sarcinii. RAG a fost popularizat recent cu aplicarea sa în agenții conversaționali.

Rezumatul cercetării

În acest rezumat, evidențiem principalele descoperiri și perspectivele practice din sondajul recent intitulat Generarea Augmentată prin Recuperare pentru Modelele de Limbaj Mari: Un Sondaj (Gao et al., 2023). În special, ne concentrăm pe abordările existente, RAG de ultimă generație, evaluarea, aplicațiile și tehnologiile care înconjoară diferitele componente care alcătuiesc un sistem RAG (tehnici de recuperare, generare și augmentare).

Introducerea în RAG

Cadrul RAG

"Cadrul RAG"

Așa cum este mai bine introdus aici, RAG poate fi definit ca:

RAG preia input-ul și recuperează un set de documente relevante/suport date o sursă (de ex., Wikipedia). Documentele sunt concatenate ca context cu promptul original de input și transmise generatorului de text care produce output-ul final. Aceasta face RAG adaptabil pentru situațiile în care faptele ar putea evolua în timp. Este foarte util deoarece cunoștințele parametrice ale LLM-urilor sunt statice. RAG permite modelelor de limbaj să ocolească reantrenarea, permițând accesul la cele mai recente informații pentru generarea de output-uri de încredere prin generarea bazată pe recuperare.

Beneficiile cheie

Pe scurt, dovezile recuperate obținute în RAG pot servi ca o modalitate de a îmbunătăți acuratețea, controlabilitatea și relevanța răspunsului LLM-ului. Acesta este motivul pentru care RAG poate ajuta la reducerea problemelor de halucinație sau performanță când se abordează probleme într-un mediu în evoluție rapidă.

Evoluția RAG

Deși RAG a implicat și optimizarea metodelor de pre-antrenare, abordările actuale s-au îndreptat în mare parte către combinarea punctelor forte ale RAG cu modelele puternice fine-tunate precum ChatGPT și Mixtral. Graficul de mai jos arată evoluția cercetării legate de RAG:

"Cadrul RAG"

Sursa figurii

Fluxul de lucru al aplicației RAG

Mai jos este un flux de lucru tipic al aplicației RAG:

"Cadrul RAG"

Sursa figurii

Componentele fluxului de lucru

Putem explica diferitele pași/componente după cum urmează:

1. Input

Întrebarea la care răspunde sistemul LLM este denumită input-ul. Dacă nu se folosește RAG, LLM-ul este folosit direct pentru a răspunde la întrebare.

2. Indexarea

Dacă se folosește RAG, atunci o serie de documente conexe sunt indexate prin:

  • Fragmentarea lor mai întâi
  • Generarea de embeddings pentru fragmente
  • Indexarea lor într-un magazin vectorial

La inferență, interogarea este de asemenea embedded într-un mod similar.

3. Recuperarea

Documentele relevante sunt obținute prin compararea interogării cu vectorii indexați, denumite și "Documente Relevante".

4. Generarea

Documentele relevante sunt combinate cu promptul original ca context suplimentar. Textul și promptul combinate sunt apoi transmise modelului pentru generarea răspunsului, care este apoi pregătit ca output-ul final al sistemului către utilizator.

Exemplu de utilizare

În exemplul furnizat, folosirea modelului direct eșuează să răspundă la întrebare din cauza lipsei de cunoștințe despre evenimentele actuale. Pe de altă parte, când se folosește RAG, sistemul poate extrage informațiile relevante necesare pentru ca modelul să răspundă la întrebare în mod corespunzător.

Paradigmele RAG

În ultimii ani, sistemele RAG au evoluat de la RAG Naiv la RAG Avansat și RAG Modular. Această evoluție a avut loc pentru a aborda anumite limitări legate de performanță, cost și eficiență.

"Cadrul RAG"

Sursa figurii

1. RAG Naiv

RAG Naiv urmează procesul tradițional menționat anterior de indexare, recuperare și generare. Pe scurt, un input de utilizator este folosit pentru a interoga documente relevante care sunt apoi combinate cu un prompt și transmise modelului pentru a genera un răspuns final. Istoricul conversațional poate fi integrat în prompt dacă aplicația implică interacțiuni de dialog cu multiple runde.

Limitări

RAG Naiv are limitări precum:

  • Precizie scăzută: Fragmente recuperate nealiniate
  • Recall scăzut: Eșecul de a recupera toate fragmentele relevante
  • Informații învechite: LLM-ul poate primi informații învechite
  • Probleme de halucinație: Răspunsuri slabe și inexacte
  • Redundanță: Probleme cu repetarea când se folosesc multiple pasaje recuperate
  • Provocări de stil/ton: Dificultatea în clasificarea și reconcilierea stilului/tonului
  • Supradependență: Sarcina de generare poate depinde excesiv de informațiile augmentate

2. RAG Avansat

RAG Avansat ajută la abordarea problemelor prezente în RAG Naiv, cum ar fi îmbunătățirea calității recuperării care ar putea implica optimizarea proceselor de pre-recuperare, recuperare și post-recuperare.

Procesul de pre-recuperare

Procesul de pre-recuperare implică optimizarea indexării datelor care urmărește să îmbunătățească calitatea datelor care sunt indexate prin cinci etape:

  • Îmbunătățirea granularității datelor: Îmbunătățirea structurii datelor
  • Optimizarea structurilor de index: Metode mai bune de indexare
  • Adăugarea de metadate: Informații contextuale bogate
  • Optimizarea alinierii: O aliniere mai bună a datelor
  • Recuperarea mixtă: Combinarea diferitelor abordări de recuperare

Etapa de recuperare

Etapa de recuperare poate fi îmbunătățită în continuare prin optimizarea modelului de embedding însuși care impactează direct calitatea fragmentelor care alcătuiesc contextul. Aceasta poate fi făcută prin:

  • Fine-tuning pentru embeddings: Optimizarea relevanței recuperării
  • Embeddings dinamice: Captarea mai bună a înțelegerii contextuale (de ex., modelul embeddings-ada-02 de la OpenAI)

Procesul de post-recuperare

Optimizarea post-recuperării se concentrează pe evitarea limitelor ferestrei de context și pe gestionarea informațiilor zgomotoase sau potențial distractive. Abordările comune includ:

  • Re-clasificarea: Relocarea contextului relevant la marginile promptului sau recalcularea similarității semantice
  • Compresia promptului: Reducerea lungimii contextului menținând relevanța

3. RAG Modular

Așa cum sugerează numele, RAG Modular îmbunătățește modulele funcționale, cum ar fi incorporarea unui modul de căutare pentru recuperarea prin similaritate și aplicarea fine-tuning-ului în recuperator. Atât RAG Naiv cât și RAG Avansat sunt cazuri speciale ale RAG Modular și sunt alcătuite din module fixe.

Modulele RAG Extinse

Modulele RAG extinse includ:

  • Căutarea: Capabilități de recuperare a informațiilor
  • Memoria: Stocarea persistentă a cunoștințelor
  • Fuziunea: Combinarea mai multor surse de informații
  • Rutarea: Dirijarea interogărilor către modulele corespunzătoare
  • Predicția: Prognozarea nevoilor de informații
  • Adaptorul de sarcină: Adaptarea la cerințele specifice sarcinii

Aceste module pot fi rearanjate pentru a se potrivi cu contexte specifice problemelor. Prin urmare, RAG Modular beneficiază de o diversitate și flexibilitate mai mare în sensul că poți adăuga sau înlocui module sau ajusta fluxul între module pe baza cerințelor sarcinii.

Tehnici de optimizare

Având în vedere flexibilitatea crescută în construirea sistemelor RAG, au fost propuse alte tehnici importante de optimizare pentru a optimiza pipeline-urile RAG, inclusiv:

Explorarea căutării hibride

Această abordare exploatează o combinație de tehnici de căutare precum căutarea bazată pe cuvinte cheie și căutarea semantică pentru a recupera informații relevante și bogate în context; aceasta este utilă când se lucrează cu diferite tipuri de interogări și nevoi de informații.

Motorul de recuperare și interogare recursivă

Implică un proces de recuperare recursivă care ar putea începe cu fragmente semantice mici și apoi să recupereze fragmente mai mari care îmbogățesc contextul; aceasta este utilă pentru a echilibra eficiența și informațiile bogate în context.

StepBack-prompt

O tehnică de prompting care permite LLM-urilor să efectueze abstractizare care produce concepte și principii care ghidează raționamentul; aceasta duce la răspunsuri mai bine fundamentate când este adoptată într-un cadru RAG deoarece LLM-ul se îndepărtează de instanțele specifice și i se permite să raționeze mai larg dacă este necesar.

Sub-interogări

Există diferite strategii de interogare precum interogările arbore sau interogarea secvențială a fragmentelor care pot fi folosite pentru diferite scenarii. LlamaIndex oferă un motor de interogare cu sub-întrebări care permite ca o interogare să fie împărțită în mai multe întrebări care folosesc diferite surse de date relevante.

Embeddings pentru documente ipotetice (HyDE)

HyDE generează un răspuns ipotetic la o interogare, îl embedded și îl folosește pentru a recupera documente similare cu răspunsul ipotetic, în loc să folosească interogarea direct.

Componentele cadrului RAG

În această secțiune, rezumăm dezvoltările cheie ale componentelor unui sistem RAG, care includ Recuperarea, Generarea și Augmentarea.

Recuperarea

Recuperarea este componenta RAG care se ocupă cu recuperarea contextului foarte relevant de la un recuperator. Un recuperator poate fi îmbunătățit în multe moduri, inclusiv:

Îmbunătățirea reprezentărilor semantice

Acest proces implică îmbunătățirea directă a reprezentărilor semantice care alimentează recuperatorul. Iată câteva considerații:

Fragmentarea

Un pas important este alegerea strategiei corecte de fragmentare care depinde de:

  • Conținutul cu care lucrezi
  • Aplicația pentru care generezi răspunsuri
  • Diferite modele afișează puncte forte diferite pe dimensiuni variabile de blocuri
  • Transformatoarele de propoziții performează mai bine pe propoziții singulare
  • Text-embedding-ada-002 performează mai bine cu blocuri care conțin 256 sau 512 de tokeni
  • Consideră lungimea întrebării utilizatorului, aplicația și limitele de tokeni
  • Este comun să experimentezi cu diferite strategii de fragmentare pentru a optimiza recuperarea
Modelele de embedding fine-tunate

Odată ce ai determinat o strategie eficientă de fragmentare, poate fi necesar să faci fine-tuning la modelul de embedding dacă lucrezi cu un domeniu specializat. Altfel, este posibil ca interogările utilizatorilor să fie complet neînțelese în aplicația ta. Poți face fine-tuning pe:

  • Cunoștințe de domeniu larg: Fine-tuning pentru cunoștințe de domeniu
  • Sarcini specifice downstream: Optimizarea specifică sarcinii

BGE-large-EN dezvoltat de BAAI este un model de embedding notabil care poate fi fine-tunat pentru a optimiza relevanța recuperării.

Alinierea interogărilor și documentelor

Acest proces se ocupă cu alinierea interogărilor utilizatorilor cu cele ale documentelor în spațiul semantic. Aceasta poate fi necesară când interogarea unui utilizator poate să nu aibă informații semantice sau să conțină formulări imprecise. Iată câteva abordări:

Rescrierea interogărilor

Se concentrează pe rescrierea interogărilor folosind o varietate de tehnici precum:

  • Query2Doc: Rescrierea interogărilor bazată pe documente
  • ITER-RETGEN: Recuperarea și generarea iterativă
  • HyDE: Embeddings pentru documente ipotetice
Transformarea embedding-ului

Optimizează reprezentarea embedding-urilor interogărilor și le aliniază la un spațiu latent care este mai strâns aliniat cu o sarcină.

Alinierea recuperatorului și LLM-ului

Acest proces se ocupă cu alinierea output-urilor recuperatorului cu preferințele LLM-urilor.

Fine-tuning pentru recuperatori

Folosește semnalele de feedback ale unui LLM pentru a rafina modelele de recuperare. Exemplele includ:

  • Recuperatorul adaptat pentru augmentare (AAR)
  • REPLUG
  • UPRISE
Adaptori

Incorporează adaptori externi pentru a ajuta cu procesul de aliniere. Exemplele includ:

  • PRCA
  • RECOMP
  • PKG

Generarea

Generatorul într-un sistem RAG este responsabil pentru convertirea informațiilor recuperate într-un text coerent care va forma output-ul final al modelului. Acest proces implică date de input diverse care uneori necesită eforturi pentru a rafina adaptarea modelului de limbaj la datele de input derivate din interogări și documente. Aceasta poate fi abordată folosind procesul de post-recuperare și fine-tuning:

Post-recuperarea cu LLM înghețat

Procesarea post-recuperării lasă LLM-ul neschimbat și se concentrează în schimb pe îmbunătățirea calității rezultatelor de recuperare prin operații precum:

  • Compresia informațiilor: Reducerea zgomotului și abordarea restricțiilor de lungime a contextului
  • Re-clasificarea rezultatelor: Reordonarea documentelor pentru a prioritiza elementele cele mai relevante

Fine-tuning LLM pentru RAG

Pentru a îmbunătăți sistemul RAG, generatorul poate fi optimizat sau fine-tunat în continuare pentru a se asigura că textul generat este natural și exploatează eficient documentele recuperate.

Augmentarea

Augmentarea implică procesul de integrare eficientă a contextului din pasajele recuperate cu sarcina actuală de generare. Înainte de a discuta mai mult despre procesul de augmentare, etapele de augmentare și datele de augmentare, iată o taxonomie a componentelor de bază ale RAG:

"Taxonomia RAG"

Sursa figurii

Augmentarea prin recuperare poate fi aplicată în multe etape diferite precum pre-antrenarea, fine-tuning-ul și inferența.

Evaluarea

Evaluarea unui cadru RAG se concentrează pe trei scoruri de calitate primare și patru abilități.

Scorurile de calitate

  • Relevanța contextului: Măsurarea preciziei și specificității contextului recuperat
  • Fidelitatea răspunsului: Măsurarea fidelității răspunsurilor la contextul recuperat
  • Relevanța răspunsului: Măsurarea relevanței răspunsurilor la întrebările puse

Cele patru abilități

  • Robustețea la zgomot: Gestionarea informațiilor zgomotoase sau irelevante
  • Respingerea negativă: Respingerea informațiilor incorecte sau irelevante
  • Integrarea informațiilor: Combinarea eficientă a mai multor surse de informații
  • Robustețea contrafactuală: Gestionarea informațiilor contradictorii sau false

Instrumentele de evaluare

Mai multe benchmark-uri precum RGB și RECALL sunt folosite pentru a evalua modelele RAG. Multe instrumente au fost dezvoltate pentru a automatiza procesul de evaluare a sistemelor RAG:

  • RAGAS: Cadru de evaluare automatizată
  • ARES: Sistem de evaluare și clasificare
  • TruLens: Cadru de încredere și evaluare

Unele dintre aceste sisteme se bazează pe LLM-uri pentru a determina unele dintre scorurile de calitate definite mai sus.

Provocările și viitorul RAG

În această privire de ansamblu, am discutat mai multe aspecte de cercetare ale cercetării RAG și diferite abordări pentru îmbunătățirea recuperării, augmentării și generării unui sistem RAG. Iată câteva provocări evidențiate de Gao et al., 2023 pe măsură ce continuăm să dezvoltăm și să îmbunătățim sistemele RAG:

Provocările cheie

  1. Lungimea contextului: LLM-urile continuă să extindă dimensiunea ferestrei de context, ceea ce prezintă provocări pentru modul în care RAG trebuie să fie adaptat pentru a se asigura că contextul foarte relevant și important este captat.

  2. Robustețea: Gestionarea informațiilor contrafactuale și adversariale este importantă de măsurat și îmbunătățit în RAG.

  3. Abordările hibride: Există un efort continuu de cercetare pentru a înțelege mai bine cum să optimizăm cel mai bine folosirea atât a RAG cât și a modelelor fine-tunate.

  4. Extinderea rolurilor LLM: Creșterea rolului și capabilităților LLM-urilor pentru a îmbunătăți în continuare sistemele RAG este de mare interes.

  5. Legile de scalare: Investigarea legilor de scalare ale LLM-urilor și modul în care se aplică la sistemele RAG nu sunt încă înțelese corespunzător.

  6. RAG gata pentru producție: Sistemele RAG de grad producție necesită excelență în inginerie în ceea ce privește performanța, eficiența, securitatea datelor, confidențialitatea și mai mult.

  7. RAG multimodal: Deși au existat multe eforturi de cercetare în jurul sistemelor RAG, acestea au fost în mare parte centrate pe sarcini bazate pe text. Există un interes crescut pentru extinderea modalităților pentru un sistem RAG pentru a sprijini abordarea problemelor în mai multe domenii precum imagine, audio și video, cod și mai mult.

  8. Evaluarea: Interesul pentru construirea de aplicații complexe cu RAG necesită atenție specială pentru a dezvolta metrici nuanțate și instrumente de evaluare care pot evalua mai fiabil diferite aspecte precum relevanța contextuală, creativitatea, diversitatea conținutului, factualitatea și mai mult. În plus, există și o nevoie pentru cercetare și instrumente mai bune de interpretabilitate pentru RAG.

Instrumentele RAG

Instrumente comprehensive

Unele instrumente comprehensive populare pentru construirea sistemelor RAG includ:

  • LangChain: Cadru comprehensive pentru construirea aplicațiilor LLM
  • LlamaIndex: Cadru de date pentru aplicațiile LLM
  • DSPy: Cadru pentru optimizarea prompturilor și greutăților LLM

Instrumente specializate

Există de asemenea o gamă de instrumente specializate care servesc diferite scopuri:

  • Flowise AI: Soluție low-code pentru construirea aplicațiilor RAG
  • HayStack: Cadru open-source pentru construirea aplicațiilor NLP gata pentru producție
  • Meltano: Platformă DataOps
  • Cohere Coral: Platformă focalizată pe RAG

Serviciile cloud

Furnizorii de software și servicii cloud includ de asemenea servicii centrate pe RAG:

  • Verba de la Weaviate: Util pentru construirea aplicațiilor de asistent personal
  • Amazon Kendra: Servicii de căutare inteligentă pentru întreprinderi

Concluzia

În concluzie, sistemele RAG au evoluat rapid, inclusiv dezvoltarea unor paradigme mai avansate care permit personalizarea și îmbunătățirea performanței și utilității RAG pe o gamă largă de domenii. Există o cerere uriașă pentru aplicațiile RAG, ceea ce a accelerat dezvoltarea metodelor pentru a îmbunătăți diferitele componente ale unui sistem RAG.

De la metodologiile hibride la auto-recuperarea, acestea sunt unele dintre zonele de cercetare actual explorate ale modelelor RAG moderne. Există de asemenea o cerere crescută pentru instrumente și metrici de evaluare mai bune.

Figura de mai jos oferă o recapitulare a ecosistemului RAG, tehnicilor pentru a îmbunătăți RAG, provocărilor și altor aspecte conexe acoperite în această privire de ansamblu:

"Ecosistemul RAG"

Sursa figurii

Perspectivele de cercetare RAG

Mai jos este o colecție de lucrări de cercetare care evidențiază perspectivele cheie și cele mai recente dezvoltări în RAG.

PerspectivăReferințăData
Shows how retrieval augmentation can be used to distill language model assistants by training retrieval augmented simulatorsKAUCUS: Knowledge Augmented User Simulators for Training Language Model AssistantsMartie 2024
Proposes Corrective Retrieval Augmented Generation (CRAG) to improve the robustness of generation in a RAG system. The core idea is to implement a self-correct component for the retriever and improve the utilization of retrieved documents for augmenting generation. The retrieval evaluator helps to assess the overall quality of retrieved documents given a query. Using web search and optimized knowledge utilization operations can improve automatic self-correction and efficient utilization of retrieved documents.Corrective Retrieval Augmented GenerationIanuarie 2024
Recursively embeds, clusters, and summarizes chunks of text, constructing a tree with differing levels of summarization from the bottom up. At inference time, the proposed RAPTOR model retrieves from the tree, integrating information across lengthy documents at different levels of abstraction.RAPTOR: Recursive Abstractive Processing for Tree-Organized RetrievalIanuarie 2024
A general program with multi-step interactions between LMs and retrievers to efficiently tackle multi-label classification problems.In-Context Learning for Extreme Multi-Label ClassificationIanuarie 2024
Extracts semantically similar prompts from high-resource languages to improve the zero-shot performance of multilingual pre-trained language models across diverse tasks.From Classification to Generation: Insights into Crosslingual Retrieval Augmented ICLNoiembrie 2023
Improves the robustness of RAGs in facing noisy, irrelevant documents and in handling unknown scenarios. It generates sequential reading notes for retrieved documents, enabling a thorough evaluation of their relevance to the given question and integrating the information to prepare the final answer.Chain-of-Note: Enhancing Robustness in Retrieval-Augmented Language ModelsNoiembrie 2023
Eliminates tokens that might not contribute essential information to optimize the answer generation process of a reader. Reduces run-time by up to 62.2%, with only a 2% reduction in performance.Optimizing Retrieval-augmented Reader Models via Token EliminationOctombrie 2023
Instruction-tunes a small LM verifier to verify the output and the knowledge of the knowledge-augmented LMs with a separate verifier. It helps to address scenarios where the model may fail to retrieve the knowledge relevant to the given query, or where the model may not faithfully reflect the retrieved knowledge in the generated text.Knowledge-Augmented Language Model VerificationOctombrie 2023
Benchmark to analyze the performance of different LLMs in 4 fundamental abilities required for RAG, including noise robustness, negative rejection, information integration, and counterfactual robustness.Benchmarking Large Language Models in Retrieval-Augmented GenerationOctombrie 2023
Introduces the Self-Reflective Retrieval-Augmented Generation (Self-RAG) framework that enhances an LM's quality and factuality through retrieval and self-reflection. It leverages an LM to adaptively retrieve passages, and generates and reflects on retrieved passages and its own generations using reflection tokens.Self-RAG: Learning to Retrieve, Generate, and Critique through Self-ReflectionOctombrie 2023
Improves zero-shot information retrieval by iteratively improving retrieval through generation-augmented retrieval (GAR) and improving rewrite through RAG. The rewrite-retrieval stages improves recall and a re-ranking stage improves precision.GAR-meets-RAG Paradigm for Zero-Shot Information RetrievalOctombrie 2023
Pretrains a 48B retrieval model using a base 43B GPT model and retrieving from 1.2 trillion tokens. The model is further instruction tuned to demonstrate significant improvement over the instruction tuned GPT on a wide range of zero-shot tasks.InstructRetro: Instruction Tuning post Retrieval-Augmented PretrainingOctombrie 2023
Retrofits an LLM with retrieval capabilities through two distinct fine-tuning steps: one updates a pre-trained LM to better use retrieved information, and the other updates the retriever to return more relevant results, as preferred by the LM. By fine-tuning over tasks that require both knowledge utilization and contextual awareness, each stage yields performance improvements.RA-DIT: Retrieval-Augmented Dual Instruction TuningOctombrie 2023
A method to make RAGs robust to irrelevant content. It automatically generates data to fine-tune a language model to properly leverage retrieved passages, using a mix of relevant and irrelevant contexts at training time.Making Retrieval-Augmented Language Models Robust to Irrelevant ContextOctombrie 2023
Finds that LLMs with 4K context window using simple retrieval-augmentation at generation achieve comparable performance to finetuned LLMs with 16K context window via positional interpolation on long context tasks.Retrieval meets Long Context Large Language ModelsOctombrie 2023
Compresses retrieved documents into textual summaries prior to in-context integration which reduces the computational costs and relieves the burden of LMs to identify relevant information in long retrieved documents.RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective AugmentationOctombrie 2023
An iterative retrieval-generation collaborative framework that leverages both parametric and non-parametric knowledge and helps to find the correct reasoning path through retrieval-generation interactions. Useful for tasks that require multi-step reasoning and overall improves reasoning ability of LLMs.Retrieval-Generation Synergy Augmented Large Language ModelsOct 2023
Proposes Tree of Clarifications (ToC), a framework that recursively constructs a tree of disambiguations for ambiguous questions via few-shot prompting leveraging external knowledge. Then, it uses the tree to generate a long-form answer.Tree of Clarifications: Answering Ambiguous Questions with Retrieval-Augmented Large Language ModelsOct 2023
An approach that lets an LLM refer to the questions it has previously encountered and adaptively call for external resources when encountering new questions.Self-Knowledge Guided Retrieval Augmentation for Large Language ModelsOct 2023
A suite of metrics which can be used to evaluate different dimensions (i.e., the ability of the retrieval system to identify relevant and focused context passages, the ability of the LLM to exploit such passages in a faithful way, or the quality of the generation itself) without having to rely on ground truth human annotations.RAGAS: Automated Evaluation of Retrieval Augmented GenerationSep 2023
Proposes a generate-then-read (GenRead) method, which first prompts a large language model to generate contextutal documents based on a given question, and then reads the generated documents to produce the final answer.Generate rather than Retrieve: Large Language Models are Strong Context GeneratorsSep 2023
Demonstrates how rankers such as DiversityRanker and LostInTheMiddleRanker can be utilized in a RAG system to select and utilize information that optimizes LLM context window utilization.Enhancing RAG Pipelines in Haystack: Introducing DiversityRanker and LostInTheMiddleRankerAug 2023
Bridges LLMs with various knowledge bases (KBs), facilitating both the retrieval and storage of knowledge. The retrieval process employs program of thought prompting, which generates search language for KBs in code format with pre-defined functions for KB operations. It also offers the capability to store knowledge in a personalized KB, catering to individual user demands.KnowledGPT: Enhancing Large Language Models with Retrieval and Storage Access on Knowledge BasesAug 2023
Proposes a model that combines retrieval-augmented masked language modeling and prefix language modeling. Then, it introduces Fusion-in-Context Learning to enhance few-shot performance by enabling the model to leverage more in-context examples without requiring additional training.RAVEN: In-Context Learning with Retrieval Augmented Encoder-Decoder Language ModelsAug 2023
RaLLe is an open-source framework to develop, evaluate, and optimize RAG systems for knowledge-intensive tasks.RaLLe: A Framework for Developing and Evaluating Retrieval-Augmented Large Language ModelsAug 2023
Finds that the performance of an LLM can degrade significantly when changing the position of relevant information, which indicates that LLMs do not robustly make use of information in long input contexts.Lost in the Middle: How Language Models Use Long ContextsJul 2023
Synergizes retrieval and generation in an iterative manner. The model output is used to show what is needed to finish a task, providing informative context for retrieving more relevant knowledge which in turn helps generate a better output in the next iteration.Enhancing Retrieval-Augmented Large Language Models with Iterative Retrieval-Generation SynergyMay 2023
Provides a generalized view of active RAG, methods that actively decide when and what to retrieve across the course of the generation. Then, proposes Forward-Looking Active REtrieval augmented generation (FLARE), a method which iteratively uses a prediction of the upcoming sentence to anticipate future content, which is then utilized as a query to retrieve relevant documents to regenerate the sentence if it contains low-confidence tokens.Active Retrieval Augmented GenerationMay 2023
Introduces a generic retrieval plug-in that utilizes a generic retriever to enhance target LMs that may be unknown in advance or are unable to be fine-tuned jointly.Augmentation-Adapted Retriever Improves Generalization of Language Models as Generic Plug-InMay 2023
Improves dense retrieval on structured data through two pre-training strategies. First, it utilizes the natural alignment between structured and unstructured data for structure-aware pretraining. Then, it implements Masked Entity Prediction for masked entity prediction and capturing structural semantics.Structure-Aware Language Model Pretraining Improves Dense Retrieval on Structured DataMay 2023
Dynamically incorporates grounding information from heterogeneous sources in multiple domains to enhance factual correctness of LLMs. Introduces an adaptive query generator to deal with queries tailored to different knowledge sources. The framework corrects rationales progressively to make sure that inaccuracies from preceding rationales do not propagate into the subsequent steps.Chain-of-Knowledge: Grounding Large Language Models via Dynamic Knowledge Adapting over Heterogeneous SourcesMay 2023
A framework to generate context-relevant and knowledge-grounded dialogues with a knowledge graph (KG). It first retrieves the relevant subgraph from the KG, and then enforces consistency across facts by perturbing their word embeddings conditioned by the retrieved subgraph. Then, it utilizes contrastive learning to ensure that the generated texts have high similarity to the retrieved subgraphs.Knowledge Graph-Augmented Language Models for Knowledge-Grounded Dialogue GenerationMay 2023
Adopts a small language model as a trainable rewriter to cater to a black-box LLM reader. The rewriter is trained using the feedback of the LLM reader by RL. Results in a new framework called Rewrite-Retrieve-Read where the focus is on optimizing queries.Query Rewriting for Retrieval-Augmented Large Language ModelsMay 2023
Iteratively employs a retrieval-augmented generator to create an unbounded memory pool and uses a memory selector to choose one output as memory for the subsequent generation round. This enables a model to leverage its own output, referred to as self-memory, for improved generation.Lift Yourself Up: Retrieval-augmented Text Generation with Self MemoryMay 2023
Equips LLMs with a knowledge-guiding module to access relevant knowledge without altering its parameters. It improves performance of "black-box" LLMs on a range of domain knowledge-intensive tasks that require factual (+7.9%), tabular (+11.9%), medical (+3.0%), and multimodal (+8.1%) knowledge.Augmented Large Language Models with Parametric Knowledge GuidingMay 2023
Equips LLMs with a general write-read memory unit, allowing them to extract, store, and recall knowledge from the text as needed for task performance.RET-LLM: Towards a General Read-Write Memory for Large Language ModelsMay 2023
Adopts a task-agnostic retriever to build a shared static index and select candidate evidence efficiently. Then, designs a prompt-guided reranker to rerank the nearest evidence according to task-specific relevance for the reader.Prompt-Guided Retrieval Augmentation for Non-Knowledge-Intensive TasksMay 2023
Proposes UPRISE (Universal Prompt Retrieval for Improving zero-Shot Evaluation), which tunes a lightweight and versatile retriever that automatically retrieves prompts for a given zero-shot task input.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot EvaluationMar 2023
An adaptive filter-then-rerank paradigm that combines the strengths of SLMs (serve as filters) and LLMs (serve as rerankers).Large Language Model Is Not a Good Few-shot Information Extractor, but a Good Reranker for Hard Samples!Mar 2023
Zero-shot instructs an instruction-following LLM to generate a hypothetical document that captures relevance patterns. Then, a Contriever encodes the document into an embedding vector which is used to identify a neighborhood in the corpus embedding space, where similar real documents are retrieved based on vector similarity.Precise Zero-Shot Dense Retrieval without Relevance LabelsDec 2022
Proposes Demonstrate-Search-Predict (DSP), a framework to compose high-level programs that bootstrap pipeline-aware demonstrations, search for relevant passages, and generate grounded predictions, systematically breaking down problems into small transformations that can be handled more reliably.Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLPDec 2022
An approach for multi-step QA that interleaves retrieval with steps in a CoT, guiding the retrieval with CoT and in turn using retrieved results to improve CoT. This helps to improve performance on knowledge-intensive multi-step questions.Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step QuestionsDec 2022
Shows that retrieval-augmentation can reduce the dependence on relevant pre-training information, which makes RAG a promising approach for capturing the long-tail.Large Language Models Struggle to Learn Long-Tail KnowledgeNov 2022
Recites one or several relevant passages from LLMs' own memory via sampling, and then produces the final answers.Recitation-Augmented Language ModelsOct 2022
Leverages LLMs as a few-shot query generator, and creates task-specific retrievers based on the generated data.Promptagator: Few-shot Dense Retrieval From 8 ExamplesSep 2022
Presents Atlas, a pre-trained retrieval augmented language model able to learn knowledge intensive tasks with very few training examples.Atlas: Few-shot Learning with Retrieval Augmented Language ModelsAug 2022
Retrieves from the training data to achieve gains on multiple NLG and NLU tasks.Training Data is More Valuable than You Think: A Simple and Effective Method by Retrieving from Training DataMar 2022
Approximates a datastore search by saving pointers between consecutive datastore entries, and clustering those entries into states. Results in a weighted finite automaton that, at inference time, helps save up to 83% of the nearest neighbor searchers over kNN-LM without hurting perplexity.Neuro-Symbolic Language Modeling with Automaton-augmented RetrievalJan 2022
Improves an auto-regressive language model by conditioning on document chunks retrieved from a large corpus, based on local similarity with preceding tokens. It enhances the model by retrieving from a 2 trillion token database.Improving language models by retrieving from trillions of tokensDec 2021
A novel approach to zero-shot slot filling that extends dense passage retrieval with hard negatives and robust training procedures for retrieval augmented generation models.Robust Retrieval Augmented Generation for Zero-shot Slot FillingAug 2021
Introduces RAG models where the parametric memory is a pre-trained seq2seq model and the non-parametric memory is a dense vector index of Wikipedia, accessed with a pre-trained neural retriever. It compares two RAG formulations, one which conditions on the same retrieved passages across the whole generated sequence, and the other uses different passages per token.Retrieval-Augmented Generation for Knowledge-Intensive NLP TasksMay 2020
Shows that retrieval can be implemented using dense representations alone, where embeddings are learned from a small number of questions and passages by a simple dual-encoder framework.Dense Passage Retrieval for Open-Domain Question AnsweringApr 2020

References

Subiecte conexe