yahyaabd's picture
Add new SentenceTransformer model
2c42435 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:25580
  - loss:OnlineContrastiveLoss
base_model: denaya/indoSBERT-large
widget:
  - source_sentence: ikhtisar arus kas triwulan 1, 2004 (miliar)
    sentences:
      - Balita (0-59 Bulan) Menurut Status Gizi, Tahun 1998-2005
      - >-
        Perbandingan Indeks dan Tingkat Inflasi Desember 2023 Kota-kota di Luar
        Pulau Jawa dan Sumatera dengan Nasional (2018=100)
      - >-
        Rata-rata Konsumsi dan Pengeluaran Perkapita Seminggu Menurut Komoditi
        Makanan dan Golongan Pengeluaran per Kapita Seminggu di Provinsi
        Sulawesi Tengah, 2018-2023
  - source_sentence: >-
      BaIgaimana gambaran neraca arus dana dUi Indonesia pada kuartal kedua
      tahun 2015?
    sentences:
      - >-
        Jumlah Sekolah, Guru, dan Murid Sekolah Menengah Pertama (SMP) di Bawah
        Kementrian Pendidikan dan Kebudayaan Menurut Provinsi
        2011/2012-2015/2016
      - Ringkasan Neraca Arus Dana Triwulan III Tahun 2003 (Miliar Rupiah)
      - >-
        Rata-rata Konsumsi dan Pengeluaran Perkapita Seminggu Menurut Komoditi
        Makanan dan Golongan Pengeluaran per Kapita Seminggu di Provinsi
        Sulawesi Tenggara, 2018-2023
  - source_sentence: >-
      Berapa persen pengeluaran orang di kotaa untuk makanan vs non-makanan, per
      provinsi, 2018?
    sentences:
      - >-
        Ekspor Tanaman Obat, Aromatik, dan Rempah-Rempah menurut Negara Tujuan
        Utama, 2012-2023
      - >-
        Rata-rata Pendapatan Bersih Pekerja Bebas Menurut Provinsi dan
        Pendidikan Tertinggi yang Ditamatkan (ribu rupiah), 2017
      - >-
        IHK dan Rata-rata Upah per Bulan Buruh Industri di Bawah Mandor
        (Supervisor), 1996-2014 (1996=100)
  - source_sentence: Negara-negara asal impor crude oil dan produk turunannya tahun 2002-2023
    sentences:
      - >-
        Persentase Pengeluaran Rata-rata per Kapita Sebulan Menurut Kelompok
        Barang, Indonesia, 1999, 2002-2023
      - >-
        Rata-rata Pendapatan Bersih Berusaha Sendiri menurut Provinsi dan
        Pendidikan yang Ditamatkan (ribu rupiah), 2016
      - >-
        Perkembangan Beberapa Agregat Pendapatan dan Pendapatan per Kapita Atas
        Dasar Harga Berlaku, 2010-2016
  - source_sentence: Arus dana Q3 2006
    sentences:
      - >-
        Posisi Simpanan Berjangka Rupiah pada Bank Umum dan BPR Menurut Golongan
        Pemilik (miliar rupiah), 2005-2018
      - Ringkasan Neraca Arus Dana, Triwulan III, 2006, (Miliar Rupiah)
      - >-
        Rata-Rata Pengeluaran per Kapita Sebulan di Daerah Perkotaan Menurut
        Kelompok Barang dan Golongan Pengeluaran per Kapita Sebulan, 2000-2012
datasets:
  - yahyaabd/query-hard-pos-neg-doc-pairs-statictable
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - cosine_accuracy
  - cosine_accuracy_threshold
  - cosine_f1
  - cosine_f1_threshold
  - cosine_precision
  - cosine_recall
  - cosine_ap
  - cosine_mcc
model-index:
  - name: SentenceTransformer based on denaya/indoSBERT-large
    results:
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: allstats semantic large v1 test
          type: allstats-semantic-large-v1_test
        metrics:
          - type: cosine_accuracy
            value: 0.9878048780487805
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.7687987089157104
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.9813318473112288
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.7652501463890076
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 0.9788771539744302
            name: Cosine Precision
          - type: cosine_recall
            value: 0.9837988826815642
            name: Cosine Recall
          - type: cosine_ap
            value: 0.9973707172812245
            name: Cosine Ap
          - type: cosine_mcc
            value: 0.9722833961709166
            name: Cosine Mcc
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: allstats semantic large v1 dev
          type: allstats-semantic-large-v1_dev
        metrics:
          - type: cosine_accuracy
            value: 0.9819310093082679
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.776313841342926
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.9723540910360235
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.776313841342926
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 0.9640088593576965
            name: Cosine Precision
          - type: cosine_recall
            value: 0.9808450704225352
            name: Cosine Recall
          - type: cosine_ap
            value: 0.9918988791388367
            name: Cosine Ap
          - type: cosine_mcc
            value: 0.959014781948805
            name: Cosine Mcc

SentenceTransformer based on denaya/indoSBERT-large

This is a sentence-transformers model finetuned from denaya/indoSBERT-large on the query-hard-pos-neg-doc-pairs-statictable dataset. It maps sentences & paragraphs to a 256-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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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})
  (2): Dense({'in_features': 1024, 'out_features': 256, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
)

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("yahyaabd/allstats-search-large-v1-64-1")
# Run inference
sentences = [
    'Arus dana Q3 2006',
    'Ringkasan Neraca Arus Dana, Triwulan III, 2006, (Miliar Rupiah)',
    'Rata-Rata Pengeluaran per Kapita Sebulan di Daerah Perkotaan Menurut Kelompok Barang dan Golongan Pengeluaran per Kapita Sebulan, 2000-2012',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 256]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Binary Classification

Metric allstats-semantic-large-v1_test allstats-semantic-large-v1_dev
cosine_accuracy 0.9878 0.9819
cosine_accuracy_threshold 0.7688 0.7763
cosine_f1 0.9813 0.9724
cosine_f1_threshold 0.7653 0.7763
cosine_precision 0.9789 0.964
cosine_recall 0.9838 0.9808
cosine_ap 0.9974 0.9919
cosine_mcc 0.9723 0.959

Training Details

Training Dataset

query-hard-pos-neg-doc-pairs-statictable

  • Dataset: query-hard-pos-neg-doc-pairs-statictable at 7b28b96
  • Size: 25,580 training samples
  • Columns: query, doc, and label
  • Approximate statistics based on the first 1000 samples:
    query doc label
    type string string int
    details
    • min: 6 tokens
    • mean: 17.12 tokens
    • max: 31 tokens
    • min: 5 tokens
    • mean: 20.47 tokens
    • max: 42 tokens
    • 0: ~70.80%
    • 1: ~29.20%
  • Samples:
    query doc label
    Status pekerjaan utama penduduk usia 15+ yang bekerja, 2020 Jumlah Penghuni Lapas per Kanwil 0
    status pekerjaan utama penduduk usia 15+ yang bekerja, 2020 Jumlah Penghuni Lapas per Kanwil 0
    STATUS PEKERJAAN UTAMA PENDUDUK USIA 15+ YANG BEKERJA, 2020 Jumlah Penghuni Lapas per Kanwil 0
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

query-hard-pos-neg-doc-pairs-statictable

  • Dataset: query-hard-pos-neg-doc-pairs-statictable at 7b28b96
  • Size: 5,479 evaluation samples
  • Columns: query, doc, and label
  • Approximate statistics based on the first 1000 samples:
    query doc label
    type string string int
    details
    • min: 7 tokens
    • mean: 17.85 tokens
    • max: 35 tokens
    • min: 3 tokens
    • mean: 21.2 tokens
    • max: 31 tokens
    • 0: ~71.50%
    • 1: ~28.50%
  • Samples:
    query doc label
    Bagaimana perbandingan PNS pria dan wanita di berbagai golongan tahun 2014? Rata-rata Pendapatan Bersih Berusaha Sendiri Menurut Provinsi dan Lapangan Pekerjaan Utama (ribu rupiah), 2017 0
    bagaimana perbandingan pns pria dan wanita di berbagai golongan tahun 2014? Rata-rata Pendapatan Bersih Berusaha Sendiri Menurut Provinsi dan Lapangan Pekerjaan Utama (ribu rupiah), 2017 0
    BAGAIMANA PERBANDINGAN PNS PRIA DAN WANITA DI BERBAGAI GOLONGAN TAHUN 2014? Rata-rata Pendapatan Bersih Berusaha Sendiri Menurut Provinsi dan Lapangan Pekerjaan Utama (ribu rupiah), 2017 0
  • Loss: OnlineContrastiveLoss

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • dataloader_num_workers: 4
  • load_best_model_at_end: True
  • eval_on_start: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • 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: 1
  • 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: 4
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: True
  • 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: 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
  • 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
  • eval_on_start: True
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss allstats-semantic-large-v1_test_cosine_ap allstats-semantic-large-v1_dev_cosine_ap
-1 -1 - - 0.9750 -
0 0 - 0.5420 - 0.9766
0.05 20 0.4283 0.3152 - 0.9864
0.1 40 0.2681 0.3588 - 0.9828
0.15 60 0.1538 0.2478 - 0.9866
0.2 80 0.1336 0.1804 - 0.9918
0.25 100 0.0763 0.2175 - 0.9906
0.3 120 0.1878 0.2453 - 0.9862
0.35 140 0.0609 0.2112 - 0.9892
0.4 160 0.0933 0.1774 - 0.9896
0.45 180 0.0471 0.1552 - 0.9933
0.5 200 0.0516 0.1933 - 0.9942
0.55 220 0.0421 0.1992 - 0.9910
0.6 240 0.0233 0.1728 - 0.9933
0.65 260 0.0445 0.1640 - 0.9930
0.7 280 0.0157 0.1709 - 0.9894
0.75 300 0.022 0.1653 - 0.9889
0.8 320 0.0192 0.1655 - 0.9893
0.85 340 0.0417 0.1509 - 0.9913
0.9 360 0.0 0.1622 - 0.9916
0.95 380 0.0242 0.1543 - 0.9919
1.0 400 0.0 0.1530 - 0.9919
-1 -1 - - 0.9974 -
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.4.0
  • Transformers: 4.48.1
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.2.0
  • Tokenizers: 0.21.0

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