Recommender Systems in the Age of Generative AI

ML Prague 2026 Workshop

NoteWorkshop Details

Date: May 4, 2026, 14:00 – 17:30
Duration: 3 hours
Level: Intermediate to Advanced
Prerequisites: Python programming, basic ML knowledge

Welcome! 🎉

This hands-on workshop takes you on a complete journey through modern recommendation systems—from classical collaborative filtering to cutting-edge generative AI approaches.

What you’ll build:

  • EASE - Embarrassingly Shallow Autoencoders (collaborative filtering)
  • SASRec - Transformer-based sequential recommendation
  • LLM-powered recommendations (zero-shot, metadata generation)
  • Conversational recommendation (chat-based item discovery)
  • Generative recommendation pages (design exercise)

Workshop Structure

Topic Duration
Introduction & Motivation 20 min
I Foundations 30 min
II Transformers & SASRec 40 min
Break 30 min
III LLMs for Recommendation 50 min
IV Generative Pages 30 min
Wrap-up & Resources 10 min

What You’ll Learn

I. Classical Foundations

MovieLens dataset, EASE, Two-Tower Models

Explore the MovieLens dataset and learn about collaborative filtering with EASE (Embarrassingly Shallow Autoencoders), a simple yet powerful linear model that learns item-item similarity. Understand the two-tower architecture that powers YouTube and Google Play recommendations at massive scale. Master the fundamentals of embedding-based retrieval.

II. Sequential Models

Transformer architecture, SASRec, User embedding

Build a transformer-based recommender that captures temporal patterns in user behavior. Learn how self-attention mechanisms identify which past items matter most for predicting what comes next. Understand how sequential models like SASRec and BERT4Rec go beyond static user embeddings to model dynamic preferences.

III. LLM-Powered Recommendation

Zero-Shot Recommendation, Metadata Augmentation, Cold-Start Recommendation

Harness large language models to recommend items without training data, solving the cold-start problem that plagues traditional methods. Learn to enrich sparse catalogs with AI-generated descriptions and use LLMs as zero-shot rankers. Bridge the gap between collaborative filtering and semantic understanding.

IV. Generative Pages

Re-ranking, Slate Optimization, Whole Page Generation

Move beyond ranked lists to design personalized homepages where the entire layout adapts per user. Learn slate optimization techniques, understand diversity and coverage constraints, and explore how modern platforms like Netflix and Spotify generate multi-carousel experiences. Design your own recommendation page from scratch.

Tech Stack

  • Python - High-level programming language for data science and machine learning
  • JupyterLab - Interactive notebook environment for hands-on exercises
  • Quarto - Publishing system for slides and workshop materials
  • Polars - Lightning-fast DataFrame library for data manipulation
  • PyTorch - Deep learning framework for building neural recommendation models
  • plotnine - Grammar of graphics visualization (Python port of ggplot2)
  • NumPy & SciPy - Scientific computing and sparse matrix operations
  • Ollama - Local LLM inference with CPU optimization

Key Papers

The workshop is grounded in influential research:

Classical Recommenders

  • Koren et al. (2009): Matrix Factorization Techniques
  • Steck (2019): EASE - Embarrassingly Shallow Autoencoders

Embeddings

  • Mikolov et al. (2013): Word2Vec - Efficient Estimation of Word Representations
  • Grover & Leskovec (2016): Node2Vec - Scalable Feature Learning for Networks
  • Malkov & Yashunin (2018): HNSW - Hierarchical Navigable Small World Graphs

Sequential Models

  • Vaswani et al. (2017): Attention Is All You Need
  • Kang & McAuley (2018): SASRec - Self-Attentive Sequential Recommendation
  • Sun et al. (2019): BERT4Rec - Bidirectional Sequential Recommendation

LLM & Generative

  • Geng et al. (2022): P5 - Recommendation as Language Processing
  • Hou et al. (2023): LLMs are Zero-Shot Rankers

During the Workshop

Prerequisites

Before the workshop, please install:

Setup

Clone the repository:

git clone https://github.com/jankislinger/recsys-genai.git

Download the MovieLens dataset:

uv run recsys-genai download-data
uv run recsys-genai prepare-data --dataset small

Pull the required language models:

ollama pull nomic-embed-text-v2-moe
ollama pull ministral-3:3b

Running Notebooks

We’ll use JupyterLab for hands-on coding:

uv run jupyter lab --notebook-dir=notebooks

This opens directly in your browser. Navigate to the notebooks/ folder and open any notebook (*.qmd files).

Viewing Slides

Slides are available on this website! Click the links above or use the navigation menu.

Note

All materials (slides and notebooks) are viewable directly in your browser—no additional software needed!

After the Workshop

Take-Home Materials

All materials are available on GitHub:

  • 📓 Jupyter notebooks with solutions
  • 📊 Slide presentations
  • 🐍 Reusable Python utilities (src/recsys_genai/)

Stay in Touch

References

Geng, S., Liu, S., Fu, Z., Ge, Y., & Zhang, Y. (2022). Recommendation as language processing (P5): A unified pretrain, personalized prompt & predict paradigm. Proceedings of the 16th ACM Conference on Recommender Systems, 299–315. https://doi.org/10.1145/3523227.3546767
Grover, A., & Leskovec, J. (2016). node2vec: Scalable feature learning for networks. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 855–864. https://doi.org/10.1145/2939672.2939754
Hou, Y., Zhang, J., Lin, Z., Lu, H., Xie, R., McAuley, J., & Zhao, W. X. (2023). Large language models are zero-shot rankers for recommender systems. arXiv Preprint arXiv:2305.08845. https://arxiv.org/abs/2305.08845
Kang, W.-C., & McAuley, J. (2018). Self-attentive sequential recommendation. 2018 IEEE International Conference on Data Mining (ICDM), 197–206. https://doi.org/10.1109/ICDM.2018.00035
Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix factorization techniques for recommender systems. Computer, 42(8), 30–37. https://doi.org/10.1109/MC.2009.263
Malkov, Y. A., & Yashunin, D. A. (2018). Efficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 42(4), 824–836. https://doi.org/10.1109/TPAMI.2018.2889473
Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv Preprint arXiv:1301.3781. https://arxiv.org/abs/1301.3781
Steck, H. (2019). Embarrassingly shallow autoencoders for sparse data. The World Wide Web Conference, 3251–3257. https://doi.org/10.1145/3308558.3313710
Sun, F., Liu, J., Wu, J., Pei, C., Lin, X., Ou, W., & Jiang, P. (2019). BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer. Proceedings of the 28th ACM International Conference on Information and Knowledge Management, 1441–1450. https://doi.org/10.1145/3357384.3357895
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017). Attention is all you need. Advances in Neural Information Processing Systems, 30. https://proceedings.neurips.cc/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html