FlukeTJ's picture
Add new SentenceTransformer model
308a490 verified
metadata
base_model: kornwtp/ConGen-BGE_M3-model-phayathaibert
library_name: sentence-transformers
metrics:
  - cosine_accuracy
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:68
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: ต้องการข้อมูลสินเชื่อที่ปรับโครงสร้าง
    sentences:
      - ดูสินเชื่อปรับโครงสร้างหนี้
      - ข้อมูลใบแจ้งหนี้ปัจจุบัน
      - แนะนำวิธีชำระหนี้อย่างปลอดภัย
  - source_sentence: สินเชื่อดอกเบี้ยต่ำสำหรับครอบครัว
    sentences:
      - แจ้งแก้ไขใบแจ้งหนี้ที่ผิดพลาด
      - ข้อมูลสินเชื่อที่เหมาะสำหรับครอบครัว
      - ข้อมูลใบแจ้งหนี้ทั้งหมด
  - source_sentence: รายละเอียดการผ่อนชำระสินเชื่อ
    sentences:
      - ดูตารางการผ่อนชำระสินเชื่อ
      - ข้อมูลสินเชื่อที่ไม่มีดอกเบี้ย
      - วิธีออกใบแจ้งหนี้
  - source_sentence: จ่ายหนี้ผ่านระบบออนไลน์
    sentences:
      - วิธีการชำระหนี้แบบออนไลน์
      - ค้นหาข้อมูลสินเชื่อใหม่ที่จะเปิดตัว
      - การสมัครสินเชื่อส่วนบุคคล
  - source_sentence: ขอออกใบแจ้งหนี้ใหม่
    sentences:
      - ข้อมูลสินเชื่อบ้าน
      - ดูใบแจ้งหนี้ที่ยังค้างอยู่
      - ขั้นตอนการออกใบแจ้งหนี้ใหม่
model-index:
  - name: SentenceTransformer based on kornwtp/ConGen-BGE_M3-model-phayathaibert
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: thai sep test
          type: thai-sep-test
        metrics:
          - type: cosine_accuracy
            value: 1
            name: Cosine Accuracy

SentenceTransformer based on kornwtp/ConGen-BGE_M3-model-phayathaibert

This is a sentence-transformers model finetuned from kornwtp/ConGen-BGE_M3-model-phayathaibert. It maps sentences & paragraphs to a 1024-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': 128, 'do_lower_case': False}) with Transformer model: CamembertModel 
  (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})
  (2): Dense({'in_features': 768, 'out_features': 1024, '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("FlukeTJ/model-sep-congen-debt")
# Run inference
sentences = [
    'ขอออกใบแจ้งหนี้ใหม่',
    'ขั้นตอนการออกใบแจ้งหนี้ใหม่',
    'ข้อมูลสินเชื่อบ้าน',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

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

Evaluation

Metrics

Triplet

Metric Value
cosine_accuracy 1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 68 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 68 samples:
    anchor positive negative
    type string string string
    details
    • min: 5 tokens
    • mean: 6.82 tokens
    • max: 10 tokens
    • min: 6 tokens
    • mean: 7.84 tokens
    • max: 11 tokens
    • min: 5 tokens
    • mean: 6.93 tokens
    • max: 9 tokens
  • Samples:
    anchor positive negative
    สมัครสินเชื่อ ฉันต้องการสมัครสินเชื่อใหม่ ฉันต้องการขอใบแจ้งหนี้
    ขอใบแจ้งหนี้ ฉันต้องการใบแจ้งหนี้เดือนล่าสุด ฉันต้องการสมัครสินเชื่อ
    วิธีสมัครสินเชื่อ ขั้นตอนสมัครสินเชื่ออย่างละเอียด วิธีจ่ายหนี้
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 43 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 43 samples:
    anchor positive negative
    type string string string
    details
    • min: 5 tokens
    • mean: 7.35 tokens
    • max: 9 tokens
    • min: 6 tokens
    • mean: 8.02 tokens
    • max: 10 tokens
    • min: 5 tokens
    • mean: 7.07 tokens
    • max: 9 tokens
  • Samples:
    anchor positive negative
    ตรวจสอบหนี้ของฉัน ดูข้อมูลยอดหนี้ทั้งหมด สมัครสินเชื่อบ้าน
    สินเชื่อส่วนบุคคลแบบไม่มีหลักทรัพย์ ข้อมูลสินเชื่อที่ไม่ต้องใช้หลักทรัพย์ ใบแจ้งหนี้ดิจิทัล
    ขอใบแจ้งหนี้ล่าสุด ตรวจสอบใบแจ้งหนี้ล่าสุด ขั้นตอนสมัครสินเชื่อออนไลน์
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 30
  • per_device_eval_batch_size: 30
  • num_train_epochs: 10
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 30
  • per_device_eval_batch_size: 30
  • 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: 10
  • 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
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step thai-sep-test_cosine_accuracy
6.0 20 1.0

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.3.1
  • Transformers: 4.45.1
  • PyTorch: 2.4.0
  • Accelerate: 0.34.2
  • Datasets: 3.0.1
  • Tokenizers: 0.20.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",
}

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