Walking through library stacksThe spring course · March–April 2026 · slides and notebooks

The spring course: Information Retrieval (March–April 2026)

IR 2 builds on the spring course Information Retrieval for AI & Data Science: six Friday sessions that went from evaluation metrics and BM25 to dense retrieval, reranking, hybrid search, benchmarks and a first RAG, with a Codabench challenge on scientific-article retrieval. This page is the self-study package for students who did not take it, and the refresher for those who did.

The notebooks come without solutions. They are reused next year. Everything needed to fill them in is in the slides; returning students can compare with what they submitted in the spring.

# Date Topic Slides Notebook
1 Mar 13 Foundations and evaluation metrics: retrieval vs classification, inverted index, P@k, MRR, MAP, nDCG slides in-class notebook
2 Mar 20 BM25 and sparse retrieval at scale: from TF-IDF to BM25, variants, preprocessing, tuning slides prep notebook
3 Mar 27 Dense retrieval and bi-encoders: sentence-transformers, FAISS, dense vs sparse, scientific-document models slides prep notebook
4 Apr 3 Re-ranking, cross-encoders and hybrid search: two-stage pipelines, RRF, doc2query, ColBERT slides prep notebook
5 Apr 10 Benchmarks (BEIR, MTEB), RAG, chunking, the state of the art slides prep notebook
6 Apr 17 Student project presentations — —

Self-study path for newcomers (about 15 hours before Nov 6)

  1. Class 1 (2 h): go through the slides, then do the in-class notebook. You must be able to compute MRR and nDCG by hand for a small example.
  2. Class 2 (3 h): slides, then the prep notebook. Implement BM25 yourself before touching rank_bm25.
  3. Class 3 (3 h): slides, then the prep notebook. Encode a corpus with a sentence-transformer, build a FAISS index, compare with BM25 on the same queries.
  4. Class 4 (3 h): slides, then the prep notebook. Rerank a BM25 top-100 with a cross-encoder; fuse with RRF.
  5. Class 5 (3 h): slides, then the prep notebook. Run your pipeline on two BEIR datasets and build a mini-RAG.
  6. Write down the three things that surprised you; bring them to session 1.

Setup. Python 3.10+, pip install rank_bm25 sentence-transformers faiss-cpu nltk beir mteb pandas matplotlib. Models download from Hugging Face on first use (all-MiniLM-L6-v2, cross-encoder/ms-marco-MiniLM-L-6-v2, allenai/specter2). No GPU needed.

Data. The notebooks use a subset of MS MARCO (about 92k passages, 1,000 queries) and BEIR datasets. BEIR downloads itself from the beir library; the MS MARCO subset (1.3 GB) is available from the instructor — link to follow.

If you took a comparable IR course elsewhere, skim the slides for the vocabulary and the metrics; the notebooks are optional for you.