atlas

Research map / Large language models / Retrieval and knowledge

Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection

ICLR 2024 · Large language models › Retrieval and knowledge · approach: RAG robustness and evaluation

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Self-RAG trains a single LM to adaptively retrieve passages on demand and critique its own generations using reflection tokens, with critic labels distilled from GPT-4 and controllable segment-level beam search at inference.

Problem

Standard retrieval-augmented generation retrieves a fixed number of passages indiscriminately, regardless of whether retrieval is needed or passages are relevant, which hurts versatility and factuality, and outputs are not guaranteed to be supported by retrieved evidence.

Approach

Train an arbitrary LM to emit special reflection tokens (retrieve, relevance, support, utility) as next-token predictions, with labels produced offline by a critic model distilled from GPT-4, and use these tokens at inference for adaptive retrieval and weighted segment-level beam search without an external critic or RLHF.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Train Llama2 with Self-RAG retrieval and reflectionLlama2-7B · PopQAaccuracy: 48.7 -> 54.9Helped
Train Llama2 with Self-RAG retrieval and reflectionLlama2-7B · PubHealthaccuracy: 64.3 -> 72.4Helped
Train Llama2 with Self-RAG retrieval and reflectionLlama2-7B · ALCE-ASQAcitation precision: 5.0 -> 66.9Helped
Use Self-RAG 7B instead of ChatGPTChatGPT · PubHealthaccuracy: 70.1 -> 72.4Helped
Use Self-RAG 7B instead of ChatGPTChatGPT · PopQAaccuracy: 29.3 -> 54.9Helped
Use Self-RAG 7B instead of ChatGPTChatGPT · Biography generationFactScore: 71.8 -> 81.2Helped
Use Self-RAG 7B instead of ChatGPTChatGPT · ALCE-ASQAMAUVE: 68.8 -> 74.3Helped
Use Self-RAG 13B instead of ChatGPTChatGPT · TriviaQA-unfilteredaccuracy: 74.3 -> 69.3Hurt
Use Self-RAG 13B instead of ChatGPTChatGPT · ARC-Challengeaccuracy: 75.3 -> 73.1Hurt
Use Self-RAG 13B instead of retrieval-augmented ChatGPTRet-ChatGPT · ALCE-ASQAcitation precision: 65.1 -> 70.3Helped
Always retrieve the top one document instead of adaptive retrieval and passage selection (ablation)Self-RAG · PopQA and ALCE-ASQAperformanceHurt
Remove the support score from critique-guided beam search (ablation)Self-RAG · ALCE-ASQAperformanceHurt

Surprising findings

Limitations

Experimental setup

Datasets: Open-Instruct (ShareGPT, GPT-4 Alpaca, Alpaca, OpenAssistant, FLAN) Natural Questions Wizard of Wikipedia FEVER KILT ASQA ARC-Easy OpenBookQA PubHealth ARC-Challenge PopQA TriviaQA-unfiltered

Benchmarks: PopQA TriviaQA-unfiltered PubHealth ARC-Challenge FActScore biographies ALCE-ASQA

Metrics: accuracy FactScore str-em rouge MAUVE citation precision citation recall human S&P

Baselines: Llama2-chat-13B ChatGPT Ret-ChatGPT Ret-Llama2-chat Alpaca Llama2-FT SAIL Toolformer CoVE perplexity.ai

Builds on: retrieval-augmented generation Toolformer SAIL RLHF with PPO Contriever

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy