SentenceTransformer based on indobenchmark/indobert-base-p1

This is a sentence-transformers model finetuned from indobenchmark/indobert-base-p1. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for retrieval.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: indobenchmark/indobert-base-p1
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Supported Modality: Text

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
  (1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', '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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Lagipula, kepada siapakah aku memperhambakan diri? Bukankah kepada anaknya? Sebagaimana aku memperhambakan diri kepada ayahmu, demikianlah aku memperhambakan diri kepadamu."',
    'Lagi pula, kepada siapakah aku akan mengabdi? Bukankah kepada anaknya? Seperti aku mengabdi kepada ayahmu, demikianlah aku akan berlaku kepadamu.”',
    'Pasanglah telingamu dan datanglah kepada-Ku dengarlah supaya jiwamu akan hidup. Aku akan mengadakan perjanjian yang kekal denganmu, menurut kebaikan-Ku yang teguh kepada Daud.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.8390, 0.0139],
#         [0.8390, 1.0000, 0.0512],
#         [0.0139, 0.0512, 1.0000]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 62,204 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 100 samples:
    sentence_0 sentence_1
    type string string
    modality text text
    details
    • min: 11 tokens
    • mean: 32.89 tokens
    • max: 90 tokens
    • min: 7 tokens
    • mean: 32.76 tokens
    • max: 101 tokens
  • Samples:
    sentence_0 sentence_1
    Dan dengan berani Yesaya mengatakan: "Aku telah berkenan ditemukan mereka yang tidak mencari Aku, Aku telah menampakkan diri kepada mereka yang tidak menanyakan Aku." Kemudian Yesaya dengan berani berkata atas nama Allah, “Orang yang tidak mencari Aku akan menemukan Aku. Aku menyatakan diri-Ku kepada orang yang tidak menanyakan Aku.”
    Pada pergantian tahun, pada waktu raja-raja biasanya maju berperang, maka Daud menyuruh Yoab maju beserta orang-orangnya dan seluruh orang Israel. Mereka memusnahkan bani Amon dan mengepung kota Raba, sedang Daud sendiri tinggal di Yerusalem. Pada pergantian tahun, saat raja-raja keluar, Daud mengirim Yoab beserta anak buahnya dan semua orang Israel untuk memusnahkan orang Amon dan mengepung kota Raba, sedangkan Daud tinggal di Yerusalem.
    Sesuatu apapun yang beragi tidak boleh kamu makan; kamu makanlah roti yang tidak beragi di segala tempat kediamanmu." Kamu tidak boleh makan apa pun yang beragi. Di seluruh tempat tinggalmu, kamu harus makan roti tidak beragi.’”
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false,
        "directions": [
            "query_to_doc"
        ],
        "partition_mode": "joint",
        "hardness_mode": null,
        "hardness_strength": 0.0
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • num_train_epochs: 5
  • per_device_eval_batch_size: 16
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • per_device_train_batch_size: 16
  • num_train_epochs: 5
  • max_steps: -1
  • learning_rate: 5e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 1
  • label_smoothing_factor: 0.0
  • bf16: False
  • fp16: False
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: None
  • trackio_bucket_id: None
  • trackio_static_space_id: None
  • per_device_eval_batch_size: 16
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: False
  • hub_private_repo: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_static_graph: None
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: None
  • fsdp_config: None
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss
0.1286 500 0.0770
0.2572 1000 0.0190
0.3858 1500 0.0195
0.5144 2000 0.0209
0.6430 2500 0.0219
0.7716 3000 0.0207
0.9002 3500 0.0229
1.0288 4000 0.0174
1.1574 4500 0.0120
1.2860 5000 0.0097
1.4146 5500 0.0125
1.5432 6000 0.0115
1.6718 6500 0.0108
1.8004 7000 0.0107
1.9290 7500 0.0070
2.0576 8000 0.0046
2.1862 8500 0.0032
2.3148 9000 0.0049
2.4434 9500 0.0058
2.5720 10000 0.0040
2.7006 10500 0.0038
2.8292 11000 0.0032
2.9578 11500 0.0023
3.0864 12000 0.0029
3.2150 12500 0.0019
3.3436 13000 0.0023
3.4722 13500 0.0021
3.6008 14000 0.0017
3.7294 14500 0.0014
3.8580 15000 0.0013
3.9866 15500 0.0017
4.1152 16000 0.0016
4.2438 16500 0.0006
4.3724 17000 0.0011
4.5010 17500 0.0012
4.6296 18000 0.0010
4.7582 18500 0.0006
4.8868 19000 0.0021

Training Time

  • Training: 2.1 hours

Framework Versions

  • Python: 3.12.13
  • Sentence Transformers: 5.6.0
  • Transformers: 5.12.1
  • PyTorch: 2.11.0+cu128
  • Accelerate: 1.14.0
  • Datasets: 4.0.0
  • Tokenizers: 0.22.2

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{oord2019representationlearningcontrastivepredictive,
      title={Representation Learning with Contrastive Predictive Coding},
      author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
      year={2019},
      eprint={1807.03748},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/1807.03748},
}
Downloads last month
15
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for YesayaAlvinK/indobert-alkitab-search

Finetuned
(144)
this model

Papers for YesayaAlvinK/indobert-alkitab-search