4bs4lr2 / README.md
cassador's picture
Add new SentenceTransformer model.
13666b1 verified
metadata
base_model: indobenchmark/indobert-base-p2
datasets:
  - afaji/indonli
language:
  - id
library_name: sentence-transformers
metrics:
  - pearson_cosine
  - spearman_cosine
  - pearson_manhattan
  - spearman_manhattan
  - pearson_euclidean
  - spearman_euclidean
  - pearson_dot
  - spearman_dot
  - pearson_max
  - spearman_max
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:6915
  - loss:SoftmaxLoss
widget:
  - source_sentence: >-
      Pesta Olahraga Asia Tenggara atau Southeast Asian Games, biasa disingkat
      SEA Games, adalah ajang olahraga yang diadakan setiap dua tahun dan
      melibatkan 11 negara Asia Tenggara.
    sentences:
      - Sekarang tahun 2017.
      - >-
        Warna kulit tidak mempengaruhi waktu berjemur yang baik untuk
        mengatifkan pro-vitamin D3.
      - Pesta Olahraga Asia Tenggara diadakan setiap tahun.
  - source_sentence: Menjalani aktivitas Ramadhan di tengah wabah Corona tentunya tidak mudah.
    sentences:
      - Tidak ada observasi yang pernah dilansir oleh Business Insider.
      - Wabah Corona membuat aktivitas Ramadhan tidak mudah dijalani.
      - Piala Sudirman pertama digelar pada tahun 1989.
  - source_sentence: >-
      Dalam bidang politik, partai ini memperjuangkan agar kekuasaan sepenuhnya
      berada di tangan rakyat.
    sentences:
      - Galileo tidak berhasil mengetes hasil dari Hukum Inert.
      - Kudeta 14 Februari 1946 gagal merebut kekuasaan Belanda.
      - Partai ini berusaha agar kekuasaan sepenuhnya berada di tangan rakyat.
  - source_sentence: >-
      Keluarga mendiang Prince menuduh layanan musik streaming Tidal memasukkan
      karya milik sang penyanyi legendaris tanpa izin .
    sentences:
      - Rosier adalah pelayan setia Lord Voldemort.
      - Bangunan ini digunakan untuk penjualan.
      - >-
        Keluarga mendiang Prince sudah memberi izin kepada TImbal untuk
        menggunakan lagu milik Prince.
  - source_sentence: >-
      Tujuan dari acara dengar pendapat CRTC adalah untuk mengumpulkan respons
      dari pada pemangku kepentingan industri ini dan dari masyarakat umum.
    sentences:
      - Pembuat Rooms hanya bisa membuat meeting yang terbuka.
      - >-
        Masyarakat umum dilibatkan untuk memberikan respon dalam acara dengar
        pendapat CRTC.
      - Eminem dirasa tidak akan memulai kembali kariernya tahun ini.
model-index:
  - name: SentenceTransformer based on indobenchmark/indobert-base-p2
    results:
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: sts dev
          type: sts-dev
        metrics:
          - type: pearson_cosine
            value: 0.6086483919467034
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.5957239631216208
            name: Spearman Cosine
          - type: pearson_manhattan
            value: 0.5922712402608701
            name: Pearson Manhattan
          - type: spearman_manhattan
            value: 0.587803408019803
            name: Spearman Manhattan
          - type: pearson_euclidean
            value: 0.6025076942104072
            name: Pearson Euclidean
          - type: spearman_euclidean
            value: 0.5921960802996976
            name: Spearman Euclidean
          - type: pearson_dot
            value: 0.6142627736326208
            name: Pearson Dot
          - type: spearman_dot
            value: 0.6070693135603054
            name: Spearman Dot
          - type: pearson_max
            value: 0.6142627736326208
            name: Pearson Max
          - type: spearman_max
            value: 0.6070693135603054
            name: Spearman Max
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: sts test
          type: sts-test
        metrics:
          - type: pearson_cosine
            value: 0.3358355665097759
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.30366523911959453
            name: Spearman Cosine
          - type: pearson_manhattan
            value: 0.2926304091437024
            name: Pearson Manhattan
          - type: spearman_manhattan
            value: 0.2892617235512195
            name: Spearman Manhattan
          - type: pearson_euclidean
            value: 0.307849173953621
            name: Pearson Euclidean
          - type: spearman_euclidean
            value: 0.29286510016277595
            name: Spearman Euclidean
          - type: pearson_dot
            value: 0.3501215321086179
            name: Pearson Dot
          - type: spearman_dot
            value: 0.33369282261837974
            name: Spearman Dot
          - type: pearson_max
            value: 0.3501215321086179
            name: Pearson Max
          - type: spearman_max
            value: 0.33369282261837974
            name: Spearman Max

SentenceTransformer based on indobenchmark/indobert-base-p2

This is a sentence-transformers model finetuned from indobenchmark/indobert-base-p2 on the afaji/indonli 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: indobenchmark/indobert-base-p2
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: id

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("cassador/4bs4lr2")
# Run inference
sentences = [
    'Tujuan dari acara dengar pendapat CRTC adalah untuk mengumpulkan respons dari pada pemangku kepentingan industri ini dan dari masyarakat umum.',
    'Masyarakat umum dilibatkan untuk memberikan respon dalam acara dengar pendapat CRTC.',
    'Pembuat Rooms hanya bisa membuat meeting yang terbuka.',
]
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.6086
spearman_cosine 0.5957
pearson_manhattan 0.5923
spearman_manhattan 0.5878
pearson_euclidean 0.6025
spearman_euclidean 0.5922
pearson_dot 0.6143
spearman_dot 0.6071
pearson_max 0.6143
spearman_max 0.6071

Semantic Similarity

Metric Value
pearson_cosine 0.3358
spearman_cosine 0.3037
pearson_manhattan 0.2926
spearman_manhattan 0.2893
pearson_euclidean 0.3078
spearman_euclidean 0.2929
pearson_dot 0.3501
spearman_dot 0.3337
pearson_max 0.3501
spearman_max 0.3337

Training Details

Training Dataset

afaji/indonli

  • Dataset: afaji/indonli
  • Size: 6,915 training samples
  • Columns: premise, hypothesis, and label
  • Approximate statistics based on the first 1000 samples:
    premise hypothesis label
    type string string int
    details
    • min: 12 tokens
    • mean: 29.26 tokens
    • max: 135 tokens
    • min: 6 tokens
    • mean: 12.13 tokens
    • max: 36 tokens
    • 0: ~51.00%
    • 1: ~49.00%
  • Samples:
    premise hypothesis label
    Presiden Joko Widodo (Jokowi) menyampaikan prediksi bahwa wabah virus Corona (COVID-19) di Indonesia akan selesai akhir tahun ini. Prediksi akhir wabah tidak disampaikan Jokowi. 0
    Meski biasanya hanya digunakan di fasilitas kesehatan, saat ini masker dan sarung tangan sekali pakai banyak dipakai di tingkat rumah tangga. Masker sekali pakai banyak dipakai di tingkat rumah tangga. 1
    Seperti namanya, paket internet sahur Telkomsel ini ditujukan bagi pengguna yang menginginkan kuota ekstra, untuk menemani momen sahur sepanjang bulan puasa. Paket internet sahur tidak ditujukan untuk saat sahur. 0
  • Loss: SoftmaxLoss

Evaluation Dataset

afaji/indonli

  • Dataset: afaji/indonli
  • Size: 1,556 evaluation samples
  • Columns: premise, hypothesis, and label
  • Approximate statistics based on the first 1000 samples:
    premise hypothesis label
    type string string int
    details
    • min: 9 tokens
    • mean: 28.07 tokens
    • max: 179 tokens
    • min: 6 tokens
    • mean: 12.15 tokens
    • max: 25 tokens
    • 0: ~47.90%
    • 1: ~52.10%
  • Samples:
    premise hypothesis label
    Manuskrip tersebut berisi tiga catatan yang menceritakan bagaimana peristiwa jatuhnya meteorit serta laporan kematian akibat kejadian tersebut seperti dilansir dari Science Alert, Sabtu (25/4/2020). Manuskrip tersebut tidak mencatat laporan kematian. 0
    Dilansir dari Business Insider, menurut observasi dari Mauna Loa Observatory di Hawaii pada karbon dioksida (CO2) di level mencapai 410 ppm tidak langsung memberikan efek pada pernapasan, karena tubuh manusia juga masih membutuhkan CO2 dalam kadar tertentu. Tidak ada observasi yang pernah dilansir oleh Business Insider. 0
    Seorang wanita asal New York mengaku sangat benci air putih. Tidak ada orang dari New York yang membenci air putih. 0
  • Loss: SoftmaxLoss

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • learning_rate: 2e-05
  • num_train_epochs: 4
  • warmup_ratio: 0.1
  • fp16: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • learning_rate: 2e-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: 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 loss sts-dev_spearman_cosine sts-test_spearman_cosine
0 0 - - 0.1277 -
0.0578 100 0.706 - - -
0.1157 200 0.6251 - - -
0.1735 300 0.509 - - -
0.2313 400 0.5822 - - -
0.2892 500 0.6089 - - -
0.3470 600 0.5497 - - -
0.4049 700 0.6176 - - -
0.4627 800 0.584 - - -
0.5205 900 0.5317 - - -
0.5784 1000 0.6706 - - -
0.6362 1100 0.5508 - - -
0.6940 1200 0.569 - - -
0.7519 1300 0.6095 - - -
0.8097 1400 0.5107 - - -
0.8676 1500 0.5799 - - -
0.9254 1600 0.5481 - - -
0.9832 1700 0.4749 - - -
1.0 1729 - 0.4679 0.5346 -
1.0411 1800 0.4321 - - -
1.0989 1900 0.4594 - - -
1.1567 2000 0.4428 - - -
1.2146 2100 0.479 - - -
1.2724 2200 0.3944 - - -
1.3302 2300 0.434 - - -
1.3881 2400 0.3981 - - -
1.4459 2500 0.5058 - - -
1.5038 2600 0.4254 - - -
1.5616 2700 0.5089 - - -
1.6194 2800 0.4669 - - -
1.6773 2900 0.5093 - - -
1.7351 3000 0.4673 - - -
1.7929 3100 0.4964 - - -
1.8508 3200 0.366 - - -
1.9086 3300 0.5168 - - -
1.9665 3400 0.4976 - - -
2.0 3458 - 0.4956 0.5756 -
2.0243 3500 0.4112 - - -
2.0821 3600 0.3139 - - -
2.1400 3700 0.2579 - - -
2.1978 3800 0.3207 - - -
2.2556 3900 0.2962 - - -
2.3135 4000 0.3924 - - -
2.3713 4100 0.3059 - - -
2.4291 4200 0.2762 - - -
2.4870 4300 0.3425 - - -
2.5448 4400 0.3165 - - -
2.6027 4500 0.2786 - - -
2.6605 4600 0.3183 - - -
2.7183 4700 0.4492 - - -
2.7762 4800 0.2414 - - -
2.8340 4900 0.3064 - - -
2.8918 5000 0.3164 - - -
2.9497 5100 0.2612 - - -
3.0 5187 - 0.8414 0.6116 -
3.0075 5200 0.318 - - -
3.0654 5300 0.201 - - -
3.1232 5400 0.1045 - - -
3.1810 5500 0.1038 - - -
3.2389 5600 0.1365 - - -
3.2967 5700 0.1279 - - -
3.3545 5800 0.2304 - - -
3.4124 5900 0.1515 - - -
3.4702 6000 0.1682 - - -
3.5281 6100 0.2008 - - -
3.5859 6200 0.1955 - - -
3.6437 6300 0.103 - - -
3.7016 6400 0.1482 - - -
3.7594 6500 0.1093 - - -
3.8172 6600 0.1478 - - -
3.8751 6700 0.1708 - - -
3.9329 6800 0.2399 - - -
3.9907 6900 0.1805 - - -
4.0 6916 - 1.0672 0.5957 0.3037

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.31.0
  • Datasets: 2.20.0
  • Tokenizers: 0.19.1

Citation

BibTeX

Sentence Transformers and SoftmaxLoss

@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",
}