Edit model card

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/indobert-base-p2-nli-v1")
# Run inference
sentences = [
    'Bahan dasar Dalgona Coffee hanya tiga jenis yaitu bubuk kopi, gula, dan air. Banyak resep beredar dengan komposisi dua sendok bubuk kopi, dua sendok gula, dan dua sendok air panas.',
    'Resep komposisi Dalgona Coffee adalah 2 sendok bubuk kopi.',
    'Jutting berada di Pengadilan Tinggi Hongkong 5 tahun kemudian.',
]
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.4766
spearman_cosine -0.4665
pearson_manhattan -0.4628
spearman_manhattan -0.461
pearson_euclidean -0.4732
spearman_euclidean -0.4673
pearson_dot -0.4679
spearman_dot -0.4577
pearson_max -0.4628
spearman_max -0.4577

Semantic Similarity

Metric Value
pearson_cosine -0.2036
spearman_cosine -0.201
pearson_manhattan -0.1686
spearman_manhattan -0.1842
pearson_euclidean -0.1795
spearman_euclidean -0.1908
pearson_dot -0.2159
spearman_dot -0.2142
pearson_max -0.1686
spearman_max -0.1842

Training Details

Training Dataset

afaji/indonli

  • Dataset: afaji/indonli
  • Size: 10,000 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.73 tokens
    • max: 179 tokens
    • min: 6 tokens
    • mean: 11.93 tokens
    • max: 35 tokens
    • 0: ~31.40%
    • 1: ~34.60%
    • 2: ~34.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. 2
    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. 0
    Data dari Nielsen Music mencatat, "Joanne" telah terjual 201 ribu kopi di akhir minggu ini, seperti dilansir aceshowbiz.com. Nielsen Music mencatat pada akhir minggu ini. 1
  • Loss: SoftmaxLoss

Evaluation Dataset

afaji/indonli

  • Dataset: afaji/indonli
  • Size: 1,000 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.09 tokens
    • max: 179 tokens
    • min: 6 tokens
    • mean: 12.01 tokens
    • max: 24 tokens
    • 0: ~37.00%
    • 1: ~29.20%
    • 2: ~33.80%
  • 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. 2
    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. 2
    Perekonomian Jakarta terutama ditunjang oleh sektor perdagangan, jasa, properti, industri kreatif, dan keuangan. Sektor jasa memberi pengaruh lebih besar daripada industri kreatif dalam perekonomian Jakarta. 1
  • Loss: SoftmaxLoss

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • 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: 8
  • per_device_eval_batch_size: 8
  • 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.0893 -
0.08 100 1.0851 - - -
0.16 200 1.0163 - - -
0.24 300 0.9524 - - -
0.32 400 0.9257 - - -
0.4 500 0.9397 - - -
0.48 600 0.9125 - - -
0.56 700 0.913 - - -
0.64 800 0.8792 - - -
0.72 900 0.932 - - -
0.8 1000 0.9112 - - -
0.88 1100 0.8809 - - -
0.96 1200 0.8567 - - -
1.0 1250 - 0.8585 -0.4868 -
1.04 1300 0.8482 - - -
1.12 1400 0.7235 - - -
1.2 1500 0.714 - - -
1.28 1600 0.7053 - - -
1.3600 1700 0.7205 - - -
1.44 1800 0.7203 - - -
1.52 1900 0.6957 - - -
1.6 2000 0.7271 - - -
1.6800 2100 0.7302 - - -
1.76 2200 0.7054 - - -
1.8400 2300 0.7134 - - -
1.92 2400 0.6919 - - -
2.0 2500 0.7416 0.8465 -0.4085 -
2.08 2600 0.4955 - - -
2.16 2700 0.4484 - - -
2.24 2800 0.4413 - - -
2.32 2900 0.4567 - - -
2.4 3000 0.4889 - - -
2.48 3100 0.4284 - - -
2.56 3200 0.5041 - - -
2.64 3300 0.4755 - - -
2.7200 3400 0.4726 - - -
2.8 3500 0.4656 - - -
2.88 3600 0.4389 - - -
2.96 3700 0.4789 - - -
3.0 3750 - 1.0011 -0.4586 -
3.04 3800 0.3492 - - -
3.12 3900 0.2477 - - -
3.2 4000 0.2556 - - -
3.2800 4100 0.2531 - - -
3.36 4200 0.2767 - - -
3.44 4300 0.2665 - - -
3.52 4400 0.2493 - - -
3.6 4500 0.2757 - - -
3.68 4600 0.2662 - - -
3.76 4700 0.2666 - - -
3.84 4800 0.2748 - - -
3.92 4900 0.246 - - -
4.0 5000 0.2411 1.2455 -0.4665 -0.2010

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",
}
Downloads last month
17
Safetensors
Model size
124M params
Tensor type
F32
·
Inference API
This model can be loaded on Inference API (serverless).

Finetuned from

Dataset used to train cassador/indobert-base-p2-nli-v1

Evaluation results