/ Модель

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

Контекст
262 144 токена
Архитектура
qwen3_vl · dense
Базовая модель
Qwen3-VL-Embedding-2B
Библиотека
sentence-transformers
Опубликована
26 июл 2026

ColQwen3-VL-Embedding-2B-vdr

ЭмбеддингиТекст → embedding8 профессий

Мультимодальный многовекторный энкодер для семантического поиска и сопоставления текстовых запросов с изображениями с помощью позднего взаимодействия MaxSim.

28скачиваний за 30 дней0лайковвеса обновлены27 июл 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

В подключённых источниках результатов для этой модели пока нет.

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

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

ColQwen3-VL-Embedding-2B-vdr — мультимодальный многовекторный энкодер, дообученный авторами tomaarsen на базе Qwen/Qwen3-VL-Embedding-2B с использованием Sentence Transformers и набора llamaindex-vdr-en-train-preprocessed из 10 000 примеров. Модель преобразует текст, изображения и видео в последовательности 128-мерных векторов на уровне токенов и оценивает соответствие запросов и документов методом позднего взаимодействия MaxSim.

Модель предназначена прежде всего для семантического поиска по визуальным документам и другим мультимодальным данным: она сопоставляет текстовые запросы с изображениями, сохраняя отдельные векторы для токенов вместо сведения всего ввода к одному вектору. Заявленная максимальная длина последовательности — 262 144 токена. В README приведены результаты оценки на vdr-eval-hard, включая maxsim_accuracy@1 0,8467 и maxsim_accuracy@5 0,98.

Модель использует библиотеку Sentence Transformers и распространяется в формате Safetensors. Лицензия в предоставленных данных не указана.

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

  • поиск изображений по текстовому запросу
  • поиск релевантных страниц и визуальных документов
  • ранжирование изображений по соответствию запросу
  • мультимодальный поиск по коллекции документов
  • сопоставление текстовых запросов с визуальным содержимым

Ограничения

Обучающий набор и приведённые примеры оценки ориентированы на английский язык и поиск по изображениям; качество для других языков и модальностей отдельно не подтверждено. Для поиска требуется совместимый конвейер многовекторного индексирования и оценки MaxSim.

Для каких профессий подходит8

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

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

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

Открыть на Hugging Face

Multi-Vector Encoder

This is a Multi-Vector Encoder model finetuned from Qwen/Qwen3-VL-Embedding-2B on the llamaindex-vdr-en-train-preprocessed dataset using the sentence-transformers library. It maps inputs to sequences of 128-dimensional token-level vectors and scores them with late interaction (MaxSim), useful for semantic search with late interaction.

Model Details

Model Description

  • Model Type: Multi-Vector Encoder
  • Base model: Qwen/Qwen3-VL-Embedding-2B
  • Maximum Sequence Length: 262144 tokens
  • Output Dimensionality: 128 dimensions
  • Similarity Function: maxsim
  • Supported Modalities: Text, Image, Video, Message
  • Training Dataset:
    • llamaindex-vdr-en-train-preprocessed

Model Sources

Full Model Architecture

MultiVectorEncoder(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}, 'image': {'method': 'forward', 'method_output_name': 'last_hidden_state'}, 'video': {'method': 'forward', 'method_output_name': 'last_hidden_state'}, 'message': {'method': 'forward', 'method_output_name': 'last_hidden_state', 'format': 'structured'}}, 'module_output_name': 'token_embeddings', 'processing_kwargs': {'chat_template': {'add_generation_prompt': True}}, 'unpad_inputs': False, 'architecture': 'Qwen3VLModel'})
  (1): Dense({'in_features': 2048, 'out_features': 128, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'module_input_name': 'token_embeddings', 'module_output_name': 'token_embeddings'})
  (2): MultiVectorMask({'skiplist_words': [], 'keep_only_token_ids': None})
  (3): Normalize({'module_input_name': 'token_embeddings', 'module_output_name': 'token_embeddings'})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import MultiVectorEncoder

# Download from the 🤗 Hub
model = MultiVectorEncoder("tomaarsen/ColQwen3-VL-Embedding-2B-vdr")
# Run inference: each input becomes a sequence of per-token vectors (variable length).
queries = [
    'What are the new anthropological perspectives on development as discussed by Quarles Van Ufford and Giri in 2003?',
]
documents = [
    'https://huggingface.co/tomaarsen/ColQwen3-VL-Embedding-2B-vdr/resolve/main/assets/image_0.jpg',
    'https://huggingface.co/tomaarsen/ColQwen3-VL-Embedding-2B-vdr/resolve/main/assets/image_1.jpg',
    'https://huggingface.co/tomaarsen/ColQwen3-VL-Embedding-2B-vdr/resolve/main/assets/image_2.jpg',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings[0].shape, document_embeddings[0].shape)
# (48, 128) (352, 128)

# Get the MaxSim similarity scores
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[37.0712, 33.5348, 23.2705]])

Evaluation

Metrics

Multi Vector Information Retrieval

MetricValue
maxsim_accuracy@10.8467
maxsim_accuracy@30.9567
maxsim_accuracy@50.98
maxsim_accuracy@100.9967
maxsim_precision@10.8467
maxsim_precision@30.3189
maxsim_precision@50.196
maxsim_precision@100.0997
maxsim_recall@10.8467
maxsim_recall@30.9567
maxsim_recall@50.98
maxsim_recall@100.9967
maxsim_ndcg@100.9278
maxsim_mrr@100.905
maxsim_map@1000.9053

Training Details

Training Dataset

llamaindex-vdr-en-train-preprocessed

  • Dataset: llamaindex-vdr-en-train-preprocessed
  • Size: 10,000 training samples
  • Columns: query, image, and negative_0
  • Approximate statistics based on the first 100 samples:
    queryimagenegative_0
    typestringimageimage
    modalitytextimageimage
    detailsmin: 27 tokensmean: 35.59 tokensmax: 50 tokensmin: 1000x756 pxmean: 1437x1628 pxmax: 2044x1869 pxmin: 1008x756 pxmean: 1450x1637 pxmax: 2044x1851 px
  • Samples:
    queryimagenegative_0
    What are the new anthropological perspectives on development as discussed by Quarles Van Ufford and Giri in 2003?
    What are the three main positions anthropologists have taken in relation to development, as discussed by David Lewis?
    Who are the three sisters known as the Fates in Greek mythology?
  • Loss: CachedMultiVectorMultipleNegativesRankingLoss with these parameters:
    {
        "score_metric": "colbert_scores",
        "mini_batch_size": 1,
        "mini_batch_num_tokens": null,
        "score_mini_batch_size": 1,
        "scale": 1.0,
        "size_average": true,
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • num_train_epochs: 1
  • learning_rate: 2e-05
  • warmup_steps: 0.1
  • max_grad_norm: 30.0
  • bf16: True
  • learning_rate_mapping: {'^(model\.)?1\.linear': 0.0002}

All Hyperparameters

  • per_device_train_batch_size: 64
  • num_train_epochs: 1
  • max_steps: -1
  • learning_rate: 2e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.1
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 30.0
  • label_smoothing_factor: 0.0
  • bf16: True
  • fp16: False
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: None
  • trackio_bucket_id: None
  • trackio_static_space_id: None
  • per_device_eval_batch_size: 8
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: False
  • hub_private_repo: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_static_graph: None
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: None
  • fsdp_config: None
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {'^(model\.)?1\.linear': 0.0002}
  • max_length: None

Training Logs

EpochStepTraining Lossvdr-eval-hard_maxsim_ndcg@10
-1-1-0.8244
0.051082.2737-
0.1019160.69850.9132
0.1529240.3765-
0.2038320.31790.9133
0.2548400.2909-
0.3057480.29840.9184
0.3567560.2649-
0.4076640.27710.9232
0.4586720.2404-
0.5096800.24560.9271
0.5605880.2933-
0.6115960.25490.9224
0.66241040.2636-
0.71341120.28150.9202
0.76431200.2829-
0.81531280.25920.9206
0.86621360.2180-
0.91721440.26470.9206
0.96821520.2411-
1.0157-0.9278

Training Time

  • Training: 2.4 hours
  • Evaluation: 26.8 minutes
  • Total: 2.8 hours

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.7.0.dev0
  • Transformers: 5.14.1
  • PyTorch: 2.13.0+cu130
  • Accelerate: 1.14.0
  • Datasets: 5.0.0
  • Tokenizers: 0.22.2

Additional Resources

  • Sentence Transformers Documentation: the full documentation site, including training, evaluation, and pre-trained model catalogs.
  • PyLate: the upstream library whose features were absorbed into Sentence Transformers for multi-vector / late-interaction models.

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

CachedMultiVectorMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Qwen3VLModel
Ревизия весов
b91a114

0 моделей