mrunali496's picture
Add new SentenceTransformer model
56a3e7c verified
metadata
language:
  - en
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:314315
  - loss:MultipleNegativesRankingLoss
base_model: microsoft/mpnet-base
widget:
  - source_sentence: A person dressed in red and black outside a cracked wall.
    sentences:
      - A person in red and black near a wall.
      - Two women are in a car with a man.
      - a baby cries while getting their diaper changed
  - source_sentence: >-
      A man with shoulder length dark hair sits near the rocks of a waterfront
      while holding a cigarette in his right hand.
    sentences:
      - A man holding a cigarette.
      - a pair of fencers practice together
      - Four skaters race each other.
  - source_sentence: A man is reading a newspaper in a car dealership.
    sentences:
      - A man is at a car dealership.
      - Guys wearing white shirts play around by the park.
      - People are outside.
  - source_sentence: A woman in black, seen from behind, sits next to a body of water.
    sentences:
      - A woman sits outside.
      - There are families playing in a fountain
      - A player is hoping to score a run.
  - source_sentence: >-
      AN older woman appears to read from a children's book in an indoor
      setting, while a seated gentleman in a service uniform looks on.
    sentences:
      - a man is sitting in a lawn chair
      - A woman reads from a book while a man watches.
      - Others look while two men carve a babecued hog
datasets:
  - sentence-transformers/all-nli
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - cosine_accuracy
  - cosine_accuracy_threshold
  - cosine_f1
  - cosine_f1_threshold
  - cosine_precision
  - cosine_recall
  - cosine_ap
  - cosine_mcc
model-index:
  - name: SentenceTransformer based on microsoft/mpnet-base
    results:
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: Unknown
          type: unknown
        metrics:
          - type: cosine_accuracy
            value: 0.9998531139835488
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: -0.043851763010025024
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.9999265515975029
            name: Cosine F1
          - type: cosine_f1_threshold
            value: -0.043851763010025024
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 1
            name: Cosine Precision
          - type: cosine_recall
            value: 0.9998531139835488
            name: Cosine Recall
          - type: cosine_ap
            value: 1
            name: Cosine Ap
          - type: cosine_mcc
            value: 0
            name: Cosine Mcc
          - type: cosine_accuracy
            value: 0.9998536085492608
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.09460622072219849
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.9999267989166241
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.09460622072219849
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 1
            name: Cosine Precision
          - type: cosine_recall
            value: 0.9998536085492608
            name: Cosine Recall
          - type: cosine_ap
            value: 1
            name: Cosine Ap
          - type: cosine_mcc
            value: 0
            name: Cosine Mcc

SentenceTransformer based on microsoft/mpnet-base

This is a sentence-transformers model finetuned from microsoft/mpnet-base on the all-nli dataset. 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.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: microsoft/mpnet-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: en

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, '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})
)

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 SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("mrunali496/mpnet-base-all-nli-pair")
# Run inference
sentences = [
    "AN older woman appears to read from a children's book in an indoor setting, while a seated gentleman in a service uniform looks on.",
    'A woman reads from a book while a man watches.',
    'Others look while two men carve a babecued hog',
]
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]

Evaluation

Metrics

Binary Classification

Metric Value
cosine_accuracy 0.9999
cosine_accuracy_threshold -0.0439
cosine_f1 0.9999
cosine_f1_threshold -0.0439
cosine_precision 1.0
cosine_recall 0.9999
cosine_ap 1.0
cosine_mcc 0.0

Binary Classification

Metric Value
cosine_accuracy 0.9999
cosine_accuracy_threshold 0.0946
cosine_f1 0.9999
cosine_f1_threshold 0.0946
cosine_precision 1.0
cosine_recall 0.9999
cosine_ap 1.0
cosine_mcc 0.0

Training Details

Training Dataset

all-nli

  • Dataset: all-nli at d482672
  • Size: 314,315 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 5 tokens
    • mean: 17.03 tokens
    • max: 64 tokens
    • min: 4 tokens
    • mean: 9.62 tokens
    • max: 31 tokens
  • Samples:
    anchor positive
    A person on a horse jumps over a broken down airplane. A person is outdoors, on a horse.
    Children smiling and waving at camera There are children present
    A boy is jumping on skateboard in the middle of a red bridge. The boy does a skateboarding trick.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

all-nli

  • Dataset: all-nli at d482672
  • Size: 6,808 evaluation samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 6 tokens
    • mean: 18.01 tokens
    • max: 63 tokens
    • min: 4 tokens
    • mean: 9.8 tokens
    • max: 29 tokens
  • Samples:
    anchor positive
    Two women are embracing while holding to go packages. Two woman are holding packages.
    Two young children in blue jerseys, one with the number 9 and one with the number 2 are standing on wooden steps in a bathroom and washing their hands in a sink. Two kids in numbered jerseys wash their hands.
    A man selling donuts to a customer during a world exhibition event held in the city of Angeles A man selling donuts to a customer.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • learning_rate: 5e-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: False
  • 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}
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss cosine_ap
-1 -1 - - 1.0
0.008 100 2.0126 1.2036 1.0
0.016 200 1.0366 0.3276 1.0
0.024 300 0.4426 0.1492 1.0
0.032 400 0.2518 0.1048 1.0
0.04 500 0.2026 0.0962 1.0
0.048 600 0.1818 0.0821 1.0
0.056 700 0.1797 0.0816 1.0
0.064 800 0.1845 0.0659 1.0
0.072 900 0.1474 0.0675 1.0
0.08 1000 0.1648 0.0750 1.0
-1 -1 - - 1.0
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 3.4.1
  • Transformers: 4.41.1
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.30.1
  • Datasets: 3.2.0
  • Tokenizers: 0.19.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",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}