Downloads · 30 days
121
21% of all-time downloads
tomaarsen/mpnet-base-allnli
mpnet-base-allnli is a sentence similarity model from tomaarsen. Use it when you need a score for how close two texts are. It is set up for sentence-transformers. The card lists the license as apache-2.0.
This is a sentence-transformers model finetuned from microsoft/mpnet-base on the multinli, snli and stsb datasets. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic te…
Downloads · 30 days
121
21% of all-time downloads
All-time downloads
569
Public
Parameters
109M
2.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors438 MB · 100%
From the Hugging Face model README
This is a sentence-transformers model finetuned from microsoft/mpnet-base on the multi_nli, snli and stsb datasets. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'max_seq_length': 384, 'do_lower_case': False}) with Transformer model: MPNetModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Normalize()
)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("tomaarsen/mpnet-base-allnli")
# Run inference
sentences = [
"Rouen is the ancient center of Normandy's thriving textile industry, and the place of Joan of Arc's martyrdom ' a national symbol of resistance to tyranny.",
'Joan of Arc sacrificed her life at Rouen, which became an enduring symbol of opposition to tyranny.',
'The islands are part of France now instead of just colonies.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
sts-dev| Metric | Value |
|---|---|
| pearson_cosine | 0.8344 |
| spearman_cosine | 0.8295 |
| pearson_manhattan | 0.8317 |
| spearman_manhattan | 0.8332 |
| pearson_euclidean | 0.8273 |
| spearman_euclidean | 0.8295 |
| pearson_dot | 0.8344 |
| spearman_dot | 0.8295 |
| pearson_max | 0.8344 |
| spearman_max | 0.8332 |
sts-test| Metric | Value |
|---|---|
| pearson_cosine | 0.7776 |
| spearman_cosine | 0.7643 |
| pearson_manhattan | 0.7788 |
| spearman_manhattan | 0.7659 |
| pearson_euclidean | 0.7763 |
| spearman_euclidean | 0.7643 |
| pearson_dot | 0.7776 |
| spearman_dot | 0.7643 |
| pearson_max | 0.7788 |
| spearman_max | 0.7659 |
| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details | <ul><li>min: 4 tokens</li><li>mean: 26.95 tokens</li><li>max: 189 tokens</li></ul> | <ul><li>min: 5 tokens</li><li>mean: 14.11 tokens</li><li>max: 49 tokens</li></ul> | <ul><li>0: ~34.30%</li><li>1: ~28.20%</li><li>2: ~37.50%</li></ul> |
| premise | hypothesis | label |
|---|---|---|
| <code>Conceptually cream skimming has two basic dimensions - product and geography.</code> | <code>Product and geography are what make cream skimming work. </code> | <code>1</code> |
| <code>you know during the season and i guess at at your level uh you lose them to the next level if if they decide to recall the the parent team the Braves decide to call to recall a guy from triple A then a double A guy goes up to replace him and a single A guy goes up to replace him</code> | <code>You lose the things to the following level if the people recall.</code> | <code>0</code> |
| <code>One of our number will carry out your instructions minutely.</code> | <code>A member of my team will execute your orders with immense precision.</code> | <code>0</code> |
| snli_premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details | <ul><li>min: 6 tokens</li><li>mean: 17.38 tokens</li><li>max: 52 tokens</li></ul> | <ul><li>min: 4 tokens</li><li>mean: 10.7 tokens</li><li>max: 31 tokens</li></ul> | <ul><li>0: ~33.40%</li><li>1: ~33.30%</li><li>2: ~33.30%</li></ul> |
| snli_premise | hypothesis | label |
|---|---|---|
| <code>A person on a horse jumps over a broken down airplane.</code> | <code>A person is training his horse for a competition.</code> | <code>1</code> |
| <code>A person on a horse jumps over a broken down airplane.</code> | <code>A person is at a diner, ordering an omelette.</code> | <code>2</code> |
| <code>A person on a horse jumps over a broken down airplane.</code> | <code>A person is outdoors, on a horse.</code> | <code>0</code> |
| sentence1 | sentence2 | label | |
|---|---|---|---|
| type | string | string | float |
| details | <ul><li>min: 6 tokens</li><li>mean: 10.0 tokens</li><li>max: 28 tokens</li></ul> | <ul><li>min: 5 tokens</li><li>mean: 9.95 tokens</li><li>max: 25 tokens</li></ul> | <ul><li>min: 0.0</li><li>mean: 0.54</li><li>max: 1.0</li></ul> |
| sentence1 | sentence2 | label |
|---|---|---|
| <code>A plane is taking off.</code> | <code>An air plane is taking off.</code> | <code>1.0</code> |
| <code>A man is playing a large flute.</code> | <code>A man is playing a flute.</code> | <code>0.76</code> |
| <code>A man is spreading shreded cheese on a pizza.</code> | <code>A man is spreading shredded cheese on an uncooked pizza.</code> | <code>0.76</code> |
{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details | <ul><li>min: 5 tokens</li><li>mean: 27.67 tokens</li><li>max: 138 tokens</li></ul> | <ul><li>min: 6 tokens</li><li>mean: 13.48 tokens</li><li>max: 27 tokens</li></ul> | <ul><li>0: ~35.00%</li><li>1: ~31.00%</li><li>2: ~34.00%</li></ul> |
| premise | hypothesis | label |
|---|---|---|
| <code>The new rights are nice enough</code> | <code>Everyone really likes the newest benefits </code> | <code>1</code> |
| <code>This site includes a list of all award winners and a searchable database of Government Executive articles.</code> | <code>The Government Executive articles housed on the website are not able to be searched.</code> | <code>2</code> |
| <code>uh i don't know i i have mixed emotions about him uh sometimes i like him but at the same times i love to see somebody beat him</code> | <code>I like him for the most part, but would still enjoy seeing someone beat him.</code> | <code>0</code> |
| snli_premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details | <ul><li>min: 6 tokens</li><li>mean: 18.44 tokens</li><li>max: 57 tokens</li></ul> | <ul><li>min: 5 tokens</li><li>mean: 10.57 tokens</li><li>max: 25 tokens</li></ul> | <ul><li>0: ~33.10%</li><li>1: ~33.30%</li><li>2: ~33.60%</li></ul> |
| snli_premise | hypothesis | label |
|---|---|---|
| <code>Two women are embracing while holding to go packages.</code> | <code>The sisters are hugging goodbye while holding to go packages after just eating lunch.</code> | <code>1</code> |
| <code>Two women are embracing while holding to go packages.</code> | <code>Two woman are holding packages.</code> | <code>0</code> |
| <code>Two women are embracing while holding to go packages.</code> | <code>The men are fighting outside a deli.</code> | <code>2</code> |
| sentence1 | sentence2 | label | |
|---|---|---|---|
| type | string | string | float |
| details | <ul><li>min: 5 tokens</li><li>mean: 15.1 tokens</li><li>max: 45 tokens</li></ul> | <ul><li>min: 6 tokens</li><li>mean: 15.11 tokens</li><li>max: 53 tokens</li></ul> | <ul><li>min: 0.0</li><li>mean: 0.47</li><li>max: 1.0</li></ul> |
| sentence1 | sentence2 | label |
|---|---|---|
| <code>A man with a hard hat is dancing.</code> | <code>A man wearing a hard hat is dancing.</code> | <code>1.0</code> |
| <code>A young child is riding a horse.</code> | <code>A child is riding a horse.</code> | <code>0.95</code> |
| <code>A man is feeding a mouse to a snake.</code> | <code>The man is feeding a mouse to the snake.</code> | <code>1.0</code> |
{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
eval_strategy: stepsper_device_train_batch_size: 64per_device_eval_batch_size: 64learning_rate: 2e-05num_train_epochs: 1warmup_ratio: 0.1seed: 33bf16: Trueload_best_model_at_end: Truepush_to_hub: Truehub_model_id: tomaarsen/mpnet-base-allnlihub_private_repo: Truemulti_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 64per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_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: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 33data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_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}fsdp_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: Trueresume_from_checkpoint: Nonehub_model_id: tomaarsen/mpnet-base-allnlihub_strategy: every_savehub_private_repo: Truehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robin| Epoch | Step | Training Loss | multi nli loss | snli loss | stsb loss | sts-dev_spearman_dot | sts-test_spearman_cosine |
|---|---|---|---|---|---|---|---|
| 0.0370 | 10 | 0.8347 | - | - | - | - | - |
| 0.0741 | 20 | 0.8269 | - | - | - | - | - |
| 0.1111 | 30 | 0.7036 | 1.0978 | 1.0984 | 0.0830 | 0.6636 | - |
| 0.1481 | 40 | 0.7889 | - | - | - | - | - |
| 0.1852 | 50 | 0.7948 | - | - | - | - | - |
| 0.2222 | 60 | 0.688 | 1.0976 | 1.0961 | 0.0679 | 0.7124 | - |
| 0.2593 | 70 | 0.7911 | - | - | - | - | - |
| 0.2963 | 80 | 0.7847 | - | - | - | - | - |
| 0.3333 | 90 | 0.6801 | 1.0950 | 1.0942 | 0.0522 | 0.7810 | - |
| 0.3704 | 100 | 0.7837 | - | - | - | - | - |
| 0.4074 | 110 | 0.7803 | - | - | - | - | - |
| 0.4444 | 120 | 0.6756 | 1.0978 | 1.0929 | 0.0441 | 0.8157 | - |
| 0.4815 | 130 | 0.7829 | - | - | - | - | - |
| 0.5185 | 140 | 0.7789 | - | - | - | - | - |
| 0.5556 | 150 | 0.6756 | 1.0954 | 1.0911 | 0.0433 | 0.8215 | - |
| 0.5926 | 160 | 0.7802 | - | - | - | - | - |
| 0.6296 | 170 | 0.7751 | - | - | - | - | - |
| 0.6667 | 180 | 0.6679 | 1.0934 | 1.0885 | 0.0401 | 0.8235 | - |
| 0.7037 | 190 | 0.7755 | - | - | - | - | - |
| 0.7407 | 200 | 0.775 | - | - | - | - | - |
| 0.7778 | 210 | 0.6694 | 1.0919 | 1.0859 | 0.0377 | 0.8295 | - |
| 0.8148 | 220 | 0.7733 | - | - | - | - | - |
| 0.8519 | 230 | 0.772 | - | - | - | - | - |
| 0.8889 | 240 | 0.6656 | 1.0891 | 1.0838 | 0.0365 | 0.8292 | - |
| 0.9259 | 250 | 0.7726 | - | - | - | - | - |
| 0.9630 | 260 | 0.7731 | - | - | - | - | - |
| 1.0 | 270 | 0.6674 | 1.0888 | 1.0833 | 0.0372 | 0.8295 | 0.7643 |
Carbon emissions were measured using CodeCarbon.
@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",
}
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->