/ Модель

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

Контекст
7 999 токенов
Параметры
31,9 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Библиотека
PyLate
Опубликована
13 окт 2025

mxbai-edge-colbert-v0-32m

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

Компактная англоязычная ColBERT-модель Mixedbread AI для многовекторного семантического поиска и повторного ранжирования документов.

9 848скачиваний за 30 дней49лайковвеса обновлены19 авг 2026

Бенчмарки

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

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

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

В подключённых источниках результатов для этой модели пока нет.

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

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

mxbai-edge-colbert-v0-32m — компактная модель поиска Mixedbread AI на основе архитектуры ModernBERT и модели Ettin-32M. Она содержит 31,9 млн параметров и формирует многовекторные представления ColBERT с размерностью проекции 64 для поиска с поздним взаимодействием между запросом и документом.

Модель предназначена для семантического поиска по коллекциям документов и повторного ранжирования результатов после первого, более лёгкого этапа поиска. По README, она может кодировать документы длиной до 32 000 токенов и совместима с PyLate и Sentence Transformers. Метаданные указывают нативный контекст в 7 999 токенов; это значение следует учитывать отдельно от заявленной в README длины кодируемых документов.

Карточка приводит сравнительные результаты на BEIR и LongEmbed, но не содержит полного набора оценок модели в предоставленном фрагменте. Указана лицензия Apache-2.0. Поддерживаемый язык в метаданных — английский.

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

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

Ограничения

Модель рассчитана на английский язык согласно языковым метаданным. README заявляет кодирование документов до 32 000 токенов, тогда как метаданные указывают нативный контекст 7 999 токенов; практическое поведение на более длинных текстах может зависеть от способа обработки.

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

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

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

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

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

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

Открыть на Hugging Face

mxbai-edge-colbert-v0-32m

This model is a lightweight, 32 million parameter ColBERT with a projection dimension of 64. It is built on top of Ettin-32M, meaning it benefits from all of ModernBERT's architectural efficiencies. Despite this extreme efficiency, it is the best-performer "edge-sized" retriever, outperforming ColBERTv2 and many models with over 10 times more parameters. It can create multi-vector representations for documents of up to 32,000 tokens and is fully compatible with the PyLate library.

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("mixedbread-ai/mxbai-edge-colbert-v0-32m")

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, 64) (18, 64)

# MaxSim late-interaction scoring (higher is more relevant)
scores = model.similarity(query_embeddings, document_embeddings)
print(scores)
# tensor([[11.2081, 11.5308, 11.4104, 11.4756]])

PyLate

To use this model, you first need to install PyLate:

via uv

# uv
uv add pylate
# uv + pip
uv pip install pylate

or pip

# pip
pip install -U pylate

Once installed, the model is immediately ready to use to generate representations and index documents:

from pylate import indexes, models, retrieve

# Step 1: Load the model
model = models.ColBERT(
    model_name_or_path="mixedbread-ai/mxbai-edge-colbert-v0-32m",
)


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

# Step 3: Encode your 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,
)

That's all you need to do to encode a full collection! Your documents are indexed and ready to be queried:

# Step 5.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 False 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

Thanks to its extreme parameter efficiency, this model is particularly well-suited to being used as a re-ranker following an even more lightweight first stage retrieval, such as static embeding models. Re-ranking is just as straigthforward:

from pylate import rank, models

# Load the model
model = models.ColBERT(
    model_name_or_path="mixedbread-ai/mxbai-edge-colbert-v0-32m",
)

# Define queries and documents
queries = [
    "query A",
    "query B",
]

documents = [
    ["document A", "document B"],
    ["document 1", "document C", "document B"],
]
documents_ids = [
    [1, 2],
    [1, 3, 2],
]

# Embed them
queries_embeddings = model.encode(
    queries,
    is_query=True,
)

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

# Perform reranking
reranked_documents = rank.rerank(
    documents_ids=documents_ids,
    queries_embeddings=queries_embeddings,
    documents_embeddings=documents_embeddings,
)

Evaluation

Results on BEIR

ModelAVGMS MARCOSciFactToucheFiQATREC-COVIDNQDBPedia
Large Models (>100M)
GTE-ModernColBERT-v10.5470.4530.7630.3120.4530.8360.6180.480
ColBERTv20.4880.4560.6930.2630.3560.7330.5620.446
Medium Models (<35M)
mxbai-edge-colbert-v0-32m0.5210.4500.7400.3130.3900.7750.6000.455
answerai-colbert-small-v10.5340.4340.7400.2500.4100.8310.5940.464
bge-small-en-v1.50.5170.4080.7130.2600.4030.7590.5020.400
snowflake-s0.5190.4020.7220.2350.4070.8010.5090.410
Small Models (<25M)
mxbai-edge-colbert-v0-17m0.4900.4160.7190.3160.3260.7130.5510.410
colbert-muvera-micro0.3940.3640.6620.2510.2540.5610.3860.332
all-MiniLM-L6-v20.4190.3650.6450.1690.3690.4720.4390.323

Results on LongEmbed

ModelAVG
Large Models (>100M)
GTE-ModernColBERT-v1 (32k)0.898
GTE-ModernColBERT-v1 (4k)0.809
granite-embedding-english-r20.656
ColBERTv20.428
Medium Models (<50M)
mxbai-edge-colbert-v0-32m (32k)0.849
mxbai-edge-colbert-v0-32m (4k)0.783
granite-embedding-small-english-r20.637
answerai-colbert-small-v10.441
bge-small-en-v1.50.312
snowflake-arctic-embed-s0.356
Small Models (<25M)
mxbai-edge-colbert-v0-17m (32k)0.847
mxbai-edge-colbert-v0-17m (4k)0.776
all-MiniLM-L6-v20.298
colbert-muvera-micro0.405

For more details on evaluations, please read our Tech Report.

Community

Please join our Discord Community and share your feedback and thoughts! We are here to help and also always happy to chat.

License

Apache 2.0

Citation

If you use our model, please cite the associated tech report:

@misc{takehi2025fantasticsmallretrieverstrain,
      title={Fantastic (small) Retrievers and How to Train Them: mxbai-edge-colbert-v0 Tech Report}, 
      author={Rikiya Takehi and Benjamin Clavié and Sean Lee and Aamir Shakir},
      year={2025},
      eprint={2510.14880},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2510.14880}, 
}

If you specifically use its projection heads, or discuss their effect, please cite our report on using different projections for ColBERT models:

@misc{clavie2025simpleprojectionvariantsimprove,
      title={Simple Projection Variants Improve ColBERT Performance}, 
      author={Benjamin Clavié and Sean Lee and Rikiya Takehi and Aamir Shakir and Makoto P. Kato},
      year={2025},
      eprint={2510.12327},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2510.12327}, 
}

Finally, if you use PyLate in your work, please cite PyLate itself:

@misc{PyLate,
title={PyLate: Flexible Training and Retrieval for Late Interaction Models},
author={Chaffin, Antoine and Sourty, Raphaël},
url={https://github.com/lightonai/pylate},
year={2024}
}

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

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

GPU в ailist

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

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

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

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

0 моделей