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_17")
# Run inference
sentences = [
    'Who wrote the book "1984"?',
    'Who wrote the book "To Kill a Mockingbird"?',
    'What is the speed of light?',
]
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.9457
cosine_accuracy_threshold 0.8054
cosine_f1 0.9555
cosine_f1_threshold 0.8054
cosine_precision 0.92
cosine_recall 0.9938
cosine_ap 0.9701
dot_accuracy 0.9457
dot_accuracy_threshold 0.8054
dot_f1 0.9555
dot_f1_threshold 0.8054
dot_precision 0.92
dot_recall 0.9938
dot_ap 0.9701
manhattan_accuracy 0.9457
manhattan_accuracy_threshold 9.7874
manhattan_f1 0.9555
manhattan_f1_threshold 9.7874
manhattan_precision 0.92
manhattan_recall 0.9938
manhattan_ap 0.9698
euclidean_accuracy 0.9457
euclidean_accuracy_threshold 0.6239
euclidean_f1 0.9555
euclidean_f1_threshold 0.6239
euclidean_precision 0.92
euclidean_recall 0.9938
euclidean_ap 0.9701
max_accuracy 0.9457
max_accuracy_threshold 9.7874
max_f1 0.9555
max_f1_threshold 9.7874
max_precision 0.92
max_recall 0.9938
max_ap 0.9701

Binary Classification

Metric Value
cosine_accuracy 0.9457
cosine_accuracy_threshold 0.8054
cosine_f1 0.9555
cosine_f1_threshold 0.8054
cosine_precision 0.92
cosine_recall 0.9938
cosine_ap 0.9701
dot_accuracy 0.9457
dot_accuracy_threshold 0.8054
dot_f1 0.9555
dot_f1_threshold 0.8054
dot_precision 0.92
dot_recall 0.9938
dot_ap 0.9701
manhattan_accuracy 0.9457
manhattan_accuracy_threshold 9.7874
manhattan_f1 0.9555
manhattan_f1_threshold 9.7874
manhattan_precision 0.92
manhattan_recall 0.9938
manhattan_ap 0.9698
euclidean_accuracy 0.9457
euclidean_accuracy_threshold 0.6239
euclidean_f1 0.9555
euclidean_f1_threshold 0.6239
euclidean_precision 0.92
euclidean_recall 0.9938
euclidean_ap 0.9701
max_accuracy 0.9457
max_accuracy_threshold 9.7874
max_f1 0.9555
max_f1_threshold 9.7874
max_precision 0.92
max_recall 0.9938
max_ap 0.9701

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,752 training samples
  • Columns: sentence2, label, and sentence1
  • Approximate statistics based on the first 1000 samples:
    sentence2 label sentence1
    type string int string
    details
    • min: 4 tokens
    • mean: 10.14 tokens
    • max: 22 tokens
    • 0: ~49.00%
    • 1: ~51.00%
    • min: 6 tokens
    • mean: 10.77 tokens
    • max: 22 tokens
  • Samples:
    sentence2 label sentence1
    What are the ingredients of pizza? 1 What are the ingredients of a pizza?
    What are the ingredients of a burger? 0 What are the ingredients of a pizza?
    How is photosynthesis carried out? 1 How does photosynthesis work?
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

Unnamed Dataset

  • Size: 276 evaluation samples
  • Columns: sentence2, label, and sentence1
  • Approximate statistics based on the first 276 samples:
    sentence2 label sentence1
    type string int string
    details
    • min: 5 tokens
    • mean: 15.34 tokens
    • max: 86 tokens
    • 0: ~41.30%
    • 1: ~58.70%
    • min: 6 tokens
    • mean: 15.56 tokens
    • max: 87 tokens
  • Samples:
    sentence2 label sentence1
    How is AI used to enhance cybersecurity? 0 What are the challenges of AI in cybersecurity?
    The SYSTEM log documentation can be accessed by clicking on the link which will take you to the main version. 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.
    Name the capital city of Italy 1 What is the capital 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.2326 10 1.5405 - - -
0.4651 20 1.0389 - - -
0.6977 30 1.2755 - - -
0.9302 40 0.7024 - - -
1.0 43 - 0.9673 0.9133 -
1.1512 50 0.7527 - - -
1.3837 60 0.6684 - - -
1.6163 70 0.7612 - - -
1.8488 80 0.7265 - - -
2.0116 87 - 0.4647 0.9534 -
2.0698 90 0.2986 - - -
2.3023 100 0.1964 - - -
2.5349 110 0.5834 - - -
2.7674 120 0.4893 - - -
3.0 130 0.1254 0.3544 0.9670 -
3.2209 140 0.278 - - -
3.4535 150 0.1805 - - -
3.6860 160 0.4525 - - -
3.9186 170 0.1885 - - -
3.9651 172 - 0.3396 0.9701 0.9701
  • 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
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_17

Finetuned
(56)
this model

Evaluation results