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_1")
# Run inference
sentences = [
    'How is the weather today?',
    'What is the weather like today?',
    'Who was the first female Prime Minister of the UK?',
]
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.9389
cosine_accuracy_threshold 0.7887
cosine_f1 0.9412
cosine_f1_threshold 0.7887
cosine_precision 0.9573
cosine_recall 0.9256
cosine_ap 0.974
dot_accuracy 0.9389
dot_accuracy_threshold 0.7887
dot_f1 0.9412
dot_f1_threshold 0.7887
dot_precision 0.9573
dot_recall 0.9256
dot_ap 0.974
manhattan_accuracy 0.9389
manhattan_accuracy_threshold 10.1324
manhattan_f1 0.9412
manhattan_f1_threshold 10.1324
manhattan_precision 0.9573
manhattan_recall 0.9256
manhattan_ap 0.9729
euclidean_accuracy 0.9389
euclidean_accuracy_threshold 0.6501
euclidean_f1 0.9412
euclidean_f1_threshold 0.6501
euclidean_precision 0.9573
euclidean_recall 0.9256
euclidean_ap 0.974
max_accuracy 0.9389
max_accuracy_threshold 10.1324
max_f1 0.9412
max_f1_threshold 10.1324
max_precision 0.9573
max_recall 0.9256
max_ap 0.974

Binary Classification

Metric Value
cosine_accuracy 0.9389
cosine_accuracy_threshold 0.8208
cosine_f1 0.9421
cosine_f1_threshold 0.8208
cosine_precision 0.9421
cosine_recall 0.9421
cosine_ap 0.9732
dot_accuracy 0.9389
dot_accuracy_threshold 0.8208
dot_f1 0.9421
dot_f1_threshold 0.8208
dot_precision 0.9421
dot_recall 0.9421
dot_ap 0.9732
manhattan_accuracy 0.9345
manhattan_accuracy_threshold 9.3871
manhattan_f1 0.9383
manhattan_f1_threshold 9.5161
manhattan_precision 0.9344
manhattan_recall 0.9421
manhattan_ap 0.9721
euclidean_accuracy 0.9389
euclidean_accuracy_threshold 0.5987
euclidean_f1 0.9421
euclidean_f1_threshold 0.5987
euclidean_precision 0.9421
euclidean_recall 0.9421
euclidean_ap 0.9732
max_accuracy 0.9389
max_accuracy_threshold 9.3871
max_f1 0.9421
max_f1_threshold 9.5161
max_precision 0.9421
max_recall 0.9421
max_ap 0.9732

Training Details

Training Dataset

Unnamed Dataset

  • Size: 916 training samples
  • Columns: label, sentence2, and sentence1
  • Approximate statistics based on the first 1000 samples:
    label sentence2 sentence1
    type int string string
    details
    • 0: ~49.56%
    • 1: ~50.44%
    • min: 4 tokens
    • mean: 10.32 tokens
    • max: 22 tokens
    • min: 6 tokens
    • mean: 10.92 tokens
    • max: 22 tokens
  • Samples:
    label sentence2 sentence1
    1 What are the potential side effects of this medication? What are the side effects of this drug?
    0 How to fix a torn pocket? How to fix a broken zipper?
    0 How to make a chocolate chip cookie dough? How to bake a chocolate chip cookie?
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

Unnamed Dataset

  • Size: 229 evaluation samples
  • Columns: label, sentence2, and sentence1
  • Approximate statistics based on the first 1000 samples:
    label sentence2 sentence1
    type int string string
    details
    • 0: ~47.16%
    • 1: ~52.84%
    • min: 4 tokens
    • mean: 9.95 tokens
    • max: 16 tokens
    • min: 6 tokens
    • mean: 10.81 tokens
    • max: 20 tokens
  • Samples:
    label sentence2 sentence1
    0 What methods are used to measure a nation's GDP? How is the GDP of a country measured?
    0 What is the currency of Japan? What is the currency of China?
    1 Steps to cultivate tomatoes at home How to grow tomatoes in a garden?
  • 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
  • weight_decay: 0.01
  • num_train_epochs: 8
  • 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.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 8
  • 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.7130 -
0.6897 10 3.0972 - - -
1.0345 15 - 0.8033 0.9272 -
1.3448 20 1.0451 - - -
2.0345 30 0.5786 0.4910 0.9680 -
2.6897 40 0.2996 - - -
3.0345 45 - 0.4487 0.9731 -
3.3448 50 0.0901 - - -
4.0345 60 0.067 0.4115 0.9732 -
4.6897 70 0.0729 - - -
5.0345 75 - 0.4543 0.9727 -
5.3448 80 0.0453 - - -
6.0345 90 0.0637 0.4249 0.9736 -
6.6897 100 0.0388 - - -
7.0345 105 - 0.4223 0.9740 -
7.3448 110 0.0382 - - -
7.4828 112 - 0.4226 0.9740 0.9732
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.32.1
  • 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
6
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_1

Finetuned
(56)
this model

Evaluation results