metadata
language:
- en
license: apache-2.0
tags:
- sentence-transformers
- cross-encoder
- generated_from_trainer
- dataset_size:69699
- loss:BinaryCrossEntropyLoss
base_model: cross-encoder/ms-marco-MiniLM-L2-v2
pipeline_tag: text-ranking
library_name: sentence-transformers
metrics:
- pearson
- spearman
- map
- mrr@10
- ndcg@10
model-index:
- name: cross-encoder/ms-marco-MiniLM-L2-v2 Finetuned on PV211 HomeWork
results:
- task:
type: cross-encoder-correlation
name: Cross Encoder Correlation
dataset:
name: sts dev
type: sts_dev
metrics:
- type: pearson
value: 0.8392209488671921
name: Pearson
- type: spearman
value: 0.729809198818792
name: Spearman
- task:
type: cross-encoder-reranking
name: Cross Encoder Reranking
dataset:
name: NanoMSMARCO R100
type: NanoMSMARCO_R100
metrics:
- type: map
value: 0.5685
name: Map
- type: mrr@10
value: 0.557
name: Mrr@10
- type: ndcg@10
value: 0.6146
name: Ndcg@10
- task:
type: cross-encoder-reranking
name: Cross Encoder Reranking
dataset:
name: NanoNFCorpus R100
type: NanoNFCorpus_R100
metrics:
- type: map
value: 0.3511
name: Map
- type: mrr@10
value: 0.5391
name: Mrr@10
- type: ndcg@10
value: 0.3779
name: Ndcg@10
- task:
type: cross-encoder-reranking
name: Cross Encoder Reranking
dataset:
name: NanoNQ R100
type: NanoNQ_R100
metrics:
- type: map
value: 0.5917
name: Map
- type: mrr@10
value: 0.6017
name: Mrr@10
- type: ndcg@10
value: 0.645
name: Ndcg@10
- task:
type: cross-encoder-nano-beir
name: Cross Encoder Nano BEIR
dataset:
name: NanoBEIR R100 mean
type: NanoBEIR_R100_mean
metrics:
- type: map
value: 0.5038
name: Map
- type: mrr@10
value: 0.5659
name: Mrr@10
- type: ndcg@10
value: 0.5459
name: Ndcg@10
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
- Documentation: Sentence Transformers Documentation
- Documentation: Cross Encoder Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Cross Encoders on Hugging Face
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
- Dataset:
sts_dev
- Evaluated with
CrossEncoderCorrelationEvaluator
Metric | Value |
---|---|
pearson | 0.8392 |
spearman | 0.7298 |
Cross Encoder Reranking
- Datasets:
NanoMSMARCO_R100
,NanoNFCorpus_R100
andNanoNQ_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
, andlabel
- 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
: epochper_device_train_batch_size
: 32per_device_eval_batch_size
: 32learning_rate
: 2e-05warmup_ratio
: 0.1save_only_model
: Truefp16
: Trueload_best_model_at_end
: True
All Hyperparameters
Click to expand
overwrite_output_dir
: Falsedo_predict
: Falseeval_strategy
: epochprediction_loss_only
: Trueper_device_train_batch_size
: 32per_device_eval_batch_size
: 32per_gpu_train_batch_size
: Noneper_gpu_eval_batch_size
: Nonegradient_accumulation_steps
: 1eval_accumulation_steps
: Nonetorch_empty_cache_steps
: Nonelearning_rate
: 2e-05weight_decay
: 0.0adam_beta1
: 0.9adam_beta2
: 0.999adam_epsilon
: 1e-08max_grad_norm
: 1.0num_train_epochs
: 3max_steps
: -1lr_scheduler_type
: linearlr_scheduler_kwargs
: {}warmup_ratio
: 0.1warmup_steps
: 0log_level
: passivelog_level_replica
: warninglog_on_each_node
: Truelogging_nan_inf_filter
: Truesave_safetensors
: Truesave_on_each_node
: Falsesave_only_model
: Truerestore_callback_states_from_checkpoint
: Falseno_cuda
: Falseuse_cpu
: Falseuse_mps_device
: Falseseed
: 42data_seed
: Nonejit_mode_eval
: Falseuse_ipex
: Falsebf16
: Falsefp16
: Truefp16_opt_level
: O1half_precision_backend
: autobf16_full_eval
: Falsefp16_full_eval
: Falsetf32
: Nonelocal_rank
: 0ddp_backend
: Nonetpu_num_cores
: Nonetpu_metrics_debug
: Falsedebug
: []dataloader_drop_last
: Falsedataloader_num_workers
: 0dataloader_prefetch_factor
: Nonepast_index
: -1disable_tqdm
: Falseremove_unused_columns
: Truelabel_names
: Noneload_best_model_at_end
: Trueignore_data_skip
: Falsefsdp
: []fsdp_min_num_params
: 0fsdp_config
: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}tp_size
: 0fsdp_transformer_layer_cls_to_wrap
: Noneaccelerator_config
: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed
: Nonelabel_smoothing_factor
: 0.0optim
: adamw_torchoptim_args
: Noneadafactor
: Falsegroup_by_length
: Falselength_column_name
: lengthddp_find_unused_parameters
: Noneddp_bucket_cap_mb
: Noneddp_broadcast_buffers
: Falsedataloader_pin_memory
: Truedataloader_persistent_workers
: Falseskip_memory_metrics
: Trueuse_legacy_prediction_loop
: Falsepush_to_hub
: Falseresume_from_checkpoint
: Nonehub_model_id
: Nonehub_strategy
: every_savehub_private_repo
: Nonehub_always_push
: Falsegradient_checkpointing
: Falsegradient_checkpointing_kwargs
: Noneinclude_inputs_for_metrics
: Falseinclude_for_metrics
: []eval_do_concat_batches
: Truefp16_backend
: autopush_to_hub_model_id
: Nonepush_to_hub_organization
: Nonemp_parameters
:auto_find_batch_size
: Falsefull_determinism
: Falsetorchdynamo
: Noneray_scope
: lastddp_timeout
: 1800torch_compile
: Falsetorch_compile_backend
: Nonetorch_compile_mode
: Noneinclude_tokens_per_second
: Falseinclude_num_input_tokens_seen
: Falseneftune_noise_alpha
: Noneoptim_target_modules
: Nonebatch_eval_metrics
: Falseeval_on_start
: Falseuse_liger_kernel
: Falseeval_use_gather_object
: Falseaverage_tokens_across_devices
: Falseprompts
: Nonebatch_sampler
: batch_samplermulti_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",
}