Skip to content
AI Primer
release

VAGOsolutions releases Apache 2.0 MoEdernColBERT models with 1.5M–115M parameters

VAGOsolutions released multilingual retrievers under Apache 2.0, ranging from 1.5M to 115M parameters. The team reports 8× encoding throughput versus Qwen3-Embedding-0.6B for the largest model.

4 min read
VAGOsolutions releases Apache 2.0 MoEdernColBERT models with 1.5M–115M parameters
VAGOsolutions releases Apache 2.0 MoEdernColBERT models with 1.5M–115M parameters

TL;DR

  • VAGOsolutions released three Apache 2.0 multilingual retrievers, spanning 1.5M to 115M parameters, as detailed in the release thread.
  • The 115M model beats Qwen3-Embedding-0.6B on nine of ten quality rows in the team's comparison, with English NanoBEIR the exception.
  • The reported 8× throughput advantage covers encoding only: the benchmark description excludes tokenization and search.
  • Small weights still produce a multi-vector index, with a 128-dimensional vector per token, as the thread's caveat explains.

The 1.5M CoreML package is just 0.87 MB, a pleasingly absurd size for a multilingual retriever. The Python usage notes contain a less cheerful surprise: fp16 overflows and produces NaN embeddings.

MoEdernBERT

VAGOsolutions' MoEdernBERT-based retrievers support German, English, Spanish, Dutch, French, Italian and Portuguese.

| Variant | Total parameters | Active per token |
| --- | ---: | ---: |
| 1.5M | 1.47M | 0.88M |
| 27M | 27.0M | 12.3M |
| 115M | 114.6M | 67.4M |

The architecture combines three mechanisms:

  • Sparse experts: Each transformer layer routes a token to two of eight GeGLU experts, plus an always-on shared expert.
  • Factorized token embeddings: Short token vectors are projected into the hidden dimension. In the 1.5M model, this reduces embedding parameters from about 3.8M to 0.48M, without a reported speedup from that change.
  • Mixed layer types: The 1.5M model has two transformer layers with hidden size 128. The 115M model combines six gated depthwise-convolution layers with four transformer layers at hidden size 1024.

Retrieval scores

The 115M model's nine wins against Qwen3-Embedding-0.6B come from VAGOsolutions' own evaluation, summarized in the benchmark comparison. The smaller models also have some striking results:

  • 115M, English NanoBEIR: 0.643 versus Qwen's 0.648 nDCG@10.
  • 115M, six-language NanoBEIR average: 0.585 versus Qwen's 0.574 nDCG@10.
  • 27M, cross-lingual MKQA: 0.684 versus Qwen's 0.681 Recall@20, with questions in six languages retrieving English Wikipedia, according to the MKQA comparison.
  • 1.5M versus IBM granite-97m-multilingual-r2: 0.591 versus 0.589 on English NanoBEIR, and 0.976 versus 0.918 on GermanQuAD, both nDCG@10, in the tiny-model comparison.

Non-English NanoBEIR uses the team's translations. The evaluation notes also disclose per-model configurations; on each German task, MoEdernColBERT uses whichever document limit scores better, 512 or 8,192 tokens.

Encoder throughput

VAGOsolutions measured bf16 encoding of 512-token documents on one NVIDIA RTX 6000 Ada, with batch sizes tuned per model:

  • 1.5M: 43,255 documents/second.
  • 27M: 6,708 documents/second.
  • 115M: 1,132 documents/second.
  • Qwen3-Embedding-0.6B: 141 documents/second.

MoEdernColBERT used the team's Triton MoE kernel. These measurements exclude tokenization and search, so the roughly 8× and 47× advantages for the 115M and 27M models describe encoder throughput.

MaxSim and index size

MoEdernColBERT retains token-level representations rather than pooling each text into one vector. Its ColBERT head projects tokens to 128 dimensions and pads queries to 32 tokens with [MASK].

MaxSim sums each query token's best match among the document tokens. That richer interaction requires more vectors to store and score than single-vector retrieval; the quality comparisons therefore change both the encoder architecture and the retrieval representation.

MultiVectorEncoder

Sentence Transformers' MultiVectorEncoder loads all three models with trust_remote_code=True, as the usage example demonstrates. VAGOsolutions tested Sentence Transformers 6.1 and Transformers 5 in its usage guide.

Two runtime details sit below the example:

  • 32K context is opt-in: Documents truncate at 512 tokens by default. Setting model[0].document_length = 32768 raises the limit; long inputs automatically use a ±256-token attention window. Training used 512-token sequences.
  • Triton is conditional: The bundled kernel activates automatically on NVIDIA GPUs when Triton is available. Other configurations fall back to plain PyTorch; MOEDERN_TRITON=0 disables the kernel explicitly.

CoreML and GGUF

Quantized builds accompany the three sizes in the linked model collection. The smallest model's deployment formats have different constraints:

  • CoreML: The 4-bit package scores 0.5903 on English NanoBEIR versus 0.5912 in fp32. VAGOsolutions reports 0.13 ms query latency on an Apple M5 Max Neural Engine.
  • GGUF: The 4-bit file is 1.55 MB and scores 0.5882. It requires the repository's custom ggml-based engine: stock llama.cpp, Ollama and LM Studio cannot load it.

Further reading

Discussion across the web

Where this story is being discussed, in original context.

On X· 5 threads
TL;DR2 posts
MoEdernBERT1 post
Retrieval scores4 posts
MultiVectorEncoder1 post
CoreML and GGUF1 post
Share on X