Views
No views yet

mixedbread-ai/mxbai-edge-colbert-v0-32m for reasoning-intensive retrieval on the BRIGHT benchmark.vl split (warmup) and hq with hard negatives (polish)ColBERT(
(0): Transformer({'max_seq_length': 127, 'do_lower_case': True}) with ModernBertModel
hidden_size=384, num_hidden_layers=10, num_attention_heads=6,
position_embedding_type='sans_pos', max_position_embeddings=7999
(1): Dense(384 → 768, bias=False)
(2): Dense(768 → 768, bias=False)
(3): Dense(768 → 128, bias=False) # widened from 64 → 128 to give MaxSim more channels
)training/widen_colbert_projection.py.mxbai-edge-colbert-v0-32m outputs 64-dim per-token vectors. On reasoning-intensive retrieval with many structurally-similar tokens (code syntax, LaTeX math notation, operator punctuation), 64 channels saturate fast — MaxSim discrimination on those splits hits an architectural ceiling. Widening to 128-dim doubles the per-token channel budget, matching Reason-ModernColBERT's output dimensionality. The base weights are preserved exactly on the first 64 dims; only the extra 64 dims are learned during fine-tuning.pip install -U pylate1from pylate import indexes, models, retrieve
2
3model = models.ColBERT(model_name_or_path="DataScience-UIBK/Reason-mxbai-colbert-v0-32m")
4
5index = indexes.Voyager(index_folder="pylate-index", index_name="index", override=True)
6
7docs = ["document 1 text", "document 2 text", "document 3 text"]
8doc_ids = ["1", "2", "3"]
9doc_embs = model.encode(docs, batch_size=32, is_query=False, show_progress_bar=True)
10index.add_documents(documents_ids=doc_ids, documents_embeddings=doc_embs)
11
12retriever = retrieve.ColBERT(index=index)
13query_embs = model.encode(
14 ["Given a Biology post, retrieve relevant passages that help answer the post.\nQuery: how do cells divide?"],
15 is_query=True,
16)
17scores = retriever.retrieve(queries_embeddings=query_embs, k=10)Given a {Biology|Coding|Math|...} post, retrieve relevant passages...) followed by \nQuery: {raw_query} — that's the format the model was trained on (via the BGE-reasoner data).1from pylate import rank, models
2
3model = models.ColBERT(model_name_or_path="DataScience-UIBK/Reason-mxbai-colbert-v0-32m")
4
5queries = ["query A", "query B"]
6documents = [["document A", "document B"], ["document 1", "document C", "document B"]]
7doc_ids = [[1, 2], [1, 3, 2]]
8
9q_embs = model.encode(queries, is_query=True)
10d_embs = model.encode(documents, is_query=False)
11reranked = rank.rerank(
12 documents_ids=doc_ids,
13 queries_embeddings=q_embs,
14 documents_embeddings=d_embs,
15)evaluation/evaluate_bright.py. query_length=256 (pony=32) and document_length=2048 (matches training setup).| Split | nDCG@10 |
|---|---|
| Biology | 32.71 |
| Earth Science | 43.88 |
| Economics | 18.70 |
| Psychology | 22.62 |
| Robotics | 18.43 |
| Stackoverflow | 16.78 |
| Sustainable Living | 20.77 |
| Leetcode | 17.67 |
| Pony | 20.73 |
| AoPS | 5.05 |
| Theorem — Q | 8.38 |
| Theorem — T | 2.25 |
| Full mean | 19.00 |
results/.sans_pos), and a shallow 10-layer backbone — these cannot be recovered by training and cap performance on code / formal-math retrieval.reasonir/reasonir-data VL split (~181k triples), lr=1e-5, global batch 2048, query_length=256, document_length=2048.lr=5e-6, global batch 2048.pylate.losses.cached_contrastive.CachedContrastive (temperature=1.0, gather_across_devices=True).max_grad_norm=100 (set via env var; default 1.0 over-clips when the widened projection has high bootstrap gradients).1python evaluation/evaluate_bright.py \
2 --model_path <path-to-this-model> \
3 --model_version baseline \
4 --query_length 256 \
5 --document_length 2048 \
6 --output_root results/1@misc{Reason-mxbai-colbert-v0-32m,
2 title={Reason-mxbai-colbert-v0-32m},
3 author={Abdelrahman Abdallah and Adam Jatowt},
4 url={https://huggingface.co/DataScience-UIBK/Reason-mxbai-colbert-v0-32m},
5 year={2025}
6}
7
8
9
10@misc{Reason-ModernColBERT,
11 title={Reason-ModernColBERT},
12 author={Chaffin, Antoine},
13 url={https://huggingface.co/lightonai/Reason-ModernColBERT},
14 year={2025}
15}
16
17@misc{mxbai-edge-colbert-v0-32m,
18 title={mxbai-edge-colbert-v0-32m},
19 author={Mixedbread AI},
20 url={https://huggingface.co/mixedbread-ai/mxbai-edge-colbert-v0-32m},
21 year={2025}
22}