Model reference · open weights

ColBERT-Zero

Embeddings lightonai Embeddings 1 build Open weights 7k dl/mo

ColBERT-Zero is an open-weight embedding model from lightonai. ColBERT-Zero (FP32) weighs 298 MB; the smallest configuration that runs it is RTX 3060 12 GB.

  • ColBERT-Zero is a 149M parameter multi-vector embedding model developed by lightonai for sentence-similarity tasks.
  • It supports English text with an 8192 token context length and is released under the Apache 2.0 license.
  • The model achieves 55.43 nDCG@10 on the BEIR benchmark, setting a new state-of-the-art for models with fewer than 150M parameters.

Summary of the lightonai/ColBERT-Zero model card, 2026-10-01

What it is

Released bylightonai
Released2026-02-19
Parameters149M
VRAM298 MB for the weights

What it runs on

Memory and cards for ColBERT-Zero (FP32)

298 MBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What lightonai says about ColBERT-Zero

Read the model card

📄 Paper | 📝 Blog | 📚 Collection

ColBERT-Zero

🎯 TL;DR: First large-scale fully pre-trained ColBERT model using only public data. Achieves 55.43 nDCG@10 on BEIR benchmark, outperforming GTE-ModernColBERT and GTE-ModernBERT trained on closed and stronger data. New SOTA on BEIR for models <150M parameters.

Why ColBERT-Zero?

Late interaction (ColBERT / multi-vector) models have clear advantages in out-of-domain generalization, long-context handling, and reasoning-intensive retrieval. Yet they remain undertrained: current state-of-the-art ColBERT models (e.g, GTE-ModernColBERT and ColBERT-small) are simply built by bolting a small knowledge distillation step onto a strong dense (single-vector) model. Even recent efforts like mxbai-edge-colbert-v0 perform all early training stages in a single-vector setting, only switching to the multi-vector objective at the very end.

This leaves a lot of performance on the table. ColBERT-Zero demonstrates that performing contrastive pre-training directly in the multi-vector setting, rather than treating it as an afterthought, unlocks a significantly higher performance ceiling. Trained exclusively on public data (Nomic-embed dataset mixture), ColBERT-Zero overcomes a 2.4-point data quality disadvantage to outperform models trained on proprietary, closed-source data. For detailed results, please have a look at our blogpost and the paper. All the models (including intermediate checkpoints) as well training code are released under an Apache 2.0 license.

Controlled Comparison Design

We deliberately trained on the public Nomic-embed data mixture for a strategic reason: Nomic has already trained a dense ModernBERT model (ModernBERT-embed) on this exact data. This lets us compare dense vs. multi-vector training with the same data, same base model (ModernBERT), and same pipeline. The only variable is whether the contrastive phases are performed in the dense or multi-vector setting.

This design reveals a striking result: the dense baseline trained on Nomic data scores 52.89, while the one trained on GTE's proprietary data scores 55.33: a 2.4-point data quality gap. Despite this disadvantage, ColBERT-Zero's full multi-vector pre-training pipeline closes and surpasses this gap, reaching 55.43 nDCG@10.

The Three-Phase Training Pipeline

The development followed a three-phase pipeline, each providing a different type of learning signal:

Phase 1 - Unsupervised Contrastive Pre-training

We began with the nomic-embed-unsupervised-data dataset. Using PyLate's GradCache implementation to scale per-GPU batch size without VRAM constraints, combined with cross-GPU gathering of representations, we reached effective batch sizes of ~16k, required for unsupervised training to produce plausible in-batch hard negatives. Unlike dense training, the multi-vector objective allows the encoder to learn fine-grained token importance from the very first phase.

Phase 2 - Supervised Contrastive Fine-tuning

We refined the model using the nomic-embed-supervised-data. This stage introduced mined hard negatives: documents that are superficially similar to the query but not actually relevant. This allows teaching the model to handle nuance by prioritizing specific keywords and contextual tokens most indicative of a true match.

Phase 3 - Knowledge Distillation (KD)

The final stage used the ms-marco-en-bge dataset. We leveraged a powerful Gemma-based model as a teacher, allowing our student models to learn to replicate complex reasoning scores via the efficient MaxSim operator.

Key Findings

1. The Standard Recipe Leaves Performance on the Table

The KD-only approach (the current industry standard) scores 54.09, lagging behind full pre-training by 1.3 points. A simple distillation step is insufficient for optimal multi-vector performance.

2. Supervised + KD Is the Efficiency Sweet Spot

By running a supervised contrastive step in the multi-vector setting before distillation, we reach 55.12 nDCG@10, closing most of the gap with the fully pre-trained model (55.43). This costs ~40 GH200-hours instead of ~408: roughly 10× cheaper for 99.4% of the performance.

3. Prompt Alignment Is Non-Negotiable

Nomic's base models are pre-trained with asymmetric prompts (search_query: and search_document:). While ColBERT has its own asymmetric mechanism via [Q] and [D] markers, we found:

  • Stripping pre-training prompts during fine-tuning causes significant performance degradation.
  • Adding prompts to a model not pre-trained with them also hurts performance.
  • Even with perfect alignment, prompts provide an intrinsic benefit: full ColBERT pre-training with prompts (55.43) vs. without prompts (54.61), no mismatch in either case, shows a meaningful 0.82-point gap.

Why do prompts help? Our leadin

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Benchmarks

Reported results

As published on the model card: the maker's own numbers, not measured by AxForge.

TaskDatasetMetricScore
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@10.360
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@30.680
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@50.760
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@100.880
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@10.360
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@30.287
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@50.220
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@100.148
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@10.180
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@30.360
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@50.429
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@100.554
Py Late Information RetrievalNanoClimateFEVERMaxsim Ndcg@100.451
Py Late Information RetrievalNanoClimateFEVERMaxsim Mrr@100.535
Py Late Information RetrievalNanoClimateFEVERMaxsim Map@1000.357
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@10.860
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@30.940
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@50.940
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@100.980
Py Late Information RetrievalNanoDBPediaMaxsim Precision@10.860
Py Late Information RetrievalNanoDBPediaMaxsim Precision@30.733
Py Late Information RetrievalNanoDBPediaMaxsim Precision@50.660
Py Late Information RetrievalNanoDBPediaMaxsim Precision@100.584
Py Late Information RetrievalNanoDBPediaMaxsim Recall@10.108
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms