Asai et al. argue that conventional RAG retrieves a fixed number of passages for every query, regardless of whether the query actually needs retrieval or whether the passages are relevant — and never revisits its own generation. Self-RAG trains an arbitrary LM to emit special reflection tokens inline with the next-token prediction: a [Retrieve] token that decides on-demand whether to fetch passages, [IsRel] and [IsSup] tokens that judge each retrieved passage and the segment it produced, and an [IsUse] utility score that ranks segments by a weighted sum of those critiques. The model is trained by inserting GPT-4-generated reflection tokens into the corpus (offline critic), then fine-tuning the generator to predict them itself; at inference, segment-level beam search uses the predicted token probabilities to score and rank continuations, with no extra model calls.

The wins are uneven by design. Self-RAG-7B / 13B beats ChatGPT and most retrieval-augmented baselines on PopQA, ARC-Challenge, PubHealth and ASQA-citation, and on FactScore / MAUVE / rouge for biographies — but on short-form PopQA, Self-RAG-13B (55.8) still trails Ret-Llama2-chat-13B with private data (51.8 — actually beats it), and ASQA citation precision for Self-RAG-13B (70.3) finally closes the gap to ChatGPT (65.1) only after tuning the [IsUse] weight at test time. The case below reproduces the “How did US states get their names?” query verbatim and traces the three retrieved chunks through their [IsRel] / [IsSup] / [IsUse] critiques. Trajectories are schematic; numbers are paper-report. The argument and the tables are in the paper; this site does not host the PDF.

teaching explainer · Asai et al. · arXiv 2310.11511 · ICLR 2024 · Llama-2 7B / 13B · arXiv:2310.11511 | traces are schematic session logs; numbers marked paper-report come from the tables

0overview

core: Self-RAG adds four reflection tokens to the LM vocabulary — [Retrieve] / [IsRel] / [IsSup] / [IsUse] — so a single model decides on-demand whether to fetch passages and critiques its own segments before ranking.

decide

[Retrieve]

Emit before each segment. If Yes, fetch passages; if No, reuse parametric knowledge; if Continue, keep current context.

critique

[IsRel] / [IsSup] / [IsUse]

Per-passage relevance, per-statement support, and a 5-point utility score — all emitted as next-token predictions, no external critic at inference.

rank

Segment beam search

Score = p(segment) + weighted sum of normalized critique-token probabilities. Weights w_rel, w_sup, w_use adjustable at test time.

The first pane walks the four reflection tokens and the 10-step inference pipeline. The second pane demos conventional RAG failing on the same prompt. The third pane demos Self-RAG's three-step retrieval, parallel critique, and ranked best segment. The fourth pane prints the main results, ablation, and human-evaluation tables. Traces are teaching schematics; numbers are paper-report.

primer — what you need before you start

the task. Self-RAG is a retrieval-augmented generation (RAG) system that can refuse to retrieve, judge whether retrieved passages are relevant, judge whether its own draft is supported, and rank its own candidate segments. All four decisions are emitted as next-token predictions.

how it was done before. Vanilla RAG retrieves top-k chunks and stuffs them into the prompt — no per-chunk judgment, no per-statement verification, no per-segment ranking. Hallucinations propagate. Self-RAG closes the loop by training the model to be its own retriever, critic, and ranker.

glossary — terms you will see.
retrieval-augmented generation (RAG) — LLM answer generation conditioned on a query to a vector index.
parametric knowledge — facts stored in the LM's weights, not in any external index.
reflection tokens — four special tokens ([Retrieve], [IsRel], [IsSup], [IsUse]) the model emits to mark its own reasoning.
critic — in this paper, the model itself; the four tokens replace an external judge model.
PopQA / ASQA — short-form QA and long-form QA benchmarks used in the paper.
support — whether a retrieved passage backs a specific claim in the draft answer.

symbol table — what the letters mean.
xx — the input question.
DD — set of retrieved passages (variable size, decided by [Retrieve]).
yy — the generated answer text, split into segments.
yty_t — the t-th segment of the answer.
[Retrieve][\text{Retrieve}] — binary: yes / no / continue.
[IsRel][\text{IsRel}] — per-passage binary: relevant / irrelevant.
[IsSup][\text{IsSup}] — per-statement ternary: fully / partially / no support.
[IsUse][\text{IsUse}] — 5-point utility score (1–5).
wrel,wsup,wusew_{\text{rel}}, w_{\text{sup}}, w_{\text{use}} — adjustable inference-time weights for each critique token.

tone legend — what the [brackets] mean.
[obs] observation   [crit] critique / reflection
[retrieve] retrieval decision   [use] usage / utility
[eq] equation   [take] key takeaway
[sys] system / meta   [limit] paper-reported limit

Four panes cover, in pedagogical order: the four reflection tokens and 10-step pipeline; conventional RAG failing; Self-RAG retrieval + critique + ranking; main results + ablation + human eval. Each pane ends with key takeaways so you can stop after any section and still know what you learned.

1reflection tokens & algorithm 1

point: the LM emits reflection tokens inline with the next-token prediction, no extra model calls. At inference the algorithm runs through [Retrieve] → on-Yes: [IsRel] / [IsSup] / [IsUse] → weighted-rank; on-No: skip retrieval, still emit [IsUse].

session · sec 1 · four reflection tokens + 10-step inference
Self-RAG · four reflection tokens + 10-line inference

[Retrieve] (on-demand fetch) [IsRel] (relevance) [IsSup] (support) [IsUse] (utility 1–5) pipeline step reflection tokens / inference

2conventional RAG fails

point: conventional RAG retrieves a fixed three passages for every query, feeds them to the LM, and never revises. For "How did US states get their names?" the three retrievals are heterogeneous in topic, the LM confabulates Christopher Columbus as a state namesake, and reports "No information in passage" despite having just answered.

Prompt, three retrieved chunk titles, the LM output, and the contradiction diagnosis. Retrieval is schematic; LM output is verbatim including the hallucinated Columbus claim.

session · sec 2 · conventional RAG failure
conventional RAG · always retrieve 3 · no revision

retrieve (always) retrieved chunk LM output hallucination / contradiction

3Self-RAG inference

point: same prompt, but the model emits [Retrieve]=Yes, fetches three passages, runs [IsRel] + [IsSup] on each in parallel, then [IsUse] ranks. d3 ("California's name has its origins in a 16th-century novel Las Sergas de Esplandián") wins — fully supported, utility 5 — and the best segment is the one grounded in that passage.

Prompt, three chunk titles, every reflection-token prediction per chunk, the ranking line, and the final best segment.

session · sec 3 · three-step retrieval + parallel critique + rank
Self-RAG · Retrieve → parallel Critique → rank

[Retrieve] = Yes [IsRel] (relevant / irrelevant) [IsSup] (full / partial / no support) [IsUse] 1–5 best segment

4results

point: Self-RAG-7B / 13B beats ChatGPT and most retrieval-augmented baselines on PopQA, ARC-Challenge, PubHealth, ASQA-citation and biographies — but ChatGPT still leads on TriviaQA (74.3 vs 69.3) and PubHealth (75.3 vs 73.1), and ASQA citation precision (70.3) only crosses ChatGPT after tuning the [IsUse] weight at test time. Ablation shows the critic matters most (No Critic C → ASQA 18.1 vs full 32.1); retrieval on-demand beats always-retrieve-top1 (32.1 vs 28.6).

session · sec 4 · results
main results · ablation · human-eval

Self-RAG ChatGPT Toolformer / SAIL / Alpaca baselines ablation rows paper-report numbers

54.9

Self-RAG-7B PopQA acc (vs SAIL 46.7, Alpaca-13B 46.1, Toolformer N/A)

74.3

Self-RAG-7B ASQA MAUVE (vs Toolformer 6B ASQA citation precision 2.9)

−14.0

No-Critic ASQA EM drop (32.1 → 18.1) — critic is the load-bearing component

92.5 / 70.0

Human-eval S&P agreement PopQA / Bio (Bio still contested)

Stat cards are paper-report values, not computed from the printouts above.

5limits

point: paper-acknowledged limits. The training corpus needs GPT-4 to generate reflection tokens — not reproducible without the same API budget. At inference, segment-level beam search is slower than a single LM pass. ChatGPT still wins TriviaQA (74.3) and PubHealth (75.3). Human-eval agreement is 92.5 on PopQA but only 70.0 on Bio — long-form factuality judgment is contested.

session · sec 5 · limits
limits · verbatim or tagged

paper-acknowledged limit ChatGPT still leads on some tasks GPT-4 dependency / inference cost

Schematic traces are teaching schematics. Numbers reported: Asai, Wu, Wang, Sil, Hajishirzi, Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection, arXiv:2310.11511v1 (17 Oct 2023) · ICLR 2024, arXiv:2310.11511. Code and 7B / 13B models: github.com/AkariAsai/self-rag. This site does not host the PDF.