bertimbau-embed-nli / README.md
wilsonmarciliojr's picture
Add new SentenceTransformer model
4577c7b verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:7767
  - loss:MultipleNegativesRankingLoss
base_model: neuralmind/bert-base-portuguese-cased
widget:
  - source_sentence: Quatro crianças estão fazendo ponte no parque
    sentences:
      - Quatro garotas estão fazendo ponte e brincando ao ar livre
      - A sonda New Horizons passou por Plutão  cerca de dois meses.
      - >-
        A defesa de José Sócrates tem agora dez dias para se pronunciar sobre
        este requerimento do MP.
  - source_sentence: >-
      Não há justificações para um Presidente da República não estar nas
      comemorações da implantação da República.
    sentences:
      - Um homem está tocando teclado
      - >-
        Desta forma, o presidente não poderá estar presente na cerimónia
        comemorativa da Implantação da República.
      - O gato empoleirado na mesa está olhando pela janela
  - source_sentence: >-
      A decisão da Relação dá rezão à defesa que alegava que o arresto não podia
      ter sido feito antes do ex-administrador ser constituído arguido.
    sentences:
      - >-
        A defesa alegou que a legislação não permite o arresto de bens a quem
        não é arguido.
      - A Siri estará mais integrada ao sistema.
      - >-
        A seleção portuguesa faz parte do pote 1, juntamente com Espanha,
        Alemanha, Inglaterra e Bélgica.
  - source_sentence: Uma menina não está tocando o violão
    sentences:
      - O homem está intensamente tocando o violão
      - >-
        A Comissão Europeia espera agora que novas recolocações tenham lugar na
        próxima semana.
      - >-
        Dobradinha do Brasil na disputa de argolas da Copa do Mundo de
        ginástica.
  - source_sentence: >-
      O centroavante ainda não foi oficializado, mas deve ser apresentado amanhã
      na Academia de Futebol.
    sentences:
      - Joseph Blatter foi reeleito nesta sexta-feira como presidente da FIFA.
      - >-
        O novo centroavante do Palmeiras já está treinando na Academia de
        Futebol.
      - Um cachorro preto está carregando um brinquedo azul e branco na boca
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - pearson_cosine
  - spearman_cosine
model-index:
  - name: SentenceTransformer based on neuralmind/bert-base-portuguese-cased
    results:
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: sts dev
          type: sts-dev
        metrics:
          - type: pearson_cosine
            value: 0.8088744262416563
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.8033852939241688
            name: Spearman Cosine
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: sts test
          type: sts-test
        metrics:
          - type: pearson_cosine
            value: 0.7707223546562614
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.7498149660705249
            name: Spearman Cosine

SentenceTransformer based on neuralmind/bert-base-portuguese-cased

This is a sentence-transformers model finetuned from neuralmind/bert-base-portuguese-cased. 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: neuralmind/bert-base-portuguese-cased
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • 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': 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("wilsonmarciliojr/bertimbau-embed-nli")
# Run inference
sentences = [
    'O centroavante ainda não foi oficializado, mas deve ser apresentado amanhã na Academia de Futebol.',
    'O novo centroavante do Palmeiras já está treinando na Academia de Futebol.',
    'Um cachorro preto está carregando um brinquedo azul e branco na boca',
]
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 sts-dev sts-test
pearson_cosine 0.8089 0.7707
spearman_cosine 0.8034 0.7498

Training Details

Training Dataset

Unnamed Dataset

  • Size: 7,767 training samples
  • Columns: premise and hypothesis
  • Approximate statistics based on the first 1000 samples:
    premise hypothesis
    type string string
    details
    • min: 9 tokens
    • mean: 21.94 tokens
    • max: 41 tokens
    • min: 9 tokens
    • mean: 18.54 tokens
    • max: 41 tokens
  • Samples:
    premise hypothesis
    David Silva bateu escanteio, Kompany escalou as costas de Chiellini e o zagueiro marcou contra. David Silva cobrou escanteio, o zagueiro se apoiou em Chiellini e cabeceou.
    Tenho orgulho de ter feito parte da construção do PSOL. Ajudei a construir o PSOL, e disso muito me orgulho.
    O caminho de ajuste via aumento de carga tributária é muito mal visto pela sociedade e pelo Congresso. O aumento da carga tributária também não é visto com bons olhos pelo congresso.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 851 evaluation samples
  • Columns: premise and hypothesis
  • Approximate statistics based on the first 851 samples:
    premise hypothesis
    type string string
    details
    • min: 6 tokens
    • mean: 18.68 tokens
    • max: 47 tokens
    • min: 6 tokens
    • mean: 16.42 tokens
    • max: 40 tokens
  • Samples:
    premise hypothesis
    De acordo com o relatório, foram notificados 6.052 casos suspeitos de dengue, sendo 641 descartados. Do total de casos notificados, 10.768 foram confirmados como dengue e 15.202 descartados.
    Seu irmão George é o terceiro na linha sucessória da coroa britânica. Charlotte é a quarta na linha de sucessão da coroa britânica.
    A estreia do Brasil na Copa América está marcada para o dia 14 de junho, contra o Peru. O time estreia na Copa América contra o Peru.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 256
  • per_device_eval_batch_size: 256
  • num_train_epochs: 5
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 256
  • per_device_eval_batch_size: 256
  • 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.0
  • num_train_epochs: 5
  • 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}
  • tp_size: 0
  • 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: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • 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
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss sts-dev_spearman_cosine sts-test_spearman_cosine
-1 -1 - - 0.6424 -
0.3226 10 - 0.2763 0.7449 -
0.6452 20 - 0.1660 0.7937 -
0.9677 30 - 0.1286 0.8022 -
1.2903 40 - 0.1121 0.8011 -
1.6129 50 - 0.0918 0.8043 -
1.9355 60 - 0.0842 0.8090 -
2.2581 70 - 0.0785 0.8081 -
2.5806 80 - 0.0793 0.8048 -
2.9032 90 - 0.0736 0.8021 -
3.2258 100 0.3116 0.0696 0.8001 -
3.5484 110 - 0.0667 0.8013 -
3.8710 120 - 0.0668 0.8029 -
4.1935 130 - 0.0654 0.8037 -
4.5161 140 - 0.0647 0.8034 -
4.8387 150 - 0.0639 0.8034 -
-1 -1 - - - 0.7498

Framework Versions

  • Python: 3.11.12
  • Sentence Transformers: 4.1.0
  • Transformers: 4.51.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.5.2
  • Datasets: 3.5.0
  • Tokenizers: 0.21.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",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}