← Open Source
google-deepmind

limit

On the Theoretical Limitations of Embedding-Based Retrieval.

Model DevelopmentDataset engineeringJupyter Notebook
Open on GitHub
Momentum
+0stars in 24 hours0.0%
673
Stars
57
Forks
+1
This week
2
Contributors
Created 2025-08-29 · Updated 2026-10-09 · #15186 today
Top developers
jhyukleeorionw

google-deepmind/limit is ranked 15,186 with 673 stars.

Same-category comparison

google-deepmind/limit is ranked 15,186 among these 8 peers; zeusees/Zeusee-Face-Anti-spoofing is ranked 15,180.

Same-category comparison
NameRankMetrics
facebookresearch/synsin15,172
Language:
Python
Stars:
674
Forks:
93
Description:
View synthesis for the public.
muhanzhang/SEAL15,175
Language:
C
Stars:
674
Forks:
145
Description:
SEAL (learning from Subgraphs, Embeddings, and Attributes for Link prediction). "M. Zhang, Y. Chen, Link Prediction Based on Graph Neural Networks, NeurIPS 2018 spotlight".
ydli-ai/CSL15,179
Language:
Python
Stars:
674
Forks:
64
zeusees/Zeusee-Face-Anti-spoofing15,180
Language:
C++
Stars:
674
Forks:
223
sail-sg/oat15,193
Language:
Python
Stars:
673
Forks:
63
Description:
🌾 OAT: A research-friendly framework for LLM online alignment, including reinforcement learning, preference learning, etc.
KyanChen/RSPrompter15,195
Language:
Python
Stars:
672
Forks:
44
Description:
This is the pytorch implement of our paper "RSPrompter: Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model".
OATML/bdl-benchmarks15,196
Language:
Jupyter Notebook
Stars:
672
Forks:
93
Description:
Bayesian Deep Learning Benchmarks.
cbfinn/maml_rl15,198
Language:
Python
Stars:
672
Forks:
189
Description:
Code for RL experiments in "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks".
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageJupyter Notebook
CategoryModel Development
SubcategoryDataset engineering
KeywordsBenchmarks, Embeddings
Stars673
Forks57
Contributors2
Created date2025-08-29
Updated date2026-10-09
Stars in 1 day0
Stars in 7 days1
Rank15,186
Previous rank15,009
Rank change-177
7-day stars rank10,975
Previous 7-day stars rank11,033
7-day stars rank change58
Total stars rank15,347
Previous total stars rank15,319
Total stars rank change-28
CountryUK
README summary

On the Theoretical Limitations of Embedding-based Retrieval This repository contains the official resources for the paper "On the Theoretical Limitations of Embedding-based Retrieval". This work introduces the **LIMIT** dataset, designed to stress-test embedding models based on theoretical principles. We show that for any given embedding dimension , there exists a combination of documents that cannot be returned by any query. We use this theory to instantiate the dataset LIMIT, finding that even state-of-the-art models struggle

: highlighting a fundamental limitation of the current single-vector embedding paradigm. Overview Data Code Evaluation Citation License and disclaimer Data The datasets used in our experiments are available in the directory of this repository, formatted in MTEB style (i. Each dataset contains: A file containing a line for each of the 1000 queries, each with an and the field. A file containing a line for each of the 50k (or 46 if using the version) documents, each with an , and

empty field. A file containing rows for each of the 2000 relevant query->doc mappings, mapping of the queries into the in the documents, with indicating relevance. **Full Dataset ( ):** The complete dataset, containing 50k documents. Link to **Small Sample ( ):** A smaller version with only the 46 documents relevant to the queries. Link to Code We provide code to generate the LIMIT style datasets, as well as to run the free embedding experiment in the folder. **Dataset Generation:** To generate the

dataset from scratch, you can use the Jupyter notebook located at . This contains all necessary steps and dependencies. Link to **Free Embedding Experiments:** The script to run the free embedding experiments can be found in . Link to If you use the free embedding code, you'll need to install the following requirements. Installation We recommend using the package manager. Loading with Huggingface Datasets You can also load the data using the library from Huggingface (LIMIT, LIMIT-small): Evaluation Evaluation was done

using the MTEB framework. You can reproduce this **only on the v2. 0 branch is changing rapidly, so **please install the version pinned in the requirements** until it becomes main. An example is: Please see their Github for more details. Citation If you use this work, please cite the paper as: License and disclaimer Copyright 2025 Google LLC All software is licensed under the Apache License, Version 2. 0); you may not use this file except in compliance with the

Apache 2. 0 license at: All other materials are licensed under the Creative Commons Attribution 4. You may obtain a copy of the CC-BY license at: Unless required by applicable law or agreed to in writing, all software and materials distributed here under the Apache 2. 0 or CC-BY licenses are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the licenses for the specific language governing permissions and

limitations under those licenses.

Frequently asked questions

How many stars and forks are recorded?

google-deepmind/limit has 673 stars and 57 forks.

What is the repository rank?

google-deepmind/limit is ranked 15,186.

What language and category are recorded?

google-deepmind/limit has 673 stars, uses Jupyter Notebook and belongs to Model Development.

Which repository is closest in rank?

google-deepmind/limit is compared with zeusees/Zeusee-Face-Anti-spoofing, ranked 15,180 with 674 stars.

README

On the Theoretical Limitations of Embedding-based Retrieval

This repository contains the official resources for the paper "On the Theoretical Limitations of Embedding-based Retrieval". This work introduces the LIMIT dataset, designed to stress-test embedding models based on theoretical principles. We show that for any given embedding dimension d, there exists a combination of documents that cannot be returned by any query. We use this theory to instantiate the dataset LIMIT, finding that even state-of-the-art models struggle: highlighting a fundamental limitation of the current single-vector embedding paradigm.

Overview

Data

The datasets used in our experiments are available in the data/ directory of this repository, formatted in MTEB style (i.e. json lines).

Each dataset contains:

  • A queries.json file containing a line for each of the 1000 queries, each with an _id and the text field.
  • A corpus.json file containing a line for each of the 50k (or 46 if using the small version) documents, each with an _id, text and empty title field.
  • A qrels.json file containing rows for each of the 2000 relevant query->doc mappings, mapping query-id of the queries into the corpus-id in the documents, with score indicating relevance.
  • Full Dataset (limit): The complete dataset, containing 50k documents.

  • Small Sample (limit-small): A smaller version with only the 46 documents relevant to the queries.

Code

We provide code to generate the LIMIT style datasets, as well as to run the free embedding experiment in the code/ folder.

If you use the free embedding code, you'll need to install the following requirements.

Installation

We recommend using the uv package manager.

# Create a virtual environment
uv venv
source .venv/bin/activate

# Install dependencies
uv pip install -r https://raw.githubusercontent.com/google-deepmind/limit/refs/heads/main/code/requirements.txt

Loading with Huggingface Datasets

You can also load the data using the datasets library from Huggingface (LIMIT, LIMIT-small):

from datasets import load_dataset
ds = load_dataset("orionweller/LIMIT-small", "corpus") # also available: queries, test (contains qrels).

Evaluation

Evaluation was done using the MTEB framework. You can reproduce this only on the v2.0.0 branch (soon to be main). Note that the v2.0.0 branch is changing rapidly, so please install the version pinned in the requirements until it becomes main. An example is:

import mteb
from sentence_transformers import SentenceTransformer

# load the model using MTEB
model_name = "sentence-transformers/all-MiniLM-L6-v2"
model = mteb.get_model(model_name) # will default to SentenceTransformers(model_name) if not implemented in MTEB
# or using SentenceTransformers
model = SentenceTransformer(model_name)

# select the desired tasks and evaluate
tasks = mteb.get_tasks(tasks=["LIMITSmallRetrieval"]) # or use LIMITRetrieval for the full dataset
results = mteb.evaluate(model, tasks=tasks)

Please see their Github for more details.

Citation

If you use this work, please cite the paper as:

@article{weller2025theoretical,
  title={On the Theoretical Limitations of Embedding-Based Retrieval},
  author={Weller, Orion and Boratko, Michael and Naim, Iftekhar and Lee, Jinhyuk},
  journal={arXiv preprint arXiv:2508.21038},
  year={2025}
}

License and disclaimer

Copyright 2025 Google LLC

All software is licensed under the Apache License, Version 2.0 (Apache 2.0); you may not use this file except in compliance with the Apache 2.0 license. You may obtain a copy of the Apache 2.0 license at: https://www.apache.org/licenses/LICENSE-2.0

All other materials are licensed under the Creative Commons Attribution 4.0 International License (CC-BY). You may obtain a copy of the CC-BY license at: https://creativecommons.org/licenses/by/4.0/legalcode

Unless required by applicable law or agreed to in writing, all software and materials distributed here under the Apache 2.0 or CC-BY licenses are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the licenses for the specific language governing permissions and limitations under those licenses.

This is not an official Google product.

Nearby in the ranking
Similar items