/ Модель

Характеристики

Контекст
8 192 токена
Параметры
149 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Библиотека
PyLate
Опубликована
13 мар 2026

LateOn

Сходство предложенийТекст → score9 профессий

Англоязычная многовекторная модель LightOn на базе ModernBERT для семантического поиска и извлечения документов.

11 469скачиваний за 30 дней55лайковвеса обновлены17 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки27

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

  • Touche2020

    main_score

    Результат

    0,3052

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackWebmastersRetrieval

    main_score

    Результат

    0,4644

    MTEB

    Публичная таблицадругая ревизия

  • ArguAna

    main_score

    Результат

    0,5052

    MTEB

    Публичная таблицадругая ревизия

  • MSMARCO

    main_score

    Результат

    0,4567

    MTEB

    Публичная таблицадругая ревизия

  • ClimateFEVER

    main_score

    Результат

    0,3967

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackGisRetrieval

    main_score

    Результат

    0,4679

    MTEB

    Публичная таблицадругая ревизия

  • QuoraRetrieval

    main_score

    Результат

    0,8967

    MTEB

    Публичная таблицадругая ревизия

  • SCIDOCS

    main_score

    Результат

    0,219

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackEnglishRetrieval

    main_score

    Результат

    0,555

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackAndroidRetrieval

    main_score

    Результат

    0,5481

    MTEB

    Публичная таблицадругая ревизия

  • FEVER

    main_score

    Результат

    0,9202

    MTEB

    Публичная таблицадругая ревизия

  • TRECCOVID

    main_score

    Результат

    0,836

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackGamingRetrieval

    main_score

    Результат

    0,6556

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackWordpressRetrieval

    main_score

    Результат

    0,3966

    MTEB

    Публичная таблицадругая ревизия

  • DBPedia

    main_score

    Результат

    0,4599

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackProgrammersRetrieval

    main_score

    Результат

    0,4677

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackRetrieval

    main_score

    Результат

    0,4736

    MTEB

    Публичная таблицадругая ревизия

  • HotpotQA

    main_score

    Результат

    0,7998

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackStatsRetrieval

    main_score

    Результат

    0,4212

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackTexRetrieval

    main_score

    Результат

    0,364

    MTEB

    Публичная таблицадругая ревизия

  • FiQA2018

    main_score

    Результат

    0,5312

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackPhysicsRetrieval

    main_score

    Результат

    0,4991

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackMathematicaRetrieval

    main_score

    Результат

    0,361

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackUnixRetrieval

    main_score

    Результат

    0,4828

    MTEB

    Публичная таблицадругая ревизия

  • NQ

    main_score

    Результат

    0,6391

    MTEB

    Публичная таблицадругая ревизия

  • NFCorpus

    main_score

    Результат

    0,3779

    MTEB

    Публичная таблицадругая ревизия

  • SciFact

    main_score

    Результат

    0,7661

    MTEB

    Публичная таблицадругая ревизия

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

LateOn — англоязычная модель поиска LightOn из семейства ColBERT, построенная на ModernBERT и обученная с помощью PyLate. Это supervised-вариант, дообученный контрастивным методом с трудными негативными примерами; модель содержит 149 млн параметров и формирует многовекторные представления текста для поиска документов и сопоставления запросов с текстами. Для документов предусмотрена длина до 300 токенов, для запросов — до 32 токенов; размерность выходных представлений — 128, сходство вычисляется функцией MaxSim. В метаданных указано контекстное окно 8192 токена.

Модель предназначена для семантического поиска и извлечения релевантных документов. По заявлению разработчика, LateOn показала средний результат 57,22 NDCG@10 на 15 наборах BEIR и 60,36 на очищенной от пересечений версии из 12 наборов. Модель использует открытые данные обучения; README отмечает, что дистилляцию и асимметричные подсказки не применяли. Лицензия — Apache 2.0.

Сценарии применения

  • поиск релевантных документов по запросу на английском языке
  • семантический поиск по базе знаний
  • извлечение документов для конвейера RAG
  • ранжирование кандидатов по соответствию запросу
  • поиск ответов в коллекциях текстов

Ограничения

Модель рассчитана на английский язык; параметры длины в README ограничены 300 токенами для документа и 32 токенами для запроса. Разработчик указывает, что дистилляцию и асимметричные подсказки не применяли, хотя они могут улучшить результаты.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Website LinkedIn X

📚 Collection | 📝 Blog


About the LateOn / DenseOn Family

State-of-the-art retrieval is increasingly dominated by closed models, either hidden behind APIs or trained on undisclosed data. This blocks reproducibility, prevents study of possible data leakage, and gatekeeps progress to a handful of private labs. We thus decided to gather and curate a large amount of data and explore various mixtures. We release all the data used in our explorations:

Based on our findings, we trained LateOn (multi-vector/ColBERT) and DenseOn (single vector/dense) models on a proprietary Apache 2.0-compatible training dataset and release those models as well. Both are built on the ModernBERT backbone at 149M parameters, a size we believe sits at the sweet spot: large enough to handle real-world queries and documents, small enough to serve at high throughput in latency-sensitive production systems. For more information, please read our blogpost.

LateOn

LateOn is a ColBERT (multi-vector) retrieval model built on ModernBERT (149M parameters), trained by LightOn using PyLate. This is the supervised version, fine-tuned with hard-negative contrastive training. The unsupervised version can be found here

Notably it:

  • Beats every existing ColBERT model, including those 4× its size (Jina ColBERT v2 at 559M, Arctic Embed L v2 at 568M).
  • Holds up under decontamination: when training-overlap samples are stripped from the BEIR corpora, LateOn climbs to 60.36 nDCG@10 on the 12-dataset decontaminated split — first place overall.
  • Uses fully open data for both pre-training and fine-tuning, with all signals released as metadata so you can rebuild, extend, or replace any filter.

This release was focused on contrastive data exploration. We did not run a knowledge distillation phase nor use asymmetric prompts (both shown to help in our ColBERT-Zero study). We believe even stronger results are within reach by adding these — stay tuned.

LateOn achieves 57.22 average NDCG@10 on BEIR (15 datasets) and 60.36 on decontaminated BEIR (12 datasets), leading all ColBERT models. See our blog post for full results and analysis.

Alongside LateOn, we also trained DenseOn, a dense (single vector) variant, trained on the same setup. This variant is easier and cheaper to use, albeit with slightly weaker results (achieving a score of 56.20 on BEIR, it is still stronger than any dense base-sized model). It may also suffer from some limitations compared to LateOn, such as in terms of generalisation and long context.

Results

BEIR (15 datasets, NDCG@10)

ModelAverageSize (M)Embed dimArguAnaCQADupstackRetrievalClimateFEVERDBPediaFEVERFiQA2018HotpotQAMSMARCONFCorpusNQQuoraRetrievalSCIDOCSSciFactTRECCOVIDTouche2020
ColBERTv248.6311012846.5038.3017.6045.2078.5035.4067.5046.0033.7052.4085.5015.4068.9072.6026.00
Jina-ColBERT-v251.8560012836.6040.8023.9047.1080.5040.8076.6046.9034.6064.0088.7018.6067.8083.4027.40
ColBERT-small53.79339650.0938.7533.0745.5890.9641.1576.1143.5037.3059.1087.7218.4274.7784.5925.69
GTE-ModernColBERT-v154.7514912847.5241.0831.3347.5687.6745.2577.4845.6037.8361.6286.7119.2276.3384.8431.25
ColBERT-Zero55.3914912852.8241.4135.9047.4390.5242.5079.4545.9537.2161.8285.1919.8476.3378.2736.24
LateOn-unsupervised50.1114912843.1247.7118.7643.3665.7451.9468.1737.5137.1558.4189.4821.1376.8969.8122.53
LateOn57.2214912850.5247.3639.6745.9992.0253.1279.9845.6737.7963.9189.6721.9076.6183.6030.52

LateOn achieves 57.22 average NDCG@10, becoming the first ColBERT (and sub 150M parameter) model to break the 57 mark on BEIR by surpassing the previous best ColBERT model (ColBERT-Zero at 55.32) by almost two points and exceeding GTE-ModernColBERT-v1 by two point and a half, despite sharing the same backbone. It is worth noting that we achieve this performance only with contrastive data and without the use of the prompt (which has been shown to be beneficial in the ColBERT-Zero study but makes it harder and more expensive to use). This work was focused on an exploration of contrastive data, but we believe we can achieve much stronger results through a KD phase and the addition of prompts to serve as query expansion. Given such strong performances, one fair concern would be overfitting to BEIR. As highlighted in the decontaminated BEIR experiments, our models stay very strong on benches curated from any possible data leakage, especially in the multi-vector case and contrary to some other models.

Decontaminated BEIR (12 datasets, NDCG@10)

Standard benchmarks risk overestimating model quality when training data overlaps with evaluation corpora. This is a non-negligible risk in our case, as our mixture explorations are mostly built on BEIR evaluation. To quantify this and ensure that our model has not memorized possible leakage, we built decontaminated versions of the BEIR datasets by removing samples found in both the mGTE training dataset and in our internal training datasets. Since many retrieval models draw from similar public sources (Wikipedia, MS MARCO, Common Crawl, academic corpora), we expect significant overlap across models and believe the decontaminated benchmarks provide a meaningful, if imperfect, stress test. The decontaminated datasets are publicly available on HuggingFace.

Despite being in the toughest position (as the decontamination is based on our data), LateOn and DenseOn stay consistent under decontamination. LateOn keeps its #1 position and DenseOn stays in the top four (only falling behind our other strong multi-vector model, ColBERT-Zero). Neither model flinches, which is direct evidence of generalization rather than overfitting.

More broadly, ColBERT models seems to generalize better under decontamination: all three ColBERT models hold or improve their ranking, and they take 2 of the top 3 decontaminated positions. Although DenseOn holds strong, some dense models are hit harder, for example GTE-ModernBERT, dropping from 8th to last, which is particularly interesting considering our base mixture is derived from theirs. This highlights the strength of our curation methodology. While other models such as Qwen3-Embedding-0.6B also drop some ranks, hinting at an overlap with the BEIR evaluation, it is worth noting that newer models, such as the new jina-embeddings-v5 and pplx-embed-v1-0.6b seems to exhibit stronger evidence of generalization rather than overfitting.

Related Checkpoints

ModelStageLink
LateOn (this card)Pre-training + fine-tuning (recommended)lightonai/LateOn
LateOn-unsupervisedPre-training onlylightonai/LateOn-unsupervised
DenseOnSingle-vector counterpartlightonai/DenseOn
DenseOn-unsupervisedSingle-vector, pre-training onlylightonai/DenseOn-unsupervised

Model Details

Model Description

  • Model Type: PyLate ColBERT model
  • Base model: LateOn-unsupervised (ModernBERT-base)
  • Document Length: 300 tokens
  • Query Length: 32 tokens
  • Output Dimensionality: 128 tokens
  • Similarity Function: MaxSim
  • Language: English
  • License: Apache 2.0

Model Sources

Full Model Architecture

ColBERT(
  (0): Transformer({'max_seq_length': 299, 'do_lower_case': False, 'architecture': 'ModernBertModel'})
  (1): Dense({'in_features': 768, 'out_features': 1536, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'use_residual': True})
  (2): Dense({'in_features': 1536, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'use_residual': True})
  (3): Dense({'in_features': 768, 'out_features': 128, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'use_residual': False})
)

Usage

Sentence Transformers

This model can be used with Sentence Transformers as a multi-vector (ColBERT-style late interaction) retriever via the MultiVectorEncoder:

pip install "sentence-transformers>=6.0.0"
from sentence_transformers import MultiVectorEncoder

model = MultiVectorEncoder("lightonai/LateOn")

query = "Which planet is known as the Red Planet?"
documents = [
    "Venus is often called Earth's twin because of its similar size and proximity.",
    "Mars, known for its reddish appearance, is often referred to as the Red Planet.",
    "Jupiter, the largest planet in our solar system, has a prominent red spot.",
    "Saturn, famous for its rings, is sometimes mistaken for the Red Planet.",
]

query_embeddings = model.encode_query(query)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings[0].shape)
# (12, 128) (18, 128)

# MaxSim late-interaction scoring (higher is more relevant)
scores = model.similarity(query_embeddings, document_embeddings)
print(scores)
# tensor([[10.7942, 11.1104, 10.9743, 11.0811]])

PyLate

First install the PyLate library:

pip install -U pylate

Retrieval

Use this model with PyLate to index and retrieve documents. The index uses FastPLAID for efficient similarity search.

Indexing documents

Load the ColBERT model and initialize the PLAID index, then encode and index your documents:

from pylate import indexes, models, retrieve

# Step 1: Load the ColBERT model
model = models.ColBERT(
    model_name_or_path="lightonai/LateOn",
)

# Step 2: Initialize the PLAID index
index = indexes.PLAID(
    index_folder="pylate-index",
    index_name="index",
    override=True,  # This overwrites the existing index if any
)

# Step 3: Encode the documents
documents_ids = ["1", "2", "3"]
documents = ["document 1 text", "document 2 text", "document 3 text"]

documents_embeddings = model.encode(
    documents,
    batch_size=32,
    is_query=False,  # Ensure that it is set to False to indicate that these are documents, not queries
    show_progress_bar=True,
)

# Step 4: Add document embeddings to the index by providing embeddings and corresponding ids
index.add_documents(
    documents_ids=documents_ids,
    documents_embeddings=documents_embeddings,
)

Note that you do not have to recreate the index and encode the documents every time. Once you have created an index and added the documents, you can re-use the index later by loading it:

# To load an index, simply instantiate it with the correct folder/name and without overriding it
index = indexes.PLAID(
    index_folder="pylate-index",
    index_name="index",
)

Retrieving top-k documents for queries

Once the documents are indexed, you can retrieve the top-k most relevant documents for a given set of queries. To do so, initialize the ColBERT retriever with the index you want to search in, encode the queries and then retrieve the top-k documents to get the top matches ids and relevance scores:

# Step 1: Initialize the ColBERT retriever
retriever = retrieve.ColBERT(index=index)

# Step 2: Encode the queries
queries_embeddings = model.encode(
    ["query for document 3", "query for document 1"],
    batch_size=32,
    is_query=True,  # Ensure that it is set to True to indicate that these are queries
    show_progress_bar=True,
)

# Step 3: Retrieve top-k documents
scores = retriever.retrieve(
    queries_embeddings=queries_embeddings,
    k=10,  # Retrieve the top 10 matches for each query
)

Reranking

If you only want to use the ColBERT model to perform reranking on top of your first-stage retrieval pipeline without building an index, you can simply use rank function and pass the queries and documents to rerank:

from pylate import rank, models

queries = [
    "query A",
    "query B",
]

documents = [
    ["document A", "document B"],
    ["document 1", "document C", "document B"],
]

documents_ids = [
    [1, 2],
    [1, 3, 2],
]

model = models.ColBERT(
    model_name_or_path="lightonai/LateOn",
)

queries_embeddings = model.encode(
    queries,
    is_query=True,
)

documents_embeddings = model.encode(
    documents,
    is_query=False,
)

reranked_documents = rank.rerank(
    documents_ids=documents_ids,
    queries_embeddings=queries_embeddings,
    documents_embeddings=documents_embeddings,
)

Training Details

Framework Versions

  • Python: 3.11.10
  • Sentence Transformers: 5.1.1
  • PyLate: 1.3.4
  • Transformers: 4.57.5
  • PyTorch: 2.9.0+cu128
  • Accelerate: 1.12.0
  • Datasets: 3.6.0
  • Tokenizers: 0.22.1

Citation

BibTeX

DenseOn and LateOn

@misc{sourty2026denseonlateon,
  title={DenseOn with the LateOn: Open State-of-the-Art Single and Multi-Vector Models},
  author={Sourty, Raphael and Chaffin, Antoine and Weller, Orion and Demoura, Paulo and Chatelain, Amelie},
  year={2026},
  howpublished={\url{https://huggingface.co/blog/lightonai/denseon-lateon}},
}

PyLate

@inproceedings{DBLP:conf/cikm/ChaffinS25,
  author       = {Antoine Chaffin and
                  Rapha{\"{e}}l Sourty},
  editor       = {Meeyoung Cha and
                  Chanyoung Park and
                  Noseong Park and
                  Carl Yang and
                  Senjuti Basu Roy and
                  Jessie Li and
                  Jaap Kamps and
                  Kijung Shin and
                  Bryan Hooi and
                  Lifang He},
  title        = {PyLate: Flexible Training and Retrieval for Late Interaction Models},
  booktitle    = {Proceedings of the 34th {ACM} International Conference on Information
                  and Knowledge Management, {CIKM} 2025, Seoul, Republic of Korea, November
                  10-14, 2025},
  pages        = {6334--6339},
  publisher    = {{ACM}},
  year         = {2025},
  url          = {https://github.com/lightonai/pylate},
  doi          = {10.1145/3746252.3761608},
}

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084"
}

Acknowledgements

We thank Xin Zhang, Zach Nussbaum, Tom Aarsen, Bo Wang, Eugene Yang, Benjamin Clavié, Nandan Thakur, Oskar Hallström and Iacopo Poli for their valuable contributions and feedback. We are grateful to the teams behind Sentence Transformers and the BEIR benchmark, and to the open-source retrieval community, in particular the authors of Nomic Embed.

This work was granted access to the HPC resources of IDRIS under GENCI allocations AS011016449, A0181016214, and A0171015706 (Jean Zay supercomputer). We also acknowledge the Barcelona Supercomputing Center (BSC-CNS) for providing access to MareNostrum 5 under EuroHPC AI Factory Fast Lane project EHPC-AIF-2025FL01-445.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · PyLate

Нельзя запустить

Модели PyLate (ColBERT) требуют отдельного рантайма.

Класс архитектуры
ModernBertModel
Ревизия весов
62911e1

0 моделей