Model reference · open weights
DenseOn-unsupervised is an open-weight embedding model from lightonai. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | lightonai |
|---|---|
| Type | Embedding models |
| Task | Embeddings |
| Parameters (lead) | 149M |
| Context | 8k tokens |
| Runs with | sentence-transformers |
| Released | 2026-03-13 |
| Popularity | 504 downloads / month |
| Licence | Open weights |
About
📚 Collection | 📝 Blog
🎯 TL;DR: The intermediate dense checkpoint produced by Stage 1 only of the DenseOn pipeline: large-scale unsupervised contrastive pre-training on filtered query-document pairs. Released as a strong starting point for your own supervised fine-tuning, knowledge distillation, or downstream adaptation.
State-of-the-art retrieval is increasingly dominated by closed models, either hidden behind APIs or trained on undisclosed data. This blocks reproducibility, prevents study of possible data leakage, and gatekeeps progress to a handful of private labs. We thus decided to gather and curate a large amount of data and explore various mixtures. We release all the data used in our explorations:
Based on our findings, we trained LateOn (multi-vector/ColBERT) and DenseOn (single vector/dense) models on a proprietary Apache 2.0-compatible training dataset and release those models as well. Both are built on the ModernBERT backbone at 149M parameters, a size we believe sits at the sweet spot: large enough to handle real-world queries and documents, small enough to serve at high throughput in latency-sensitive production systems. For more information, please read our blogpost.
DenseOn-unsupervised is the output of the first stage of the DenseOn training pipeline. It has been pre-trained on a large, filtered corpus of query-document pairs using in-batch contrastive learning, but has not yet been fine-tuned with mined hard negatives.
For most production use cases, you should use the fully-trained DenseOn instead. This unsupervised checkpoint is intended for:
| Model | Average | Size | Emb dim | ArguAna | CQADupstackRetrieval | ClimateFEVER | DBPedia | FEVER | FiQA2018 | HotpotQA | MSMARCO | NFCorpus | NQ | QuoraRetrieval | SCIDOCS | SciFact | TRECCOVID | Touche2020 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| modernbert-embed-base | 52.89 | 149 | 768 | 48.96 | 42.08 | 35.67 | 41.50 | 87.35 | 40.59 | 67.11 | 41.47 | 33.40 | 62.15 | 88.85 | 18.59 | 69.63 | 84.15 | 31.91 |
| bge-large-en-v1.5 | 54.34 | 335 | 1024 | 64.52 | 42.23 | 36.57 | 44.11 | 87.18 | 45.02 | 74.10 | 42.49 | 38.06 | 55.03 | 89.07 | 22.63 | 74.64 | 74.70 | 24.81 |
| gte-modernbert-base | 55.19 | 149 | 768 | 74.56 | 42.64 | 45.90 | 41.39 | 93.98 | 49.54 | 70.39 | 39.93 | 34.32 | 56.10 | 88.57 | 20.44 | 76.41 | 75.75 | 17.97 |
| snowflake-arctic-embed-l-v2.0 | 55.22 | 568 | 1024 | 59.11 | 45.88 | 41.82 | 43.40 | 91.54 | 45.35 | 68.15 | 44.86 | 35.08 | 63.67 | 88.75 | 20.28 | 70.90 | 83.63 | 25.89 |
| jina-embeddings-v5-text-nano | 56.06 | 239 | 768 | 65.70 | 44.66 | 39.60 | 45.26 | 89.51 | 47.85 | 69.07 | 41.64 | 38.69 | 63.38 | 88.87 | 22.60 | 75.78 | 77.60 | 30.70 |
| Qwen3-Embedding-0.6B | 55.52 | 600 | 1024 | 70.97 | 46.03 | 42.11 | 39.48 | 88.15 | 46.61 | 65.74 | 37.99 | 36.71 | 53.46 | 87.78 | 24.41 | 69.72 | 90.52 | 33.18 |
| pplx-embed-v1-0.6b | 56.70 | 600 | 1024 | 60.45 | 45.96 | 39.82 | 44.30 | 90.66 | 52.05 | 74.41 | 43.86 | 35.80 | 62.04 | 88.96 | 22.84 | 74.78 | 85.63 | 28.98 |
| DenseOn-unsupervised | 49.05 | 149 | 768 | 54.94 | 46.28 | 18.20 | 37.39 | 70.68 | 52.34 | 59.77 | 29.30 | 37.92 | 50.62 | 88.98 | 23.05 | 76.35 | 68.12 | 21.87 |
| DenseOn | 56.20 | 149 | 768 | 54.65 | 46.89 | 37.49 | 44.65 | 90.69 | 53.86 | 74.51 | 43.58 | 39.03 | 59.25 | 89.31 | 22.35 | 75.95 | 82.33 | 28.43 |
DenseOn reaches 56.20 NDCG@10 on BEIR, making it the top base-size dense retriever and the first sub-150M model to clear the 56 bar. At 149M parameters it decisively beats GTE-ModernBERT (55.19) at the same size, and more tellingly outperforms snowflake-arctic-embed-l-v2.0 (55.22, 568M) and Qwen3-Embedding-0.6B (55.52, 595M) despite being roughly 4× smaller. DenseOn also stays within half a point of the strongest current-generation dense baselines, pplx-embed-v1-0.6B (56.70, 596M) and jina-embeddings-v5-text-nano (56.08, 239M), both substantially larger.
Standard benchmark
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys denseon-unsupervised for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (denseon-unsupervised below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/embeddings \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"denseon-unsupervised","input":"text to embed"}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.