A 152M text-only encoder that maps a query into the embedding space of
Qwen3-VL-Embedding-8B,
distilled by pointwise cosine alignment against that teacher's cached query
embeddings. The -ML suffix marks the multilingual training mixture: 711K
English queries plus 778K MarianMT translations into five Latin-script European
languages.
This is the strongest of the three query backbones we distilled, at 2.2x the
parameters and 5x the latency of the
DistilBERT tower
that ships as the default. Take this one when retrieval quality matters more
than query latency; take DistilBERT when you are serving many queries per
second on CPU.
What it pairs with
A pair is valid when the teacher and the width both match. This tower targets
Qwen3-VL-Embedding-8B at 4096-d, so it pairs with:
Pass the raw query. The teacher's targets were cached with an instruction, but
the student was trained to reproduce those targets from the bare query text,
and every number below was measured that way. Prepending an instruction at
inference moves the input off the distribution the tower was fitted on.
Results
NDCG@5 on ViDoRe. Query side in isolation, scored against teacher-encoded
pages, which isolates this tower from document-side error:
v1
v2
v3
Avg
NanoVDR-Q-ModernBERT-Qwen3VL8B-4096-ML
85.36
65.40
51.43
67.40
Qwen3-VL-Embedding-8B (teacher)
87.31
69.76
56.07
71.05
94.9% of the teacher on the side this tower replaces.
Backbone comparison
All three distilled from the same teacher on the same data, measured under
query-side isolation. Latency is one query at batch 1 on an H200, including
tokenisation:
Backbone
Params
v1
v2
v3
Avg
Latency
ModernBERT-base (this model)
152M
85.36
65.40
51.43
67.40
10.61 ms
DistilBERT-base
70M
84.68
64.30
50.09
66.36
2.07 ms
BERT-base
113M
81.81
58.52
44.55
61.63
4.78 ms
ModernBERT leads DistilBERT by 1.04 average points. Whether that is worth 5x
the latency depends on your query volume; the published end-to-end system uses
DistilBERT for that reason.
End-to-end numbers paired with the document towers are published for the
DistilBERT tower (61.74 average with HiRes). That pairing has not been measured
for this backbone, so the isolation numbers above are what this card
claims.
Reproducibility
Re-encoding the 500 ViDoRe arxivqa queries with this package and scoring
against the cached teacher page embeddings:
NDCG@5 teacher queries x teacher pages : 86.91
NDCG@5 student queries x teacher pages : 86.03 (99.0% retention)
The DistilBERT tower reaches 83.77 (96.4%) on the same check.
Training
Objective
1 - cos(student, teacher), nothing else
Teacher
Qwen3-VL-Embedding-8B, frozen, 4096-d
Data
1.49M queries (the NanoVDR training set plus MarianMT translations)
Optimizer
AdamW, one-cycle, peak LR 5e-4, 3% warmup
Effective batch
512
Epochs
15
No relevance labels, no negative mining, no contrastive term. Teacher targets
are cached once before training, so this tower was trained without the teacher
ever running during training.
Limitations
English and five Latin-script European languages. The multilingual
portion comes from a MarianMT translation pipeline. Non-Latin scripts such as
Chinese, Japanese and Arabic are untested.
Text-only. Image-conditioned queries are out of scope.
Bounded by the teacher. Nothing in the objective lets the student exceed
Qwen3-VL-Embedding-8B on the side it replaces.
Slower than the default. 5x the query latency of the DistilBERT tower for
1.04 average points.
Citation
bibtex
1@article{distilvdr2026,
2 title = {DistilVDR: A Compact End-to-End Visual Document Retriever
3 via Dual-Student Distillation},
4 author = {Liu, Zhuchenyang and Wang, Ziyi and Zhang, Yao and Xiao, Yu},
5 journal = {arXiv preprint arXiv:2608.10636},
6 year = {2026}
7}