Edit model card

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_8")
# Run inference
sentences = [
    'Practical guides are available to assist you in achieving specific goals and addressing real-world challenges with the framework.',
    'Yes, there are practical guides to help you achieve specific objectives and solve real-world problems with the framework.',
    'How to bake cookies?',
]
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.9183
cosine_accuracy_threshold 0.8421
cosine_f1 0.9208
cosine_f1_threshold 0.8421
cosine_precision 0.9037
cosine_recall 0.9385
cosine_ap 0.9453
dot_accuracy 0.9183
dot_accuracy_threshold 0.8421
dot_f1 0.9208
dot_f1_threshold 0.8421
dot_precision 0.9037
dot_recall 0.9385
dot_ap 0.9453
manhattan_accuracy 0.9183
manhattan_accuracy_threshold 8.5071
manhattan_f1 0.9195
manhattan_f1_threshold 8.6426
manhattan_precision 0.916
manhattan_recall 0.9231
manhattan_ap 0.9454
euclidean_accuracy 0.9183
euclidean_accuracy_threshold 0.5619
euclidean_f1 0.9208
euclidean_f1_threshold 0.5619
euclidean_precision 0.9037
euclidean_recall 0.9385
euclidean_ap 0.9453
max_accuracy 0.9183
max_accuracy_threshold 8.5071
max_f1 0.9208
max_f1_threshold 8.6426
max_precision 0.916
max_recall 0.9385
max_ap 0.9454

Binary Classification

Metric Value
cosine_accuracy 0.9183
cosine_accuracy_threshold 0.8421
cosine_f1 0.9208
cosine_f1_threshold 0.8421
cosine_precision 0.9037
cosine_recall 0.9385
cosine_ap 0.9453
dot_accuracy 0.9183
dot_accuracy_threshold 0.8421
dot_f1 0.9208
dot_f1_threshold 0.8421
dot_precision 0.9037
dot_recall 0.9385
dot_ap 0.9453
manhattan_accuracy 0.9183
manhattan_accuracy_threshold 8.5071
manhattan_f1 0.9195
manhattan_f1_threshold 8.6426
manhattan_precision 0.916
manhattan_recall 0.9231
manhattan_ap 0.9454
euclidean_accuracy 0.9183
euclidean_accuracy_threshold 0.5619
euclidean_f1 0.9208
euclidean_f1_threshold 0.5619
euclidean_precision 0.9037
euclidean_recall 0.9385
euclidean_ap 0.9453
max_accuracy 0.9183
max_accuracy_threshold 8.5071
max_f1 0.9208
max_f1_threshold 8.6426
max_precision 0.916
max_recall 0.9385
max_ap 0.9454

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,305 training samples
  • Columns: sentence2, sentence1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence2 sentence1 label
    type string string int
    details
    • min: 5 tokens
    • mean: 13.74 tokens
    • max: 54 tokens
    • min: 6 tokens
    • mean: 14.13 tokens
    • max: 66 tokens
    • 0: ~43.00%
    • 1: ~57.00%
  • Samples:
    sentence2 sentence1 label
    What are the components of a computer? How does a computer work? 0
    You have the option to create your own personal blog with the help of Blogging Platforms. Yes, you can start your own personal blog using Blogging Platforms. 1
    It provides the layout of the data and its components. It returns the structure of the data and its fields. 1
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

Unnamed Dataset

  • Size: 257 evaluation samples
  • Columns: sentence2, sentence1, and label
  • Approximate statistics based on the first 257 samples:
    sentence2 sentence1 label
    type string string int
    details
    • min: 4 tokens
    • mean: 14.92 tokens
    • max: 50 tokens
    • min: 6 tokens
    • mean: 14.84 tokens
    • max: 51 tokens
    • 0: ~49.42%
    • 1: ~50.58%
  • Samples:
    sentence2 sentence1 label
    What is the speed of sound in air? What is the speed of light in a vacuum? 0
    Steps to fix a leaking faucet How to repair a leaking faucet? 1
    Total bones in an adult human How many bones are in the human body? 1
  • 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.7947 -
0.2740 10 1.6052 - - -
0.5479 20 0.8914 - - -
0.8219 30 0.8434 - - -
0.9863 36 - 0.6144 0.9366 -
1.0959 40 0.7351 - - -
1.3699 50 0.5016 - - -
1.6438 60 0.3754 - - -
1.9178 70 0.3364 - - -
2.0 73 - 0.5985 0.9396 -
2.1918 80 0.3456 - - -
2.4658 90 0.1953 - - -
2.7397 100 0.1186 - - -
2.9863 109 - 0.5853 0.9455 -
3.0137 110 0.1622 - - -
3.2877 120 0.1863 - - -
3.5616 130 0.0906 - - -
3.8356 140 0.1035 - - -
3.9452 144 - 0.5461 0.9454 0.9454
  • 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",
}
Downloads last month
7
Safetensors
Model size
118M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for srikarvar/fine_tuned_model_8

Finetuned
(56)
this model

Evaluation results