cross-encoder/ms-marco-MiniLM-L2-v2 Finetuned on PV211 HomeWork

This is a Cross Encoder model finetuned from cross-encoder/ms-marco-MiniLM-L2-v2 using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.

Model Details

Model Description

  • Model Type: Cross Encoder
  • Base model: cross-encoder/ms-marco-MiniLM-L2-v2
  • Maximum Sequence Length: 512 tokens
  • Number of Output Labels: 1 label
  • Language: en
  • License: apache-2.0

Model Sources

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 CrossEncoder

# Download from the ๐Ÿค— Hub
model = CrossEncoder("maennyn/pv211_beir_cqadupstack_crossencoder")
# Get scores for pairs of texts
pairs = [
    ['Do elevator upgrades increase your passive credit earnings, too?', 'I searched for a solution for this problem, but cannot find an answer (or exact replica of the problem) Basically, I set up Multisite on MAMP Pro (Apache port 80, MySQL Port 3306). The set up was smooth, and I created a new site via a subdirectory. The parent theme loads fine. I created a child theme, and it activates (it doesn\'t show a broken message). On the Appearance page it shows the message "This theme requires the parent theme", but underneath the Theme Description. However when I view the front page of the site, the page is blank, and there is no html at all. Would could possibly be the error? I spent a few hours on this already and it\'s not going really well. Code of child theme, only CSS, no functions.php or other php files in the child theme folder.               /*     Theme Name: Confit Child Theme     Author: Automattic     Template: confit     Description: Confit Child Theme 1     Version: 1.0     */          @import url(\'../confit/style.css\');        * Should also mention that the parent functions are not loading either.  Thanks!'],
    ['Traceback (most recent call last) error appears on terminal', "I've got a binary characteristic and a population $S$ with size $n$ and $P[X] = p$ such that $p$ may be small and $n$ is extremely large. Within this population are subpopulations of various sizes $S_0, S_1, \\dots, S_k \\subset S$. I'd like to be able to select each subpopulation in which $p_i < p$ with some concept of statistical significance. My first inclination is to observe that the standard error on each $p_i$ is $SE_i = \\sqrt{\\frac{\\hat{p_i}(1-\\hat{p_i})}{n}}$ and to compare upper bounds on confidence intervals. $\\{S_i \\; | \\; \\hat{p_i} + 3 \\cdot SE_i < p\\}$, for example. But when $\\hat{p_i} = 0$, then $SE_i = 0$, and this upper bound is 0 even for the smallest subpopulations (like those where $n_i = 1$). Is there any way to express uncertainty in $p_i$ when $\\hat{p_i} = 0$? Maybe through use of $p$ as a prior? **Edit:** It looks like the Jeffreys interval as described in Brown et al. is about what I'm after, though I'm not as-of-yet sure how to apply it."],
    ['Do I have to install a custom ROM if I root?', 'What is the difference between a battery and a charged capacitor? I can see lot of similarities between capacitor and battery. In both these charges are separated and When not connected in a circuit both can have same Potential difference `V`. The only difference is that battery runs for longer time but a capacitor discharges almost instantaneously. Why this difference? What is the exact cause for the difference in the discharge times?'],
    ['How to seprate words into two lines in one cell?', 'To me the word "curious" would be something you can be i.e. > I am curious what tomorrow will bring I recently read a text of a student I was supervising which used it as follows > A curious phenomenon is ... With which he meant to say that the phenomenon was peculiar, odd or strange. The only other case I have ever seen this is in the movie title: "The Curious Case of Benjamin Button", but that might be \'artistic freedom\' (since Curious Case has the nice C.. C..). My question is: is the usage of the word "curious" in the meaning of peculiar correct?'],
    ["Bought game on Steam, but it's not in my Library", "I'm looking to choose open source project hosting site for an F# project using SVN. CodePlex is where the .NET community in general and most F# projects are hosted, but I'm worried TFS + SvnBridge is going to give me headaches. So I'm looking elsewhere and seeking advice here. Or if you think CodePlex is still the best choice in my scenario, I'd like to hear that too. So far, Google Code is looking appealing to me. They have a clean interface and true SVN hosting. But there are close to no F# projects currently hosted (it's not even in their search by programming language list), so I'm wondering if there are any notable downsides besides the lack of community I might encounter. If there is yet another option, I'd like to hear that too. Thanks!"],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'Do elevator upgrades increase your passive credit earnings, too?',
    [
        'I searched for a solution for this problem, but cannot find an answer (or exact replica of the problem) Basically, I set up Multisite on MAMP Pro (Apache port 80, MySQL Port 3306). The set up was smooth, and I created a new site via a subdirectory. The parent theme loads fine. I created a child theme, and it activates (it doesn\'t show a broken message). On the Appearance page it shows the message "This theme requires the parent theme", but underneath the Theme Description. However when I view the front page of the site, the page is blank, and there is no html at all. Would could possibly be the error? I spent a few hours on this already and it\'s not going really well. Code of child theme, only CSS, no functions.php or other php files in the child theme folder.               /*     Theme Name: Confit Child Theme     Author: Automattic     Template: confit     Description: Confit Child Theme 1     Version: 1.0     */          @import url(\'../confit/style.css\');        * Should also mention that the parent functions are not loading either.  Thanks!',
        "I've got a binary characteristic and a population $S$ with size $n$ and $P[X] = p$ such that $p$ may be small and $n$ is extremely large. Within this population are subpopulations of various sizes $S_0, S_1, \\dots, S_k \\subset S$. I'd like to be able to select each subpopulation in which $p_i < p$ with some concept of statistical significance. My first inclination is to observe that the standard error on each $p_i$ is $SE_i = \\sqrt{\\frac{\\hat{p_i}(1-\\hat{p_i})}{n}}$ and to compare upper bounds on confidence intervals. $\\{S_i \\; | \\; \\hat{p_i} + 3 \\cdot SE_i < p\\}$, for example. But when $\\hat{p_i} = 0$, then $SE_i = 0$, and this upper bound is 0 even for the smallest subpopulations (like those where $n_i = 1$). Is there any way to express uncertainty in $p_i$ when $\\hat{p_i} = 0$? Maybe through use of $p$ as a prior? **Edit:** It looks like the Jeffreys interval as described in Brown et al. is about what I'm after, though I'm not as-of-yet sure how to apply it.",
        'What is the difference between a battery and a charged capacitor? I can see lot of similarities between capacitor and battery. In both these charges are separated and When not connected in a circuit both can have same Potential difference `V`. The only difference is that battery runs for longer time but a capacitor discharges almost instantaneously. Why this difference? What is the exact cause for the difference in the discharge times?',
        'To me the word "curious" would be something you can be i.e. > I am curious what tomorrow will bring I recently read a text of a student I was supervising which used it as follows > A curious phenomenon is ... With which he meant to say that the phenomenon was peculiar, odd or strange. The only other case I have ever seen this is in the movie title: "The Curious Case of Benjamin Button", but that might be \'artistic freedom\' (since Curious Case has the nice C.. C..). My question is: is the usage of the word "curious" in the meaning of peculiar correct?',
        "I'm looking to choose open source project hosting site for an F# project using SVN. CodePlex is where the .NET community in general and most F# projects are hosted, but I'm worried TFS + SvnBridge is going to give me headaches. So I'm looking elsewhere and seeking advice here. Or if you think CodePlex is still the best choice in my scenario, I'd like to hear that too. So far, Google Code is looking appealing to me. They have a clean interface and true SVN hosting. But there are close to no F# projects currently hosted (it's not even in their search by programming language list), so I'm wondering if there are any notable downsides besides the lack of community I might encounter. If there is yet another option, I'd like to hear that too. Thanks!",
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Evaluation

Metrics

Cross Encoder Correlation

Metric Value
pearson 0.8392
spearman 0.7298

Cross Encoder Reranking

  • Datasets: NanoMSMARCO_R100, NanoNFCorpus_R100 and NanoNQ_R100
  • Evaluated with CrossEncoderRerankingEvaluator with these parameters:
    {
        "at_k": 10,
        "always_rerank_positives": true
    }
    
Metric NanoMSMARCO_R100 NanoNFCorpus_R100 NanoNQ_R100
map 0.5685 (+0.0790) 0.3511 (+0.0901) 0.5917 (+0.1721)
mrr@10 0.5570 (+0.0795) 0.5391 (+0.0392) 0.6017 (+0.1750)
ndcg@10 0.6146 (+0.0742) 0.3779 (+0.0529) 0.6450 (+0.1444)

Cross Encoder Nano BEIR

  • Dataset: NanoBEIR_R100_mean
  • Evaluated with CrossEncoderNanoBEIREvaluator with these parameters:
    {
        "dataset_names": [
            "msmarco",
            "nfcorpus",
            "nq"
        ],
        "rerank_k": 100,
        "at_k": 10,
        "always_rerank_positives": true
    }
    
Metric Value
map 0.5038 (+0.1137)
mrr@10 0.5659 (+0.0979)
ndcg@10 0.5459 (+0.0905)

Training Details

Training Dataset

Unnamed Dataset

  • Size: 69,699 training samples
  • Columns: query, document, and label
  • Approximate statistics based on the first 1000 samples:
    query document label
    type string string int
    details
    • min: 15 characters
    • mean: 49.33 characters
    • max: 125 characters
    • min: 45 characters
    • mean: 793.68 characters
    • max: 18801 characters
    • 0: ~74.50%
    • 1: ~25.50%
  • Samples:
    query document label
    Do elevator upgrades increase your passive credit earnings, too? I searched for a solution for this problem, but cannot find an answer (or exact replica of the problem) Basically, I set up Multisite on MAMP Pro (Apache port 80, MySQL Port 3306). The set up was smooth, and I created a new site via a subdirectory. The parent theme loads fine. I created a child theme, and it activates (it doesn't show a broken message). On the Appearance page it shows the message "This theme requires the parent theme", but underneath the Theme Description. However when I view the front page of the site, the page is blank, and there is no html at all. Would could possibly be the error? I spent a few hours on this already and it's not going really well. Code of child theme, only CSS, no functions.php or other php files in the child theme folder. /* Theme Name: Confit Child Theme Author: Automattic Template: confit Description: Confit Child Theme 1 Version: 1.0 */ @import url('../confit/style.css'); * Should also menti... 0
    Traceback (most recent call last) error appears on terminal I've got a binary characteristic and a population $S$ with size $n$ and $P[X] = p$ such that $p$ may be small and $n$ is extremely large. Within this population are subpopulations of various sizes $S_0, S_1, \dots, S_k \subset S$. I'd like to be able to select each subpopulation in which $p_i < p$ with some concept of statistical significance. My first inclination is to observe that the standard error on each $p_i$ is $SE_i = \sqrt{\frac{\hat{p_i}(1-\hat{p_i})}{n}}$ and to compare upper bounds on confidence intervals. ${S_i ; ; \hat{p_i} + 3 \cdot SE_i < p}$, for example. But when $\hat{p_i} = 0$, then $SE_i = 0$, and this upper bound is 0 even for the smallest subpopulations (like those where $n_i = 1$). Is there any way to express uncertainty in $p_i$ when $\hat{p_i} = 0$? Maybe through use of $p$ as a prior? **Edit:** It looks like the Jeffreys interval as described in Brown et al. is about what I'm after, though I'm not as-of-yet sure how to apply it.
    Do I have to install a custom ROM if I root? What is the difference between a battery and a charged capacitor? I can see lot of similarities between capacitor and battery. In both these charges are separated and When not connected in a circuit both can have same Potential difference V. The only difference is that battery runs for longer time but a capacitor discharges almost instantaneously. Why this difference? What is the exact cause for the difference in the discharge times? 0
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": null
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • learning_rate: 2e-05
  • warmup_ratio: 0.1
  • save_only_model: True
  • fp16: True
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: True
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • tp_size: 0
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss sts_dev_spearman NanoMSMARCO_R100_ndcg@10 NanoNFCorpus_R100_ndcg@10 NanoNQ_R100_ndcg@10 NanoBEIR_R100_mean_ndcg@10
-1 -1 - 0.5982 0.6519 (+0.1115) 0.3749 (+0.0498) 0.6497 (+0.1490) 0.5588 (+0.1035)
0.4589 1000 0.4015 - - - - -
0.9179 2000 0.191 - - - - -
1.0 2179 - 0.7298 0.6146 (+0.0742) 0.3779 (+0.0529) 0.6450 (+0.1444) 0.5459 (+0.0905)
1.3768 3000 0.163 - - - - -
1.8357 4000 0.1524 - - - - -
2.0 4358 - 0.7312 0.5951 (+0.0547) 0.3808 (+0.0557) 0.6490 (+0.1484) 0.5416 (+0.0863)
2.2946 5000 0.1369 - - - - -
2.7536 6000 0.1297 - - - - -
3.0 6537 - 0.7335 0.5994 (+0.0590) 0.3743 (+0.0492) 0.6500 (+0.1494) 0.5412 (+0.0859)
-1 -1 - 0.7298 0.6146 (+0.0742) 0.3779 (+0.0529) 0.6450 (+0.1444) 0.5459 (+0.0905)
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 4.1.0
  • Transformers: 4.51.3
  • PyTorch: 2.1.0+cu118
  • Accelerate: 1.6.0
  • Datasets: 3.5.0
  • Tokenizers: 0.21.1

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",
}
Downloads last month
0
Safetensors
Model size
15.6M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for maennyn/pv211_beir_cqadupstack_crossencoder

Evaluation results