fine_tuned_model_15 / README.md
srikarvar's picture
Add new SentenceTransformer model.
d9b9fbb verified
metadata
base_model: intfloat/multilingual-e5-small
library_name: sentence-transformers
metrics:
  - cosine_accuracy
  - cosine_accuracy_threshold
  - cosine_f1
  - cosine_f1_threshold
  - cosine_precision
  - cosine_recall
  - cosine_ap
  - dot_accuracy
  - dot_accuracy_threshold
  - dot_f1
  - dot_f1_threshold
  - dot_precision
  - dot_recall
  - dot_ap
  - manhattan_accuracy
  - manhattan_accuracy_threshold
  - manhattan_f1
  - manhattan_f1_threshold
  - manhattan_precision
  - manhattan_recall
  - manhattan_ap
  - euclidean_accuracy
  - euclidean_accuracy_threshold
  - euclidean_f1
  - euclidean_f1_threshold
  - euclidean_precision
  - euclidean_recall
  - euclidean_ap
  - max_accuracy
  - max_accuracy_threshold
  - max_f1
  - max_f1_threshold
  - max_precision
  - max_recall
  - max_ap
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:2476
  - loss:OnlineContrastiveLoss
widget:
  - source_sentence: Why do you want to be to president?
    sentences:
      - Can you teach me how to cook?
      - Recipe for baking cookies
      - Would you want to be President?
  - source_sentence: What is the speed of sound in air?
    sentences:
      - Velocity of sound waves in the atmosphere
      - What is the most delicious dish you've ever eaten and why?
      - >-
        The `safe` parameter in the `to_spreadsheet` method determines if a
        secure conversion is necessary for certain plant attributes to be stored
        in a SpreadsheetTable or Row.
  - source_sentence: How many countries are in the European Union?
    sentences:
      - Number of countries in the European Union
      - Artist who painted the Sistine Chapel
      - >-
        The RecipeManager class is employed to oversee the downloading and
        unpacking of recipes.
  - source_sentence: What is the currency of the United States?
    sentences:
      - What's the purpose of life? What is life actually about?
      - >-
        Iter_zip() is employed to sequentially access and yield files inside ZIP
        archives.
      - Official currency of the USA
  - source_sentence: Who wrote the book "To Kill a Mockingbird"?
    sentences:
      - At what speed does light travel?
      - How to set up a yoga studio?
      - Who wrote the book "1984"?
model-index:
  - name: SentenceTransformer based on intfloat/multilingual-e5-small
    results:
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: pair class dev
          type: pair-class-dev
        metrics:
          - type: cosine_accuracy
            value: 0.8768115942028986
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.8267427086830139
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.8969696969696969
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.8267427086830139
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 0.8809523809523809
            name: Cosine Precision
          - type: cosine_recall
            value: 0.9135802469135802
            name: Cosine Recall
          - type: cosine_ap
            value: 0.9300650297384708
            name: Cosine Ap
          - type: dot_accuracy
            value: 0.8768115942028986
            name: Dot Accuracy
          - type: dot_accuracy_threshold
            value: 0.8267427682876587
            name: Dot Accuracy Threshold
          - type: dot_f1
            value: 0.8969696969696969
            name: Dot F1
          - type: dot_f1_threshold
            value: 0.8267427682876587
            name: Dot F1 Threshold
          - type: dot_precision
            value: 0.8809523809523809
            name: Dot Precision
          - type: dot_recall
            value: 0.9135802469135802
            name: Dot Recall
          - type: dot_ap
            value: 0.9300650297384708
            name: Dot Ap
          - type: manhattan_accuracy
            value: 0.8731884057971014
            name: Manhattan Accuracy
          - type: manhattan_accuracy_threshold
            value: 8.953017234802246
            name: Manhattan Accuracy Threshold
          - type: manhattan_f1
            value: 0.8929663608562691
            name: Manhattan F1
          - type: manhattan_f1_threshold
            value: 9.028047561645508
            name: Manhattan F1 Threshold
          - type: manhattan_precision
            value: 0.8848484848484849
            name: Manhattan Precision
          - type: manhattan_recall
            value: 0.9012345679012346
            name: Manhattan Recall
          - type: manhattan_ap
            value: 0.9284992066218356
            name: Manhattan Ap
          - type: euclidean_accuracy
            value: 0.8768115942028986
            name: Euclidean Accuracy
          - type: euclidean_accuracy_threshold
            value: 0.5886479616165161
            name: Euclidean Accuracy Threshold
          - type: euclidean_f1
            value: 0.8969696969696969
            name: Euclidean F1
          - type: euclidean_f1_threshold
            value: 0.5886479616165161
            name: Euclidean F1 Threshold
          - type: euclidean_precision
            value: 0.8809523809523809
            name: Euclidean Precision
          - type: euclidean_recall
            value: 0.9135802469135802
            name: Euclidean Recall
          - type: euclidean_ap
            value: 0.9300650297384708
            name: Euclidean Ap
          - type: max_accuracy
            value: 0.8768115942028986
            name: Max Accuracy
          - type: max_accuracy_threshold
            value: 8.953017234802246
            name: Max Accuracy Threshold
          - type: max_f1
            value: 0.8969696969696969
            name: Max F1
          - type: max_f1_threshold
            value: 9.028047561645508
            name: Max F1 Threshold
          - type: max_precision
            value: 0.8848484848484849
            name: Max Precision
          - type: max_recall
            value: 0.9135802469135802
            name: Max Recall
          - type: max_ap
            value: 0.9300650297384708
            name: Max Ap
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: pair class test
          type: pair-class-test
        metrics:
          - type: cosine_accuracy
            value: 0.8768115942028986
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.8267427086830139
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.8969696969696969
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.8267427086830139
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 0.8809523809523809
            name: Cosine Precision
          - type: cosine_recall
            value: 0.9135802469135802
            name: Cosine Recall
          - type: cosine_ap
            value: 0.9300650297384708
            name: Cosine Ap
          - type: dot_accuracy
            value: 0.8768115942028986
            name: Dot Accuracy
          - type: dot_accuracy_threshold
            value: 0.8267427682876587
            name: Dot Accuracy Threshold
          - type: dot_f1
            value: 0.8969696969696969
            name: Dot F1
          - type: dot_f1_threshold
            value: 0.8267427682876587
            name: Dot F1 Threshold
          - type: dot_precision
            value: 0.8809523809523809
            name: Dot Precision
          - type: dot_recall
            value: 0.9135802469135802
            name: Dot Recall
          - type: dot_ap
            value: 0.9300650297384708
            name: Dot Ap
          - type: manhattan_accuracy
            value: 0.8731884057971014
            name: Manhattan Accuracy
          - type: manhattan_accuracy_threshold
            value: 8.953017234802246
            name: Manhattan Accuracy Threshold
          - type: manhattan_f1
            value: 0.8929663608562691
            name: Manhattan F1
          - type: manhattan_f1_threshold
            value: 9.028047561645508
            name: Manhattan F1 Threshold
          - type: manhattan_precision
            value: 0.8848484848484849
            name: Manhattan Precision
          - type: manhattan_recall
            value: 0.9012345679012346
            name: Manhattan Recall
          - type: manhattan_ap
            value: 0.9284992066218356
            name: Manhattan Ap
          - type: euclidean_accuracy
            value: 0.8768115942028986
            name: Euclidean Accuracy
          - type: euclidean_accuracy_threshold
            value: 0.5886479616165161
            name: Euclidean Accuracy Threshold
          - type: euclidean_f1
            value: 0.8969696969696969
            name: Euclidean F1
          - type: euclidean_f1_threshold
            value: 0.5886479616165161
            name: Euclidean F1 Threshold
          - type: euclidean_precision
            value: 0.8809523809523809
            name: Euclidean Precision
          - type: euclidean_recall
            value: 0.9135802469135802
            name: Euclidean Recall
          - type: euclidean_ap
            value: 0.9300650297384708
            name: Euclidean Ap
          - type: max_accuracy
            value: 0.8768115942028986
            name: Max Accuracy
          - type: max_accuracy_threshold
            value: 8.953017234802246
            name: Max Accuracy Threshold
          - type: max_f1
            value: 0.8969696969696969
            name: Max F1
          - type: max_f1_threshold
            value: 9.028047561645508
            name: Max F1 Threshold
          - type: max_precision
            value: 0.8848484848484849
            name: Max Precision
          - type: max_recall
            value: 0.9135802469135802
            name: Max Recall
          - type: max_ap
            value: 0.9300650297384708
            name: Max Ap

SentenceTransformer based on intfloat/multilingual-e5-small

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small. It maps sentences & paragraphs to a 384-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: intfloat/multilingual-e5-small
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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()
)

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("srikarvar/fine_tuned_model_15")
# Run inference
sentences = [
    'Who wrote the book "To Kill a Mockingbird"?',
    'Who wrote the book "1984"?',
    'At what speed does light travel?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# 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.8768
cosine_accuracy_threshold 0.8267
cosine_f1 0.897
cosine_f1_threshold 0.8267
cosine_precision 0.881
cosine_recall 0.9136
cosine_ap 0.9301
dot_accuracy 0.8768
dot_accuracy_threshold 0.8267
dot_f1 0.897
dot_f1_threshold 0.8267
dot_precision 0.881
dot_recall 0.9136
dot_ap 0.9301
manhattan_accuracy 0.8732
manhattan_accuracy_threshold 8.953
manhattan_f1 0.893
manhattan_f1_threshold 9.028
manhattan_precision 0.8848
manhattan_recall 0.9012
manhattan_ap 0.9285
euclidean_accuracy 0.8768
euclidean_accuracy_threshold 0.5886
euclidean_f1 0.897
euclidean_f1_threshold 0.5886
euclidean_precision 0.881
euclidean_recall 0.9136
euclidean_ap 0.9301
max_accuracy 0.8768
max_accuracy_threshold 8.953
max_f1 0.897
max_f1_threshold 9.028
max_precision 0.8848
max_recall 0.9136
max_ap 0.9301

Binary Classification

Metric Value
cosine_accuracy 0.8768
cosine_accuracy_threshold 0.8267
cosine_f1 0.897
cosine_f1_threshold 0.8267
cosine_precision 0.881
cosine_recall 0.9136
cosine_ap 0.9301
dot_accuracy 0.8768
dot_accuracy_threshold 0.8267
dot_f1 0.897
dot_f1_threshold 0.8267
dot_precision 0.881
dot_recall 0.9136
dot_ap 0.9301
manhattan_accuracy 0.8732
manhattan_accuracy_threshold 8.953
manhattan_f1 0.893
manhattan_f1_threshold 9.028
manhattan_precision 0.8848
manhattan_recall 0.9012
manhattan_ap 0.9285
euclidean_accuracy 0.8768
euclidean_accuracy_threshold 0.5886
euclidean_f1 0.897
euclidean_f1_threshold 0.5886
euclidean_precision 0.881
euclidean_recall 0.9136
euclidean_ap 0.9301
max_accuracy 0.8768
max_accuracy_threshold 8.953
max_f1 0.897
max_f1_threshold 9.028
max_precision 0.8848
max_recall 0.9136
max_ap 0.9301

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,476 training samples
  • Columns: label, sentence1, and sentence2
  • Approximate statistics based on the first 1000 samples:
    label sentence1 sentence2
    type int string string
    details
    • 0: ~40.20%
    • 1: ~59.80%
    • min: 6 tokens
    • mean: 16.35 tokens
    • max: 98 tokens
    • min: 4 tokens
    • mean: 16.06 tokens
    • max: 98 tokens
  • Samples:
    label sentence1 sentence2
    1 The ImageNet dataset is used for training models to classify images into various categories. A model is trained using the ImageNet dataset to classify images into distinct categories.
    1 No, it doesn't exist in version 5.3.1. Version 5.3.1 does not contain it.
    0 Can you help me with my homework? Can you do my homework for me?
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

Unnamed Dataset

  • Size: 276 evaluation samples
  • Columns: label, sentence1, and sentence2
  • Approximate statistics based on the first 276 samples:
    label sentence1 sentence2
    type int string string
    details
    • 0: ~41.30%
    • 1: ~58.70%
    • min: 6 tokens
    • mean: 15.56 tokens
    • max: 87 tokens
    • min: 5 tokens
    • mean: 15.34 tokens
    • max: 86 tokens
  • Samples:
    label sentence1 sentence2
    0 What are the challenges of AI in cybersecurity? How is AI used to enhance cybersecurity?
    1 You can find the SYSTEM log documentation on the main version. Click on the provided link to redirect to the main version of the documentation. The SYSTEM log documentation can be accessed by clicking on the link which will take you to the main version.
    1 What is the capital of Italy? Name the capital city of Italy
  • Loss: OnlineContrastiveLoss

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • gradient_accumulation_steps: 2
  • num_train_epochs: 4
  • warmup_ratio: 0.1
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

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: 2
  • 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: 4
  • 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: False
  • 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_fused
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss pair-class-dev_max_ap pair-class-test_max_ap
0 0 - - 0.7876 -
0.2564 10 1.5794 - - -
0.5128 20 0.8392 - - -
0.7692 30 0.7812 - - -
1.0 39 - 0.8081 0.9138 -
1.0256 40 0.6505 - - -
1.2821 50 0.57 - - -
1.5385 60 0.3015 - - -
1.7949 70 0.3091 - - -
2.0 78 - 0.7483 0.9267 -
2.0513 80 0.3988 - - -
2.3077 90 0.1801 - - -
2.5641 100 0.1166 - - -
2.8205 110 0.1255 - - -
3.0 117 - 0.7106 0.9284 -
3.0769 120 0.2034 - - -
3.3333 130 0.0329 - - -
3.5897 140 0.0805 - - -
3.8462 150 0.0816 - - -
4.0 156 - 0.6969 0.9301 0.9301
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.0
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.34.2
  • Datasets: 2.19.1
  • 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",
}