返回模型
说明文档
mxbai-edge-colbert-v0-17m
该模型是一个轻量级的 ColBERT,拥有 1700 万参数,投影维度为 48。它基于 Ettin-17M 构建,意味着它受益于 ModernBERT 的所有架构效率。尽管实现了极高的效率,它是表现最佳的"边缘尺寸"检索器,超越了 ColBERTv2 和许多参数超过其 10 倍以上的模型。它可以为最长 32,000 个 token 的文档创建多向量表示,并与 PyLate 库完全兼容。
使用方法
要使用此模型,首先需要安装 PyLate:
通过 uv
# uv
uv add pylate
# uv + pip
uv pip install pylate
或通过 pip
# pip
pip install -U pylate
安装后,即可立即使用该模型生成表示并索引文档:
from pylate import indexes, models, retrieve
# 步骤 1:加载模型
model = models.ColBERT(
model_name_or_path="mixedbread-ai/mxbai-edge-colbert-v0-17m",
)
# 步骤 2:初始化索引(这里使用 PLAID,适用于较大的文档集合)
index = indexes.PLAID(
index_folder="pylate-index",
index_name="index",
override=True, # 如果存在索引,这会覆盖现有索引
)
# 步骤 3:编码您的文档
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, # 确保设置为 False 以表示这些是文档而非查询
show_progress_bar=True,
)
# 步骤 4:通过提供嵌入和对应的 ID 将文档嵌入添加到索引中
index.add_documents(
documents_ids=documents_ids,
documents_embeddings=documents_embeddings,
)
这就是对完整集合进行编码所需的全部操作!您的文档已被索引,可以进行查询了:
# 步骤 5.1:初始化 ColBERT 检索器
retriever = retrieve.ColBERT(index=index)
# 步骤 2:编码查询
queries_embeddings = model.encode(
["query for document 3", "query for document 1"],
batch_size=32,
is_query=True, # 确保设置为 False 以表示这些是查询
show_progress_bar=True,
)
# 步骤 3:检索 top-k 文档
scores = retriever.retrieve(
queries_embeddings=queries_embeddings,
k=10, # 为每个查询检索前 10 个匹配项
)
重排序
由于其极高的参数效率,该模型特别适合作为重排序器使用,用于更轻量的第一阶段检索(如静态嵌入模型)之后。重排序同样简单:
from pylate import rank, models
# 加载模型
model = models.ColBERT(
model_name_or_path="mixedbread-ai/mxbai-edge-colbert-v0-17m",
)
# 定义查询和文档
queries = [
"query A",
"query B",
]
documents = [
["document A", "document B"],
["document 1", "document C", "document B"],
]
documents_ids = [
[1, 2],
[1, 3, 2],
]
# 对它们进行嵌入
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,
)
评估
BEIR 测试结果
| 模型 | AVG | MS MARCO | SciFact | Touche | FiQA | TREC-COVID | NQ | DBPedia |
|---|---|---|---|---|---|---|---|---|
| 大型模型 (>100M) | ||||||||
| GTE-ModernColBERT-v1 | 0.547 | 0.453 | 0.763 | 0.312 | 0.453 | 0.836 | 0.618 | 0.480 |
| ColBERTv2 | 0.488 | 0.456 | 0.693 | 0.263 | 0.356 | 0.733 | 0.562 | 0.446 |
| 中型模型 (<35M) | ||||||||
| mxbai-edge-colbert-v0-32m | 0.521 | 0.450 | 0.740 | 0.313 | 0.390 | 0.775 | 0.600 | 0.455 |
| answerai-colbert-small-v1 | 0.534 | 0.434 | 0.740 | 0.250 | 0.410 | 0.831 | 0.594 | 0.464 |
| bge-small-en-v1.5 | 0.517 | 0.408 | 0.713 | 0.260 | 0.403 | 0.759 | 0.502 | 0.400 |
| snowflake-s | 0.519 | 0.402 | 0.722 | 0.235 | 0.407 | 0.801 | 0.509 | 0.410 |
| 小型模型 (<25M) | ||||||||
| mxbai-edge-colbert-v0-17m | 0.490 | 0.416 | 0.719 | 0.316 | 0.326 | 0.713 | 0.551 | 0.410 |
| colbert-muvera-micro | 0.394 | 0.364 | 0.662 | 0.251 | 0.254 | 0.561 | 0.386 | 0.332 |
| all-MiniLM-L6-v2 | 0.419 | 0.365 | 0.645 | 0.169 | 0.369 | 0.472 | 0.439 | 0.323 |
LongEmbed 测试结果
| 模型 | AVG |
|---|---|
| 大型模型 (>100M) | |
| GTE-ModernColBERT-v1 (32k) | 0.898 |
| GTE-ModernColBERT-v1 (4k) | 0.809 |
| granite-embedding-english-r2 | 0.656 |
| ColBERTv2 | 0.428 |
| 中型模型 (<50M) | |
| mxbai-edge-colbert-v0-32m (32k) | 0.849 |
| mxbai-edge-colbert-v0-32m (4k) | 0.783 |
| granite-embedding-small-english-r2 | 0.637 |
| answerai-colbert-small-v1 | 0.441 |
| bge-small-en-v1.5 | 0.312 |
| snowflake-arctic-embed-s | 0.356 |
| 小型模型 (<25M) | |
| mxbai-edge-colbert-v0-17m (32k) | 0.847 |
| mxbai-edge-colbert-v0-17m (4k) | 0.776 |
| all-MiniLM-L6-v2 | 0.298 |
| colbert-muvera-micro | 0.405 |
有关评估的更多详细信息,请阅读我们的技术报告。
社区
请加入我们的 Discord 社区,分享您的反馈和想法!我们随时为您提供帮助,也乐意与您交流。
许可证
Apache 2.0
引用
如果您使用我们的模型,请引用相关的技术报告:
@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},
}
如果您特别使用它的投影头或讨论其效果,请引用我们关于为 ColBERT 模型使用不同投影的报告:
@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},
}
最后,如果您在本工作中使用 PyLate,请引用 PyLate 本身:
@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}
}
mixedbread-ai/mxbai-edge-colbert-v0-17m
作者 mixedbread-ai
sentence-similarity
PyLate
↓ 363.9K
♥ 34
创建时间: 2025-10-13 08:54:04+00:00
更新时间: 2026-02-14 04:21:12+00:00
在 Hugging Face 上查看文件 (18)
.gitattributes
1_Dense/config.json
1_Dense/model.safetensors
2_Dense/2_Dense/model.safetensors
2_Dense/config.json
2_Dense/model.safetensors
README.md
config.json
config_sentence_transformers.json
model.onnx
ONNX
model.safetensors
model_int8.onnx
ONNX
modules.json
onnx_config.json
sentence_bert_config.json
special_tokens_map.json
tokenizer.json
tokenizer_config.json