3bs4lr2 / README.md
cassador's picture
Add new SentenceTransformer model.
167b19a 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:MultipleNegativesRankingLoss
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: IndoNLI dev
          type: IndoNLI-dev
        metrics:
          - type: pearson_cosine
            value: 0.054645724410651776
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.05813131922360566
            name: Spearman Cosine
          - type: pearson_manhattan
            value: 0.06440629731537877
            name: Pearson Manhattan
          - type: spearman_manhattan
            value: 0.06617214306439209
            name: Spearman Manhattan
          - type: pearson_euclidean
            value: 0.06472911547924179
            name: Pearson Euclidean
          - type: spearman_euclidean
            value: 0.06670189814323607
            name: Spearman Euclidean
          - type: pearson_dot
            value: 0.02146795646141896
            name: Pearson Dot
          - type: spearman_dot
            value: 0.014015602655765296
            name: Spearman Dot
          - type: pearson_max
            value: 0.06472911547924179
            name: Pearson Max
          - type: spearman_max
            value: 0.06670189814323607
            name: Spearman Max
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: IndoNLI test
          type: IndoNLI-test
        metrics:
          - type: pearson_cosine
            value: -0.027420454797600895
            name: Pearson Cosine
          - type: spearman_cosine
            value: -0.03327545125556324
            name: Spearman Cosine
          - type: pearson_manhattan
            value: -0.04660713875385687
            name: Pearson Manhattan
          - type: spearman_manhattan
            value: -0.0317801498705458
            name: Spearman Manhattan
          - type: pearson_euclidean
            value: -0.04697128223611728
            name: Pearson Euclidean
          - type: spearman_euclidean
            value: -0.03186507233227842
            name: Spearman Euclidean
          - type: pearson_dot
            value: -0.014150904875791395
            name: Pearson Dot
          - type: spearman_dot
            value: -0.01615774720436149
            name: Spearman Dot
          - type: pearson_max
            value: -0.014150904875791395
            name: Pearson Max
          - type: spearman_max
            value: -0.01615774720436149
            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/3bs4lr2")
# 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.0546
spearman_cosine 0.0581
pearson_manhattan 0.0644
spearman_manhattan 0.0662
pearson_euclidean 0.0647
spearman_euclidean 0.0667
pearson_dot 0.0215
spearman_dot 0.014
pearson_max 0.0647
spearman_max 0.0667

Semantic Similarity

Metric Value
pearson_cosine -0.0274
spearman_cosine -0.0333
pearson_manhattan -0.0466
spearman_manhattan -0.0318
pearson_euclidean -0.047
spearman_euclidean -0.0319
pearson_dot -0.0142
spearman_dot -0.0162
pearson_max -0.0142
spearman_max -0.0162

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: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

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: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • learning_rate: 2e-05
  • 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: 3
  • 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 IndoNLI-dev_spearman_cosine IndoNLI-test_spearman_cosine
0 0 - - 0.1277 -
0.0578 100 0.0488 - - -
0.1157 200 0.0403 - - -
0.1735 300 0.0173 - - -
0.2313 400 0.0052 - - -
0.2892 500 0.0077 - - -
0.3470 600 0.0065 - - -
0.4049 700 0.0199 - - -
0.4627 800 0.0318 - - -
0.5205 900 0.019 - - -
0.5784 1000 0.0128 - - -
0.6362 1100 0.0124 - - -
0.6940 1200 0.0224 - - -
0.7519 1300 0.0115 - - -
0.8097 1400 0.0082 - - -
0.8676 1500 0.0132 - - -
0.9254 1600 0.0225 - - -
0.9832 1700 0.0133 - - -
1.0 1729 - 0.0173 0.0465 -
1.0411 1800 0.0056 - - -
1.0989 1900 0.0027 - - -
1.1567 2000 0.0109 - - -
1.2146 2100 0.0021 - - -
1.2724 2200 0.0004 - - -
1.3302 2300 0.0082 - - -
1.3881 2400 0.001 - - -
1.4459 2500 0.0009 - - -
1.5038 2600 0.0021 - - -
1.5616 2700 0.0032 - - -
1.6194 2800 0.0061 - - -
1.6773 2900 0.0057 - - -
1.7351 3000 0.0127 - - -
1.7929 3100 0.0018 - - -
1.8508 3200 0.0007 - - -
1.9086 3300 0.0078 - - -
1.9665 3400 0.0017 - - -
2.0 3458 - 0.0078 0.0446 -
2.0243 3500 0.0003 - - -
2.0821 3600 0.0042 - - -
2.1400 3700 0.0005 - - -
2.1978 3800 0.0002 - - -
2.2556 3900 0.0006 - - -
2.3135 4000 0.0003 - - -
2.3713 4100 0.0048 - - -
2.4291 4200 0.0002 - - -
2.4870 4300 0.0043 - - -
2.5448 4400 0.0011 - - -
2.6027 4500 0.0005 - - -
2.6605 4600 0.0009 - - -
2.7183 4700 0.0013 - - -
2.7762 4800 0.0018 - - -
2.8340 4900 0.0004 - - -
2.8918 5000 0.0014 - - -
2.9497 5100 0.0045 - - -
3.0 5187 - 0.0083 0.0581 -0.0333

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.32.1
  • Datasets: 2.20.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",
}

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}
}