/ Модель

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

Контекст
8 192 токена
Параметры
149 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Базовая модель
ModernBERT-base
Библиотека
sentence-transformers
Опубликована
27 июл 2026

multivector-ModernBERT-base-msmarco-cached-contrastive-no-query-expansion

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

Англоязычный многовекторный энкодер ModernBERT для семантического поиска и ранжирования документов по текстовым запросам.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это англоязычный многовекторный энкодер для семантического поиска с поздним взаимодействием токенов, разработанный на базе answerdotai/ModernBERT-base и дообученный на 99 тысячах примеров MS MARCO с библиотекой Sentence Transformers. Модель преобразует текст в последовательности 128-мерных векторов на уровне токенов и оценивает соответствие запросов и документов с помощью MaxSim.

Модель предназначена для поиска релевантных документов по текстовому запросу и задач информационного поиска. В карточке приведены результаты оценки на наборах NanoMSMARCO, NanoBEIR и других тестах поиска. Максимальная длина последовательности — 8192 токена; лицензия — Apache-2.0.

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

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

ColBERT ModernBERT-base trained on MS MARCO triplets with GradCache

This is a Multi-Vector Encoder model finetuned from answerdotai/ModernBERT-base on the msmarco-bm25 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: answerdotai/ModernBERT-base
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 128 dimensions
  • Similarity Function: maxsim
  • Supported Modality: Text
  • Training Dataset:
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

MultiVectorEncoder(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'ModernBertModel'})
  (1): Dense({'in_features': 768, '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/multivector-ModernBERT-base-msmarco-cached-contrastive")
# Run inference: each input becomes a sequence of per-token vectors (variable length).
queries = [
    'what is territorial sovereignty',
]
documents = [
    'territorial sovereignty. Exclusive right of a state to exercise its powers within the boundaries of its territory.',
    'Territorial preservation, as Agnew explains is merely one aspect of a states territorial integrity (2005). The lack of territorial sovereignty is often a key characteristic of so-called failed states where effective monopoly over the internal means of violence is lost.',
    '1 Active Transportï\x82§ Active Transport requires the cell to use energy, usually in the form of ATP.ï\x82§ Active Transport creates a charge gradient in the cell membrane. 2  For example in the mitochondrion, hydrogen ion pumps pump hydrogen ions into the intermembrane space of the organelle as part of making ATP. 3  15.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings[0].shape, document_embeddings[0].shape)
# (6, 128) (24, 128)

# Get the MaxSim similarity scores
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[5.6691, 5.5729, 1.3079]])

Evaluation

Metrics

Multi Vector Information Retrieval

  • Datasets: NanoMSMARCO, NanoNQ, NanoFiQA2018, NanoClimateFEVER, NanoDBPedia, NanoFEVER, NanoFiQA2018, NanoHotpotQA, NanoMSMARCO, NanoNFCorpus, NanoNQ, NanoQuoraRetrieval, NanoSCIDOCS, NanoArguAna, NanoSciFact and NanoTouche2020
  • Evaluated with MultiVectorInformationRetrievalEvaluator
MetricNanoMSMARCONanoNQNanoFiQA2018NanoClimateFEVERNanoDBPediaNanoFEVERNanoHotpotQANanoNFCorpusNanoQuoraRetrievalNanoSCIDOCSNanoArguAnaNanoSciFactNanoTouche2020
maxsim_accuracy@10.340.380.30.20.560.580.680.420.780.340.140.480.449
maxsim_accuracy@30.50.50.40.380.780.90.760.50.880.540.460.60.7551
maxsim_accuracy@50.60.60.440.460.820.940.780.540.90.620.620.640.8367
maxsim_accuracy@100.720.70.520.540.860.980.840.560.940.760.760.70.9796
maxsim_precision@10.340.380.30.20.560.580.680.420.780.340.140.480.449
maxsim_precision@30.16670.17330.16670.12670.50.30670.280.33330.36670.26670.15330.22670.4558
maxsim_precision@50.120.1240.1240.0960.4480.1920.1920.2960.2320.2160.1240.1480.4286
maxsim_precision@100.0720.0720.0780.0640.3740.1020.1080.2340.1240.1520.0760.080.398
maxsim_recall@10.340.360.19340.09170.06460.54670.340.02790.68070.07170.140.4450.0375
maxsim_recall@30.50.490.28490.17070.12240.84670.420.09670.83530.16470.460.5950.1122
maxsim_recall@50.60.580.32570.20630.17210.88670.480.11350.8720.22170.620.640.1684
maxsim_recall@100.720.650.37240.27030.24840.93330.540.1360.92270.31070.760.70.2823
maxsim_ndcg@100.51970.49850.32250.21540.46660.76350.52940.30660.84710.29740.42290.58320.4341
maxsim_mrr@100.45720.46220.36410.30070.67390.72850.72640.46620.83720.4650.31710.55050.6234
maxsim_map@1000.47030.45590.2850.16580.32130.69730.44680.1410.81970.22650.32490.55270.3793

Multi Vector Nano BEIR

  • Dataset: NanoBEIR_mean
  • Evaluated with MultiVectorNanoBEIREvaluator with these parameters:
    {
        "dataset_names": [
            "msmarco",
            "nq",
            "fiqa2018"
        ],
        "dataset_id": "sentence-transformers/NanoBEIR-en"
    }
    
MetricValue
maxsim_accuracy@10.32
maxsim_accuracy@30.46
maxsim_accuracy@50.5333
maxsim_accuracy@100.6267
maxsim_precision@10.32
maxsim_precision@30.1689
maxsim_precision@50.1173
maxsim_precision@100.0713
maxsim_recall@10.2778
maxsim_recall@30.425
maxsim_recall@50.4843
maxsim_recall@100.5628
maxsim_ndcg@100.4339
maxsim_mrr@100.4159
maxsim_map@1000.3931

Multi Vector Nano BEIR

  • Dataset: NanoBEIR_mean
  • Evaluated with MultiVectorNanoBEIREvaluator with these parameters:
    {
        "dataset_names": [
            "climatefever",
            "dbpedia",
            "fever",
            "fiqa2018",
            "hotpotqa",
            "msmarco",
            "nfcorpus",
            "nq",
            "quoraretrieval",
            "scidocs",
            "arguana",
            "scifact",
            "touche2020"
        ],
        "dataset_id": "sentence-transformers/NanoBEIR-en"
    }
    
MetricValue
maxsim_accuracy@10.4345
maxsim_accuracy@30.6119
maxsim_accuracy@50.6767
maxsim_accuracy@100.7584
maxsim_precision@10.4345
maxsim_precision@30.271
maxsim_precision@50.2108
maxsim_precision@100.1488
maxsim_recall@10.2569
maxsim_recall@30.3922
maxsim_recall@50.4528
maxsim_recall@100.5266
maxsim_ndcg@100.4774
maxsim_mrr@100.5363
maxsim_map@1000.4066

Training Details

Training Dataset

msmarco-bm25

  • Dataset: msmarco-bm25 at ce8a493
  • Size: 99,000 training samples
  • Columns: query, positive, and negative
  • Approximate statistics based on the first 100 samples:
    querypositivenegative
    typestringstringstring
    modalitytexttexttext
    detailsmin: 5 tokensmean: 9.4 tokensmax: 18 tokensmin: 28 tokensmean: 83.3 tokensmax: 197 tokensmin: 24 tokensmean: 76.0 tokensmax: 226 tokens
  • Samples:
    querypositivenegative
    what is an agate made ofAgate is the name given to a group of silicate minerals that are made up primarily of chalcedony. Chalcedony is a member of the quartz family of minerals.What is an agate, though, and what are the properties and feng shui meaning of agate? Let's find out. WHAT IS THE MEANING OF AGATE? As a form of chalcedony (type of quartz) agate exhibits a variety of colours , shapes, as well as an often present gentle iridescence.
    what is the socratic method?The Socratic Learning Method (SLM) is a constructivist learning approach consisting of four key. steps: eliciting relevant preconceptions, clarifying preconceptions, testing ones own. hypotheses or encountered propositions, and deciding whether to accept the hypotheses or. propositions.The Socratic Learning Method and the Inquiry-Based Learning Method. Since the Socratic dialogues are among the earliest documented instances of learning through. inquiry, it is reasonable to argue that what is now known as inquiry-based learning can trace its. origin to the Socratic Learning Method.
    what ditto means• DITTO (noun). The noun DITTO has 1 sense: 1. a mark used to indicate the word above it should be repeated. Familiarity information: DITTO used as a noun is very rare. • DITTO (verb). The verb DITTO has 1 sense: 1. repeat an action or statement. Familiarity information: DITTO used as a verb is very rare.Valerie Hill 0 I had texted one of my Auntie's and she sent the word Ditto back to me I was like what do that mean. Now I know!!! Acronym. DITTO in text means the same, or me too, or I agree.
  • Loss: CachedMultiVectorMultipleNegativesRankingLoss with these parameters:
    {
        "score_metric": "colbert_scores",
        "mini_batch_size": 32,
        "mini_batch_num_tokens": null,
        "score_mini_batch_size": 32,
        "scale": 1.0,
        "size_average": true,
        "gather_across_devices": false
    }
    

Evaluation Dataset

msmarco-bm25

  • Dataset: msmarco-bm25 at ce8a493
  • Size: 1,000 evaluation samples
  • Columns: query, positive, and negative
  • Approximate statistics based on the first 100 samples:
    querypositivenegative
    typestringstringstring
    modalitytexttexttext
    detailsmin: 4 tokensmean: 9.18 tokensmax: 21 tokensmin: 22 tokensmean: 76.76 tokensmax: 210 tokensmin: 30 tokensmean: 84.36 tokensmax: 210 tokens
  • Samples:
    querypositivenegative
    expected return is a function ofsecurity market line Security market line (SML) is the representation of the capital asset pricing model. It displays the expected rate of return of an individual security as a function of systematic, non-diversifiable risk (its beta). beta Average sensitivity of a security's price to overall securities market prices.A portfolio's expected return is the sum of the weighted average of each asset's expected return. Calculate a portfolio's expected return. To calculate the expected return of a portfolio, you need to know the expected return and weight of each asset in a portfolio.
    what smoker temperature for barbecue chickenChickens smoked hot and fast over indirect heat on the grill. But for pulled chicken, I wanted a slightly more intense smokiness to balance the barbecue sauce. I decided to do a side-by-side comparison, cooking one on the grill over indirect heat at around 375°F, and one in the smoker at 225°F.Cook for an hour and 15 minutes. Check your smoked chicken breasts to make sure the temperature is still holding at about 250 degrees. Flip the chicken breasts and close the lid again. After 30 minutes, check the internal temperature of the chicken with a meat thermometer. You are looking for a temperature of 160 degrees before you can pull them off the smoker. Serve your smoked chicken breasts with a side of barbecue sauce for dipping.
    in classification of matter what is an elementMatter can be in the same phase or in two different phases for this separation to take place. Key Terms. mixture: Something that consists of diverse, non-bonded elements or molecules. element: A chemical substance that is made up of a particular kind of atom and cannot be broken down or transformed by a chemical reaction.2. What four elements make up 96% of all living matter? The four elements that make up 96% of all living matter are oxygen, carbon, hydrogen and nitrogen. 3. What is the difference between an essential element and a trace element? An essential element is an element that an organism needs to live a healthy life and reproduce. A trace element is required by an organism in only minute quantities. Section 2 4. Sketch a model of an atom of helium, showing the electrons, protons, neutrons, and atomic nucleus. Neutrons Protons Electrons 5.
  • Loss: CachedMultiVectorMultipleNegativesRankingLoss with these parameters:
    {
        "score_metric": "colbert_scores",
        "mini_batch_size": 32,
        "mini_batch_num_tokens": null,
        "score_mini_batch_size": 32,
        "scale": 1.0,
        "size_average": true,
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 256
  • num_train_epochs: 1
  • learning_rate: 3e-05
  • warmup_steps: 0.05
  • bf16: True
  • per_device_eval_batch_size: 32
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

  • per_device_train_batch_size: 256
  • num_train_epochs: 1
  • max_steps: -1
  • learning_rate: 3e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.05
  • 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: 1.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: 32
  • 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: True
  • 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: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}
  • max_length: None

Training Logs

EpochStepTraining LossValidation LossNanoMSMARCO_maxsim_ndcg@10NanoNQ_maxsim_ndcg@10NanoFiQA2018_maxsim_ndcg@10NanoBEIR_mean_maxsim_ndcg@10NanoClimateFEVER_maxsim_ndcg@10NanoDBPedia_maxsim_ndcg@10NanoFEVER_maxsim_ndcg@10NanoHotpotQA_maxsim_ndcg@10NanoNFCorpus_maxsim_ndcg@10NanoQuoraRetrieval_maxsim_ndcg@10NanoSCIDOCS_maxsim_ndcg@10NanoArguAna_maxsim_ndcg@10NanoSciFact_maxsim_ndcg@10NanoTouche2020_maxsim_ndcg@10
-1-1--0.15720.18510.13550.1593----------
0.010345.9065---------------
0.020785.7869---------------
0.0310125.5644---------------
0.0413165.2117---------------
0.0517204.7197---------------
0.0620244.0890---------------
0.0724283.5701---------------
0.0827323.2990---------------
0.0930363.0834---------------
0.100839-1.50380.35110.29640.25980.3025----------
0.1034402.9494---------------
0.1137442.7276---------------
0.1240482.4742---------------
0.1344522.3246---------------
0.1447562.2679---------------
0.1550602.1709---------------
0.1654642.1077---------------
0.1757682.0022---------------
0.1860721.9609---------------
0.1964761.9054---------------
0.201678-1.04990.44170.40540.26410.3704----------
0.2067801.9625---------------
0.2171841.9317---------------
0.2274881.9280---------------
0.2377921.7935---------------
0.2481961.8347---------------
0.25841001.8208---------------
0.26871041.8619---------------
0.27911081.8128---------------
0.28941121.7879---------------
0.29971161.7014---------------
0.3023117-0.92250.45340.43030.36730.4170----------
0.31011201.6731---------------
0.32041241.6961---------------
0.33071281.7301---------------
0.34111321.6529---------------
0.35141361.6703---------------
0.36181401.6882---------------
0.37211441.6177---------------
0.38241481.6462---------------
0.39281521.6391---------------
0.40311561.58170.83420.49360.47500.32170.4301----------
0.41341601.6026---------------
0.42381641.6237---------------
0.43411681.5942---------------
0.44441721.6211---------------
0.45481761.6076---------------
0.46511801.5197---------------
0.47551841.5760---------------
0.48581881.5535---------------
0.49611921.5019---------------
0.5039195-0.80040.50520.48910.31070.4350----------
0.50651961.5746---------------
0.51682001.5618---------------
0.52712041.5410---------------
0.53752081.5333---------------
0.54782121.5448---------------
0.55812161.5221---------------
0.56852201.5687---------------
0.57882241.5448---------------
0.58912281.4613---------------
0.59952321.5090---------------
0.6047234-0.76900.49050.47020.31870.4265----------
0.60982361.4572---------------
0.62022401.5143---------------
0.63052441.4898---------------
0.64082481.4234---------------
0.65122521.3648---------------
0.66152561.3490---------------
0.67182601.3034---------------
0.68222641.3108---------------
0.69252681.2706---------------
0.70282721.3064---------------
0.7054273-0.68260.48360.46420.28560.4112----------
0.71322761.2720---------------
0.72352801.2861---------------
0.73392841.2676---------------
0.74422881.2693---------------
0.75452921.3310---------------
0.76492961.3174---------------
0.77523001.2657---------------
0.78553041.2438---------------
0.79593081.2717---------------
0.80623121.24440.66570.50690.46600.31590.4296----------
0.81653161.2162---------------
0.82693201.2765---------------
0.83723241.2029---------------
0.84753281.2716---------------
0.85793321.2241---------------
0.86823361.2276---------------
0.87863401.2421---------------
0.88893441.2431---------------
0.89923481.2105---------------
0.907351-0.65620.51970.49850.32250.4469----------
0.90963521.2252---------------
0.91993561.2255---------------
0.93023601.2393---------------
0.94063641.1916---------------
0.95093681.1789---------------
0.96123721.2024---------------
0.97163761.2324---------------
0.98193801.2035---------------
0.99223841.2166---------------
1.0387-0.64950.50360.47020.32790.4339----------
-1-1--0.51970.49850.32250.47740.21540.46660.76350.52940.30660.84710.29740.42290.58320.4341
  • The bold row denotes the saved checkpoint.

Training Time

  • Training: 41.5 minutes
  • Evaluation: 7.2 minutes
  • Total: 48.7 minutes

Framework Versions

  • Python: 3.11.6
  • Sentence Transformers: 5.7.0.dev0
  • Transformers: 5.13.1
  • PyTorch: 2.10.0+cu128
  • Accelerate: 1.14.0
  • Datasets: 4.8.4
  • Tokenizers: 0.22.2

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…

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

0 моделей