/ Модель

Характеристики

Контекст
7 999 токенов
Параметры
149 млн
Лицензия
Своя лицензия
Архитектура
modernbert · dense
Базовая модель
ettin-encoder-150m
Библиотека
sentence-transformers
Опубликована
20 сен 2026

ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML

ЭмбеддингиТекст → embedding

Текстовый энкодер запросов для многовекторного поиска по визуальным документам в пространстве эмбеддингов webAI-ColVec1.1-4b.

149скачиваний за 30 дней3лайкавеса обновлены3 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки21

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

  • VidoreShiftProjectRetrieval

    main_score

    Результат

    0,9176

    MTEB

    Публичная таблицадругая ревизия

  • Vidore3NuclearRetrieval

    main_score

    Результат

    0,5009

    Общий результат 0,5073Общий результат 0,5007
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3HrRetrieval

    main_score

    Результат

    0,6524

    Общий результат 0,6391Общий результат 0,6335Общий результат 0,6308
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3PhysicsRetrieval

    main_score

    Результат

    0,4909

    Общий результат 0,4916Общий результат 0,4902Общий результат 0,4896
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3FinanceFrRetrieval

    main_score

    Результат

    0,5173

    Общий результат 0,5209Общий результат 0,5177Общий результат 0,5044
    MTEB

    Публичная таблицадругая ревизия

  • Vidore2BioMedicalLecturesRetrieval

    main_score

    Результат

    0,6108

    Общий результат 0,6309
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3ComputerScienceRetrieval

    main_score

    Результат

    0,7679

    Общий результат 0,7665Общий результат 0,7654Общий результат 0,7547
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3EnergyRetrieval

    main_score

    Результат

    0,6896

    Общий результат 0,6784
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3FinanceEnRetrieval

    main_score

    Результат

    0,6604

    Общий результат 0,6853Общий результат 0,6555Общий результат 0,6511
    MTEB

    Публичная таблицадругая ревизия

  • Vidore3TelecomRetrieval

    main_score

    Результат

    0,6952

    Общий результат 0,686
    MTEB

    Публичная таблицадругая ревизия

  • Vidore2ESGReportsRetrieval

    main_score

    Результат

    0,6239

    Общий результат 0,6312Общий результат 0,6146
    MTEB

    Публичная таблицадругая ревизия

  • Vidore2ESGReportsHLRetrieval

    main_score

    Результат

    0,7605

    MTEB

    Публичная таблицадругая ревизия

  • Vidore2EconomicsReportsRetrieval

    main_score

    Результат

    0,5152

    Общий результат 0,5393
    MTEB

    Публичная таблицадругая ревизия

  • VidoreSyntheticDocQAHealthcareIndustryRetrieval

    main_score

    Результат

    0,9963

    MTEB

    Публичная таблицадругая ревизия

  • Vidore3PharmaceuticalsRetrieval

    main_score

    Результат

    0,646

    MTEB

    Публичная таблицадругая ревизия

  • VidoreTatdqaRetrieval

    main_score

    Результат

    0,7789

    MTEB

    Публичная таблицадругая ревизия

  • VidoreDocVQARetrieval

    main_score

    Результат

    0,6196

    MTEB

    Публичная таблицадругая ревизия

  • VidoreArxivQARetrieval

    main_score

    Результат

    0,878

    MTEB

    Публичная таблицадругая ревизия

  • VidoreTabfquadRetrieval

    main_score

    Результат

    0,9559

    MTEB

    Публичная таблицадругая ревизия

  • Vidore3IndustrialRetrieval

    main_score

    Результат

    0,5213

    Общий результат 0,526Общий результат 0,5122
    MTEB

    Публичная таблицадругая ревизия

  • VidoreSyntheticDocQAGovernmentReportsRetrieval

    main_score

    Результат

    0,9676

    MTEB

    Публичная таблицадругая ревизия

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML — текстовый энкодер запросов из семейства ColNanoVDR, разработанный командой NanoVDR. Он предназначен для поиска по визуальным документам: кодирует текстовый запрос в набор 640-мерных векторов для позднего взаимодействия с уже проиндексированными страницами. Модель содержит около 149 млн параметров и основана на Ettin/ModernBERT, дообученном методом дистилляции под пространство эмбеддингов запросов webAI-ColVec1.1-4b.

Энкодер позволяет выполнять кодирование запросов без запуска крупной мультимодальной модели и, согласно карточке, может работать на CPU. Для использования требуется индекс страниц, созданный именно webAI-Official/webAI-ColVec1.1-4b; менять его не нужно, если он уже создан этой моделью. Запрос следует подавать без инструкционного префикса, а выходные векторы не следует повторно нормализовать. Модель рассчитана на английский и пять европейских языков с латинской письменностью; контекст — 7999 токенов. Лицензия указана как other, конкретные условия в предоставленных данных не раскрыты.

Сценарии применения

  • поиск страниц документов по текстовому запросу
  • кодирование запросов для индекса ColVec
  • извлечение страниц из визуальных документов без GPU на этапе запроса
  • многовекторный поиск по сканам и страницам документов

Ограничения

Совместима только с индексом страниц, построенным webAI-Official/webAI-ColVec1.1-4b, и требует подачи исходного запроса без префикса и без повторной нормализации выхода. Лицензия обозначена как other, поэтому условия использования следует уточнить в карточке модели.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

What is ColNanoVDR

ColNanoVDR extends NanoVDR from single-vector retrievers to the multi-vector, late-interaction encoders that define the state of the art in visual document retrieval (ColPali-style models such as ColQwen3.5, Vultron, Tomoro and ColVec).

In those systems the query is encoded, at serving time, by a multi-billion-parameter vision-language model, even though a query is plain text and carries no image. ColNanoVDR removes that model from the online path. Using document-free distillation, a small text-only encoder is trained to reproduce the teacher's query token embeddings under an optimal-transport objective, so its output lands directly in the teacher's late-interaction space and the teacher's existing page index can be scored by MaxSim unchanged. Training needs only cached teacher query embeddings: no page image is ever encoded, and no relevance label is ever used.

The result keeps 97.4% of a 4.5B teacher across 22 ViDoRe datasets with a query tower 30x smaller, and the document side is left untouched, so an existing index does not need to be rebuilt. With no vision tower on the query path, encoding a query becomes feasible on CPU, so serving no longer requires a GPU at all.

This model

Every ColNanoVDR release is named:

ColNanoVDR-Q-{backbone}-{teacher}-{dim}-ML
FieldMeaningThis model
Qthe query tower: the only side that is trained; documents stay with the teacherQ
{backbone}the text-only encoder distilled intoEttin150M = jhu-clsp/ettin-encoder-150m, 150M params
{teacher}the multi-vector VDR teacher whose embedding space this tower targetsColVec4B = webAI-Official/webAI-ColVec1.1-4b, 4.5B params
{dim}late-interaction vector width of that teacher640
MLmultilingual training mixtureEnglish + 5 Latin-script European languages

So ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML is a 150M ettin-encoder-150m query tower that emits 640-d multi-vector queries inside the late-interaction space of webAI-Official/webAI-ColVec1.1-4b.

A tower is only valid with the teacher it was distilled from: the teacher and the width must both match. This one requires pages indexed by webAI-Official/webAI-ColVec1.1-4b; for a different teacher, take the corresponding tower:

Query towerTeacher that must index your pagesWidth
ColNanoVDR-Q-Ettin150M-ColQwen35-320-MLathrael-soju/colqwen3.5-4.5B-v3320
ColNanoVDR-Q-Ettin150M-Tomoro8B-320-MLTomoroAI/tomoro-colqwen3-embed-8b320
ColNanoVDR-Q-Ettin150M-Vultron45B-320-MLvultr/VultronRetrieverCore-Qwen3.5-4.5B320
ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML (this model)webAI-Official/webAI-ColVec1.1-4b640
ColNanoVDR-Q-Ettin150M-ColVec8B-640-MLwebAI-Official/webAI-ColVec1.1-8b640
ColNanoVDR-Q-Ettin400M-ColQwen35-320-MLathrael-soju/colqwen3.5-4.5B-v3320

Training

Dataset. nanovdr/NanoVDR-Train: 1.49M queries, 711K English plus 778K MarianMT translations into five Latin-script European languages. Only the query text is used. Teacher query embeddings are cached once before training, so the teacher never runs during training.

Loss: OTW (weighted entropic optimal transport). A query is a set of token vectors, and the student and the teacher do not produce the same number of tokens, so there is no token-to-token correspondence to regress onto. OTW instead treats each side as a distribution on the unit sphere, the student as mu_S = sum_i a_i d(s_i) and the teacher as mu_T = sum_j b_j d(t_j), and minimises the entropic optimal-transport cost between them under c(s,t) = 1 - <s,t>:

L = <P*, C>,   P* = argmin_{P in U(a,b)} <P, C> - eps H(P)

Transport is balanced, so every student token must carry mass and the student is forced to cover the teacher's full token distribution rather than collapsing onto a few easy directions. The W is the student marginal: a_i is a softmax over learned per-token weight logits instead of uniform, which lets a student token carry more mass and match a teacher measure with more atoms. The motivation is that the transport cost upper-bounds the MaxSim scoring error uniformly over every possible document, which is what makes the objective document-free: minimising it constrains retrieval behaviour without a single page ever being encoded.

Settings: eps = 0.05, 50 Sinkhorn iterations, AdamW one-cycle, peak LR 3e-4, 3% warmup, effective batch 1024 (128 per GPU x 2 GPUs x 4 accumulation), 10 epochs.

Architecture. Ettin encoder -> bias-free linear projection to 640-d -> per-token L2 normalisation -> learned weight head. The weight head is a linear layer over the pre-projection hidden states whose softmax gives a_i; at inference each unit token vector is scaled by its weight, so the emitted vectors are deliberately not unit-length and the per-query token norms sum to 1. Special tokens are excluded from scoring. 150M parameters total.

Usage

Requires sentence-transformers>=6.0 and transformers>=5.0.

Retrieval runs in two stages. The teacher builds the page index once, offline; ColNanoVDR then answers every query online, and the teacher is never loaded again.

Step 1 (offline, once): index your pages with the teacher

This is the only stage where the vision-language model runs. Cache the resulting page embeddings; they are what you serve against.

import torch
from transformers import AutoModel, AutoProcessor

TEACHER = "webAI-Official/webAI-ColVec1.1-4b"
teacher = AutoModel.from_pretrained(
    TEACHER, trust_remote_code=True, dtype=torch.bfloat16,
    attn_implementation="sdpa", device_map="cuda:0"
).eval()
processor = AutoProcessor.from_pretrained(TEACHER, trust_remote_code=True)

page_embeddings = []
with torch.no_grad():
    for batch in batches_of(page_images, 4):          # PIL images
        inputs = processor.process_images(batch).to(teacher.device)
        out = teacher(**inputs)                       # raw hidden states
        page_embeddings.extend(l2_normalise_and_unpad(out, inputs["attention_mask"]))

# persist page_embeddings to disk / a multi-vector index (PLAID, Vespa, Qdrant, ...)

If you already run webAI-ColVec1.1-4b in production, skip this step entirely: your existing index is already in the right space and does not need rebuilding.

Step 2 (online, per query): encode with ColNanoVDR and score

from sentence_transformers import MultiVectorEncoder

model = MultiVectorEncoder(
    "nanovdr/ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML",
    trust_remote_code=True,
)

q = model.encode_query(["What was the revenue growth in Q3 2024?"])
# list of (n_tokens, 640) float arrays, weights already folded in

scores = model.similarity(q, page_embeddings)   # meanMaxSim

No teacher, no image processor, no GPU required on this path.

Two notes that change results if ignored:

  • Pass the raw query, with no instruction prefix. The teacher's targets were cached through the teacher's own query processor, but the student was trained to reproduce them from bare query text, and every number below was measured that way.
  • Do not re-normalise the output. The learned weights are already folded in. similarity_fn_name is meanmaxsim (MaxSim over document tokens per query token, then averaged over query tokens); the summed ColBERT variant changes the ranking.

Performance

NDCG@5 on ViDoRe (22 datasets). The query side is measured in isolation against teacher-encoded pages, which attributes all error to this tower:

v1v2v3Avg
webAI-ColVec1.1-4b (teacher)90.7466.6361.6473.00
ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML90.2764.0359.0871.13
Retention99.5%96.1%95.8%97.4%

Efficiency

ParamsVision tower at query timeCPU serving
webAI-ColVec1.1-4b (teacher)4.5Brequiredno
ColNanoVDR-Q-Ettin150M-ColVec4B-640-ML150Mnoneyes

The query tower is 30x smaller than the teacher and runs no vision tower, so a query can be encoded on CPU. Query latency depends on your hardware and on the teacher's attention kernels, so measure it on your own stack.

License

This model inherits the licence of its teacher. It was distilled from webAI-ColVec1.1-4b, whose weights are released under the webAI Non-Commercial License v1.0, and it is released under the same terms: non-commercial use only. The full licence text is in LICENSE.md in this repository. The ColNanoVDR training code and the other ColNanoVDR towers are MIT; this repository is not.

Contact

Zhuchenyang Liu, Aalto University: zhuchenyang.liu@aalto.fi

Citation

If you use ColNanoVDR, please cite:

@misc{liu2026colnanovdrdocumentfreequerydistillation,
      title={ColNanoVDR: Document-Free Query Distillation for Multi-Vector Visual Document Retrieval via Optimal Transport}, 
      author={Zhuchenyang Liu and Ziyi Wang and Yao Zhang and Yu Xiao},
      year={2026},
      eprint={2609.34899},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2609.34899}, 
}

ColNanoVDR builds on NanoVDR:

@article{nanovdr2026,
  title   = {NanoVDR: Distilling a 2B Vision-Language Retriever into a 70M
             Text-Only Encoder for Visual Document Retrieval},
  author  = {Liu, Zhuchenyang and Zhang, Yao and Xiao, Yu},
  journal = {arXiv preprint arXiv:2603.12824},
  year    = {2026}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
ModernBertModel
Ревизия весов
7f97f73

0 моделей