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.

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 = 32768raises 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=0disables 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.