Edit model card

MPNet base trained on semantic text similarity

This is a sentence-transformers model finetuned from microsoft/mpnet-base on the projecte-aina/sts-ca dataset. It maps sentences & paragraphs to a 768-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: microsoft/mpnet-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Languages: en, ca
  • License: apache-2.0

Model Sources

Full Model Architecture

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

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("pauhidalgoo/finetuned-sts-ca-mpnet-base")
# Run inference
sentences = [
    'Però que hi ha de cert en tot això?',
    'Però, què hi ha de veritat en tot això?',
    'Els camioners dissolen la marxa lenta a les rondes de Barcelona',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Semantic Similarity

Metric Value
pearson_cosine 0.937
spearman_cosine 0.9918
pearson_manhattan 0.9582
spearman_manhattan 0.9876
pearson_euclidean 0.9594
spearman_euclidean 0.9888
pearson_dot 0.9469
spearman_dot 0.9834
pearson_max 0.9594
spearman_max 0.9918

Semantic Similarity

Metric Value
pearson_cosine 0.5856
spearman_cosine 0.5855
pearson_manhattan 0.5881
spearman_manhattan 0.5787
pearson_euclidean 0.5851
spearman_euclidean 0.5755
pearson_dot 0.5613
spearman_dot 0.5631
pearson_max 0.5881
spearman_max 0.5855

Semantic Similarity

Metric Value
pearson_cosine 0.6501
spearman_cosine 0.682
pearson_manhattan 0.6518
spearman_manhattan 0.6701
pearson_euclidean 0.6554
spearman_euclidean 0.6753
pearson_dot 0.635
spearman_dot 0.6458
pearson_max 0.6554
spearman_max 0.682

Training Details

Training Dataset

projecte-aina/sts-ca

  • Dataset: projecte-aina/sts-ca
  • Size: 2,073 training samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string float
    details
    • min: 10 tokens
    • mean: 32.36 tokens
    • max: 82 tokens
    • min: 11 tokens
    • mean: 30.57 tokens
    • max: 68 tokens
    • min: 0.0
    • mean: 2.56
    • max: 5.0
  • Samples:
    sentence1 sentence2 label
    Atorga per primer cop les mencions Encarna Sanahuja a la inclusió de la perspectiva de gènere en docència Universitària Creen la menció M. Encarna Sanahuja a la inclusió de la perspectiva de gènere en docència universitària 3.5
    Finalment, afegiu-hi els bolets que haureu saltat en una paella amb oli i deixeu-ho coure tot junt durant 5 minuts. Finalment, poseu-hi les minipastanagues tallades a dauets, els pèsols, rectifiqueu-ho de sal i deixeu-ho coure tot junt durant un parell de minuts més. 1.25
    El TC suspèn el pla d'acció exterior i de relacions amb la UE de la Generalitat El Constitucional manté la suspensió del pla estratègic d'acció exterior i relacions amb la UE 3.6700000762939453
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Evaluation Dataset

projecte-aina/sts-ca

  • Dataset: projecte-aina/sts-ca
  • Size: 500 evaluation samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string float
    details
    • min: 10 tokens
    • mean: 32.94 tokens
    • max: 68 tokens
    • min: 12 tokens
    • mean: 31.42 tokens
    • max: 69 tokens
    • min: 0.0
    • mean: 2.58
    • max: 5.0
  • Samples:
    sentence1 sentence2 label
    L'euríbor puja una centèsima fins el -0,189% al gener després de setze mesos de caigudes La morositat de bancs i caixes repunta moderadament fins el 9,44%, després d'onze mesos de caigudes 1.6699999570846558
    Demanen 3 anys de presó a l'ex treballador d'una farmàcia de Lleida per robar més de 550 unitats de Viagra i Cialis L'extreballador d'una farmàcia de Lleida accepta sis mesos de presó per robar més de 500 unitats de Viagra i Cialis 2.0
    Es tracta d'un jove de 20 anys que ha estat denunciat als Mossos d'Esquadra Es tracta d'un jove de 21 anys que ha estat denunciat penalment pels Mossos 3.0
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 40
  • warmup_ratio: 0.1
  • fp16: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • 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: 40
  • 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: True
  • 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
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss spearman_cosine
3.8462 500 4.5209 -
7.6923 1000 4.1445 -
11.5385 1500 3.9291 -
15.3846 2000 3.6952 -
19.2308 2500 3.5393 -
23.0769 3000 3.3778 -
26.9231 3500 3.1712 -
30.7692 4000 2.8265 -
34.6154 4500 2.6265 -
38.4615 5000 2.3259 -
40.0 5200 - 0.6820

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.0
  • Transformers: 4.41.1
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.30.1
  • Datasets: 2.19.2
  • 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",
}

CoSENTLoss

@online{kexuefm-8847,
    title={CoSENT: A more efficient sentence vector scheme than Sentence-BERT},
    author={Su Jianlin},
    year={2022},
    month={Jan},
    url={https://kexue.fm/archives/8847},
}
Downloads last month
1
Safetensors
Model size
109M params
Tensor type
F32
·
Inference API
This model can be loaded on Inference API (serverless).

Finetuned from

Evaluation results