Information Retrieval 2 — Recent Advances in Information Retrieval
Seminar, M2 (AI track), Université Paris-Saclay — Fall
2026
Instructor: Kim Gerdes · Language:
English · Format: reading seminar with
implementations
When: six Friday mornings, 9:00–12:30 · Nov 6, 13, 20,
27 · Dec 4, 11 (2026)
Who: 28 students in 14 pairs · who presents what, and who discusses it
Companion documents: the annotated literature review (13 themes, 161 papers), the paper menu and the bidding page, the grading sheets.
1. Positioning
The spring course Information Retrieval (March–April 2026; slides and notebooks) built a complete modern retrieval pipeline: IR metrics → BM25 and variants → bi-encoders and FAISS → cross-encoder reranking, RRF, doc2query, ColBERT → BEIR/MTEB → a mini-RAG, with a scientific-article Codabench challenge.
IR 2 takes the pipeline as given and asks what has changed since 2023 and what the open problems are: LLMs as rerankers, query rewriters and search agents; how embedding models are actually trained and where they break; learned sparse and multi-vector retrieval in production; RAG beyond "retrieve then prompt"; scholarly and patent retrieval; evaluation with LLM judges; poisoning and bias; multimodal documents.
Each pair adopts one paper (a modern classic or a 2024–2026 paper), presents it, reproduces a key result at small scale, and applies the method on a shared testbed so the whole seminar produces one comparable table.
For newcomers, meaning students who took neither the spring course nor a comparable IR course elsewhere (BM25, dense retrieval, reranking, RAG): the spring course page is your self-study package — the slides of the five classes and the notebooks without solutions (the slides contain everything needed to fill them in) — and you are paired with a returning student. Session 1 includes a 45-minute recap. Expect roughly 15 hours of self-study before Nov 6. If you followed a similar IR course elsewhere, say so when you bid: the notes are still worth a skim, and you count as a returning student when pairs are formed.
Inside a mixed pair, a sensible split: the newcomer owns the testbed run, the results table and the live demo (the most scaffolded parts, with starter code in the repo); the returning student owns the reproduction. Both present, both answer questions, and the report says who did what.
Each student presents once (one talk, with their partner) and is discussant once (for a paper in another session), and posts one question per session. That is the whole workload; nothing else is graded.
2. Calendar and deadlines
| Date | What |
|---|---|
| Sept 3 | Menu and bidding page online at gerdes.fr/inforet: each student ranks 3–5 papers, covering at least three sessions with at least two on Nov 13 / Nov 20; bids visible to everyone, editable until the deadline |
| Sept 30 | Bidding closes (23:59) |
| Nov 4 (postponed from Oct 5) | Pairs formed (newcomer + returning student, preferred partners honoured when mutual) and papers assigned to maximise total preference, one paper per pair; session slots and discussants published: pairs, papers and discussants |
| Nov 10, 23:59 (postponed from Oct 23) | Each pair sends a half-page reading plan: paper in 5 sentences, what will be reproduced, what will be run on the testbed, compute plan, risks |
| Nov 6 | Session 1 — kickoff (no student presentations). Shared testbed repo published. Slides: kickoff, model presentation |
| Nov 13 – Dec 11 | Sessions 2–6 — about three presentations per session, two in the last one; the exact count depends on the final number of pairs |
| Session − 2 days (Wednesday 18:00) | Slides, code, results table and demo queries posted to the shared repo |
| Session − 1 day (Thursday 18:00) | Discussant notes, ending with two questions each, submitted one day after the material; forwarded to the presenting pair the same evening |
| Presentation + 7 days | Short report due (integrates the discussion feedback) |
| Dec 18 | Final deadline for all reports and code |
Pairs presenting on Nov 13 have one week from the assignment (Nov 4); pairs presenting on Dec 11 have five. In exchange, late presenters are expected to relate their paper to what was presented earlier in the seminar.
3. A session (3h30)
| Time | Slot | Minutes |
|---|---|---|
| 9:00 | Instructor framing: the theme of the day, the 3–4 key ideas, how the three papers relate | 30 |
| 9:30 | Paper A: talk 25 · live demo 10 · question round with the discussants 8 · open discussion 7 | 50 |
| 10:20 | Paper B: same | 50 |
| 11:10 | Break | 15 |
| 11:25 | Paper C: same | 50 |
| 12:15 | Wrap-up: shared results table update, cross-paper discussion, next week's reading | 15 |
The 15 minutes after the demo are a dialogue, not a review. The two discussants open with the two questions each sent on Thursday; the presenters answer them, prepared, in two minutes at most per question, and a discussant follows up once when an answer dodges. Then the moderator opens the floor with the questions the class posted, and anyone may intervene at any point, including during the question round. The instructor stays silent for the first five minutes.
Rules of thumb for presenters: assume the audience has read the abstract and the spring notes, nothing else. One slide of "what the spring pipeline does" versus "what this paper changes". Show at least one number you produced yourself. End with what did not work.
Live demo protocol (10 minutes, three queries). The demo runs on the presenters' laptop against indexes computed beforehand: nothing is trained or indexed live, Colab is used only if it was tested that morning, and a two-minute screen recording is kept as a fallback. Show side-by-side rankings, spring baseline versus your method, for exactly three queries: a hero query where the method clearly wins and you can say why; a failure query where it collapses; and a wildcard query proposed on the spot by the discussants or the audience. Three queries fill ten minutes and leave no room for scrolling through a notebook.
Before every session, every student posts one question about one of the session's papers on the question page (deadline Thursday 18:00). Each question stays hidden until the session starts at 9:00, so nobody can copy. The session's presenters and discussants can read them from Thursday 18:00, once posting has closed; the instructor uses them to grade participation.
4. Session 1 — kickoff (Nov 6)
| Time | Content |
|---|---|
| 9:00 | The strike and the blockades: where things stand (5 min) |
| 9:05 | Why a seminar, the format, grading, the calendar (15 min) |
| 9:20 | IR in 45 minutes: metrics, BM25, bi-encoders and ANN, reranking and fusion, BEIR, RAG — the spring pipeline as one diagram, and the vocabulary the seminar will use. Returning students: refresher. Newcomers: the map for the self-study they did in October |
| 10:05 | Articles and patents in 15 minutes: the anatomy of a scientific article, what a citation means, who searches articles and for what; then the anatomy of a patent and how the two differ: abstract or claims, author or examiner citations, top results or total recall (the PRES metric, Magdy & Jones 2010) |
| 10:20 | Break |
| 10:35 | How to read and present an IR paper: claims vs evidence, baselines and how to tell whether they were tuned, ablations, reading a results table with 300 queries in mind (significance, effect size), what "SOTA" means on a saturated benchmark, reproducibility checklist; the slide template; the two discussant roles explained |
| 11:05 | Model presentation by the instructor, shortened to 25 minutes: Beyond Abstracts: Learning Scientific Paper Embeddings from Full-Text Windows (Djemmal, Olutola & Gerdes 2026): talk, live demo, and the questions discussants A and B should ask. Students see the format once before they do it |
| 11:30 | Pairs at work: read your paper's abstract, introduction and main results table together, then draft the reading plan. The instructor comes round, Nov 13 and Nov 20 pairs first, and the Nov 13 discussants meet their pairs |
| 12:30 | End |
Slides (PDF): kickoff · model presentation
5. Sessions 2–6 — themes (provisional)
The themes below are the default grouping; the final mapping follows the papers the pairs choose. About three presentations per session, two in the last one, which fits 27 students in 13–14 groups with one spare slot; the exact count follows the final number of pairs.
| # | Date | Theme | Instructor framing (30 min) |
|---|---|---|---|
| 2 | Nov 13 | Representations: how embedding models are trained today, contrastive and self-supervised objectives, embedding geometry, learned sparse and multi-vector retrieval | The embedding timeline 2013→2026; alignment/uniformity; why BM25 is still a baseline |
| 3 | Nov 20 | Domains: scholarly and patent retrieval, domain adaptation and synthetic training data, multilingual retrieval | The MS MARCO → science gap from the spring challenge; citation-based supervision; what a patent examiner needs |
| 4 | Nov 27 | LLMs in the loop: LLM rerankers, LLM query rewriting, reasoning-intensive retrieval, generative retrieval | The cost/quality ladder from cross-encoders to listwise LLM rerankers; when expansion helps and hurts |
| 5 | Dec 4 | RAG and agents: adaptive and structured RAG, long context vs retrieval, search agents and deep research | From "retrieve then prompt" to loops; what changes when the user is an LLM |
| 6 | Dec 11 | Trust: evaluation with LLM judges, poisoning and bias, multimodal and visually rich documents · final synthesis | Can LLMs judge relevance? · The shared results table: what actually moved nDCG on the testbed |
Session 6 ends with a 45-minute synthesis: the assembled results table, what generalised across papers, what did not, and course feedback.
6. The shared testbed
Everything a pair implements is evaluated twice: once as a reproduction (the paper's own setting, scaled down) and once on the shared testbed (the seminar's setting, identical for everyone). The testbed has two tracks, because a 5,000-document corpus can show whether a method ranks better but not whether it is faster.
Repo: github.com/kimgerdes/ir2-testbed · shared results table
Track A, effectiveness: the spring baseline on three BEIR datasets already on every laptop.
| Dataset | Docs | Queries | What it stresses | BM25 nDCG@10 | Dense (MiniLM) nDCG@10 |
|---|---|---|---|---|---|
| SciFact | 5,183 | 300 | scientific claims with high lexical overlap | 0.676 | 0.646 |
| NFCorpus | 3,633 | 323 | vocabulary mismatch between lay medical queries and abstracts | 0.321 | 0.316 |
| ArguAna | 8,674 | 1,406 | the query is itself a document and the target its counter-argument | 0.516 | 0.503 |
The scientific-article set from the spring challenge (graded
relevance) can be added for methods aimed at scholarly search; it is not
in the repo. Baselines in the repo: BM25, all-MiniLM-L6-v2,
BAAI/bge-small-en-v1.5, RRF(BM25 + dense), cross-encoder
ms-marco-MiniLM-L-6-v2 rerank of the BM25 top-100. Metrics:
nDCG@10 and Recall@100, and, computed by the shared script, a
paired t-test and a bootstrap 95 % confidence interval
of the per-query difference against the closest baseline (the paired
t-test is the most reliable choice for IR, Urbano et al. 2019). Every
pair adds one row per dataset. A +0.01 with p = 0.4 is reported as
noise, not as a win.
Track B, efficiency: the MS MARCO subset (92,565 passages, 1,000 queries) that every returning student has from the spring. For papers about indexing, quantisation, learned-sparse or multi-vector engines (Seismic, RaBitQ, HNSW hubs, MUVERA, WARP, ConstBERT, ACORN), 5,000 documents show nothing: a flat NumPy dot product takes milliseconds and any index is slower. On 92k passages the speed-ups become visible. Metrics: queries per second on the laptop CPU, index build time, index size on disk, peak RAM, and Recall@10 against exact search, so that the effectiveness cost of the speed-up sits on the same row. Track B pairs also report Track A nDCG@10 to show that ranking quality survived. No paper assigned this year needs Track B, so the repo does not include it.
Papers whose object is neither ranking nor speed (evaluation, security, RAG generation, agents) still use the Track A corpora: LLM relevance judgments on SciFact versus the human qrels, poisoning of NFCorpus, a RAG loop over ArguAna. The report must state explicitly which testbed number the method changes and by how much.
Starter kit in the repo. Nobody in the spring course
trained an encoder, and about a third of the menu asks for it. Besides
the baseline scripts, the repo ships
starter-contrastive-training.ipynb: a sentence-transformers
v3 training loop with MultipleNegativesRankingLoss and in-batch
negatives, hard-negative mining with the spring cross-encoder, an
optional LoRA adapter via peft on BGE-small, and ten lines
of NumPy for the alignment and uniformity metrics of Wang & Isola
(2020). If your paper involves training, run it once first.
Compute guide. Laptops (CPU, 16 GB) handle everything at BEIR scale with models ≤ 150M parameters. Free Colab (T4, 16 GB VRAM) handles fine-tuning MiniLM / BGE-small / ModernBERT-base with small batches, and inference with 1–8B open LLMs (Qwen 2.5/3, Llama 3.x, Mistral 7B in 4-bit). Not feasible: training LLMs, indexing millions of documents, commercial API spend beyond a few euros. Choose the small-scale version of the experiment and say so in the report.
Repository conventions. One folder per pair in the
shared GitHub repo, added by pull request:
README.md (how to run, in ≤ 10 lines),
reproduce.ipynb, method.py (writes your runs;
python testbed.py score turns them into
results.json), demo.md (the three demo queries
and the link to the fallback recording), slides.pdf,
report.pdf. results.json follows the schema in
the repo: per dataset, the method's nDCG@10 and Recall@100, the closest
baseline's, the delta, the paired-t p-value and the bootstrap CI. The results table builds itself.
7. Grading
| Component | Weight | Who is graded | Sheet |
|---|---|---|---|
| Presentation (talk + demo + handling of discussion) | 40 % | the pair (individual adjustment ±10 % possible) | grading sheets §1 |
| Implementation + report (reproduction, testbed result, code quality, honesty of analysis) | 40 % | the pair | §2 |
| Discussant role (once per student) + weekly questions | 20 % | individual | §3 |
Each student presents once (with their partner) and is discussant exactly once, for a paper in a different session and theme than their own. Two discussants per paper; 27 students cover 13–14 papers. Discussant assignments are published with the paper assignments on Nov 4 so everyone knows their week early.
8. The discussant role
Discussants are the seminar's peer reviewers. Two per paper, with distinct briefs so they do not repeat each other:
- Discussant A, the auditor, reads the pair's code,
README and
results.jsonas closely as the paper. Were the baselines tuned? Is the scaled-down reproduction faithful to the claim it tests? Does the testbed row hold up (p-value, both tracks where relevant)? Were failures reported? Their question targets an anomaly in the implementation or the numbers. - Discussant B, the skeptic, reads the paper against the field. Does it solve a real problem or a benchmark artefact? What does it cost to deploy? How does it relate to the spring pipeline and to another seminar paper? Their question is about validity and use.
Both discussants:
- Read the paper in full, plus the pair's README, results table and demo queries, posted on the Wednesday before the session (18:00). Presenters who post late lose 2 points per day on the presentation sheet: without the material the discussants cannot do their job.
- Submit a one-page discussant note by Thursday 18:00, one day after the material, using the role-specific template in grading sheets §3. The note ends with two questions for the presenters. The instructor forwards both notes to the pair the same evening; the pair prepares short written answers.
- After the demo, the question round (8 minutes): A then B put their two questions; the presenters answer each in two minutes at most; a discussant follows up once when an answer dodges. Anyone in the room may cut in. No slides, no summary of the talk.
- Then the open discussion (7 minutes): A moderates: brings in the questions the class posted, keeps time, makes sure at least three other people speak; B reopens with a question that was not covered if the room is quiet.
The instructor stays out of the discussion for the first five minutes. This is deliberate.
9. What the instructor prepares
- Sept: the menu (from full review); the
testbed repo with baseline scripts,
testbed.py(including the paired t-test and bootstrap CI) and theresults.jsonschema; the contrastive-training starter notebook; the self-study package for newcomers. - Nov 4–10: assignments, the discussant schedule with A/B roles, the reading-plan feedback (one paragraph per pair).
- Per session: 30-minute framing lecture; the framing pointers are listed per theme in full review.
- Session 1: the 15-minute primer on articles and patents and the model presentation of Beyond Abstracts in seminar format, with the three-query demo done properly.
- Session 6: the synthesis of the shared results table.
10. Risks and mitigations
| Risk | Mitigation |
|---|---|
| A pair picks a paper that needs compute they do not have | The menu marks compute per paper; the reading plan (Nov 10) must name the scaled-down experiment; instructor vetoes early |
| Reproduction fails | A documented failed reproduction with a diagnosis is a valid, gradable result. Say so in session 1 |
| Passive audience | Discussant role + mandatory pre-session question + instructor silence at the start of discussions |
| Newcomers lost in session 2 | Self-study package in September; paired with a returning student; the 60-minute recap in session 1 |
| Late-session pairs coast | Reading plan due for everyone on Nov 10; late presenters must connect to earlier talks |
| Paper turns out to be weak or already covered | The menu is curated from full review with overlap checked against the spring notes |
| Efficiency paper shows nothing on 5k documents | Track B on the 92k MS MARCO subset with QPS, index size, RAM and Recall@10 vs exact |
| Pair has never trained a model | Starter notebook run by everyone in session 1; the menu marks which papers need training |
| Live demo fails or becomes notebook scrolling | Three-query protocol on precomputed indexes; fallback recording;
demo.md posted with the material on Wednesday |
| Presenters post their material late, discussants cannot prepare | Material due Wednesday 18:00, discussant notes one day later; each day late costs 2 points on the presentation sheet |
| Two discussants repeat each other | Auditor / skeptic split with separate note templates |
