SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. 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: sentence-transformers/all-MiniLM-L6-v2
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, '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("overfitting-co/A2P-constrastive-all")
# Run inference
sentences = [
    'Khaosan Road',
    'Reserved',
    'Adventurous',
]
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.9574
cosine_accuracy_threshold 0.8163
cosine_f1 0.958
cosine_f1_threshold 0.8131
cosine_precision 0.9682
cosine_recall 0.9481
cosine_ap 0.9909
dot_accuracy 0.9574
dot_accuracy_threshold 0.8163
dot_f1 0.958
dot_f1_threshold 0.8131
dot_precision 0.9682
dot_recall 0.9481
dot_ap 0.9909
manhattan_accuracy 0.9609
manhattan_accuracy_threshold 9.5648
manhattan_f1 0.9619
manhattan_f1_threshold 9.5648
manhattan_precision 0.9619
manhattan_recall 0.9619
manhattan_ap 0.9909
euclidean_accuracy 0.9574
euclidean_accuracy_threshold 0.6061
euclidean_f1 0.958
euclidean_f1_threshold 0.6114
euclidean_precision 0.9682
euclidean_recall 0.9481
euclidean_ap 0.9909
max_accuracy 0.9609
max_accuracy_threshold 9.5648
max_f1 0.9619
max_f1_threshold 9.5648
max_precision 0.9682
max_recall 0.9619
max_ap 0.9909

Binary Classification

Metric Value
cosine_accuracy 0.9592
cosine_accuracy_threshold 0.7969
cosine_f1 0.9591
cosine_f1_threshold 0.7969
cosine_precision 0.9574
cosine_recall 0.9609
cosine_ap 0.9878
dot_accuracy 0.9592
dot_accuracy_threshold 0.7969
dot_f1 0.9591
dot_f1_threshold 0.7969
dot_precision 0.9574
dot_recall 0.9609
dot_ap 0.9878
manhattan_accuracy 0.9557
manhattan_accuracy_threshold 9.8085
manhattan_f1 0.9558
manhattan_f1_threshold 9.917
manhattan_precision 0.9507
manhattan_recall 0.9609
manhattan_ap 0.9866
euclidean_accuracy 0.9592
euclidean_accuracy_threshold 0.6373
euclidean_f1 0.9591
euclidean_f1_threshold 0.6373
euclidean_precision 0.9574
euclidean_recall 0.9609
euclidean_ap 0.9878
max_accuracy 0.9592
max_accuracy_threshold 9.8085
max_f1 0.9591
max_f1_threshold 9.917
max_precision 0.9574
max_recall 0.9609
max_ap 0.9878

Training Details

Training Dataset

Unnamed Dataset

  • Size: 4,505 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 label
    type string string int
    details
    • min: 3 tokens
    • mean: 6.49 tokens
    • max: 24 tokens
    • min: 3 tokens
    • mean: 3.79 tokens
    • max: 8 tokens
    • 0: ~52.30%
    • 1: ~47.70%
  • Samples:
    sentence_0 sentence_1 label
    N Seoul Tower Laid-back 0
    Magere Brug Romantic 1
    Polynesian Cultural Center Adventurous 1
  • Loss: OnlineContrastiveLoss

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • num_train_epochs: 5
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • 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: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_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
  • num_train_epochs: 5
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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: False
  • 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
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss max_ap test_max_ap
1.0 141 - 0.6780 -
2.0 282 - 0.7538 -
3.0 423 - 0.8064 -
3.5461 500 6.7404 - -
4.0 564 - 0.9751 -
5.0 705 - 0.9909 0.9878

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.2.1
  • Transformers: 4.44.2
  • PyTorch: 2.5.0+cu121
  • Accelerate: 0.34.2
  • Datasets: 3.1.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",
}
Downloads last month
16
Safetensors
Model size
22.7M 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 overfitting-co/A2P-constrastive-all

Quantized
(21)
this model

Evaluation results