SentenceTransformer based on bkai-foundation-models/vietnamese-bi-encoder

This is a sentence-transformers model finetuned from bkai-foundation-models/vietnamese-bi-encoder. 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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (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("meandyou200175/vn_bi_encoder_16neg")
# Run inference
sentences = [
    'Bác sĩ cho em hỏi, em bị rạn nứt xương gót chân bên phải. Em bị hơn 1 tháng nay rồi. Em bỏ thuốc lá. Em muốn hỏi bác sĩ thông thường bó bột hơn hay thuốc lá hơn? Như của em khoảng bao lâu thì khỏi? Và giờ em vẫn chưa đi được bác sĩ ạ. Em cảm ơn.',
    'Chào em, Thứ nhất, bắt buộc phải có phim Xquang để biết em có thực sự nứt xương gót hay bị gãy phức tạp hơn, vì nhiều trường hợp tưởng chỉ nứt xương thôi nhưng thật ra là vỡ phức tạp, phải phẫu thuật mới nhanh ổn được. Thứ hai, theo nguyên tắc điều trị nứt gãy xương là phải cố định tốt để can xương mọc ra, chỗ nứt gãy mới được nối liền. Do đó, nếu bó bột thì chân sẽ được cố định liên tục trong 4-6 tuần, còn bó lá thì phải thay thường xuyên, mỗi lần thay là 1 lần xê dịch nên xương khó lành. Tốt hơn hết em nên đến Bệnh viện Chấn thương Chỉnh hình để được kiểm tra và điều trị thích hợp, em nhé. Thân mến.',
    'Chào bạn, Qua hình ảnh sang thương và mô tả triệu chứng, bệnh lý của bạn có khả năng là chàm hay còn gọi là viêm da dị ứng với đặc điểm là viêm và nổi mụn nhỏ, ngứa ngáy. Nguyên nhân của chàm hiện nay chưa rõ nhưng có thể do cơ địa dị ứng (người mắc hen, viêm mũi dị ứng có nguy cơ cao mắc chàm), do kích thích của hóa chất như nước rửa chén, bột giặt, cao su, kim loại, chất liệu giày dép (chàm tiếp xúc),... Thời tiết lạnh, stress, đổ mồ hôi nhiều và phấn hoa... cũng là những nguyên nhân có thể khiến da bị chàm. Chàm cũng có thể gặp ở người bị suy van tĩnh mạch, giãn tĩnh mạch chân khiến tình trạng bệnh dai dẳng, kém đáp ứng điều trị. Điều trị chàm thường phải sử dụng một số loại thuốc bôi da kéo dài, có thể để lại tác dụng phụ, do đó bạn nên khám BS Da liễu để kê toa loại thuốc phù hợp. Ngoài ra, bạn nên chú ý xem có yếu tố nào thường kích thích khởi phát chàm để tránh cho bệnh tái phát bạn nhé! Thân mến.',
]
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

Information Retrieval

Metric Value
cosine_accuracy@1 0.7003
cosine_accuracy@3 0.8262
cosine_accuracy@5 0.8676
cosine_accuracy@10 0.9134
cosine_precision@1 0.7003
cosine_precision@3 0.2754
cosine_precision@5 0.1735
cosine_precision@10 0.0913
cosine_recall@1 0.7003
cosine_recall@3 0.8262
cosine_recall@5 0.8676
cosine_recall@10 0.9134
cosine_ndcg@10 0.8068
cosine_mrr@10 0.7726
cosine_map@100 0.7764
dot_accuracy@1 0.6819
dot_accuracy@3 0.8154
dot_accuracy@5 0.8621
dot_accuracy@10 0.9102
dot_precision@1 0.6819
dot_precision@3 0.2718
dot_precision@5 0.1724
dot_precision@10 0.091
dot_recall@1 0.6819
dot_recall@3 0.8154
dot_recall@5 0.8621
dot_recall@10 0.9102
dot_ndcg@10 0.7954
dot_mrr@10 0.7587
dot_map@100 0.7626

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • 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: 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
  • torch_empty_cache_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: 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: 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Click to expand
Epoch Step Training Loss Validation Loss cosine_map@100
0 0 - - 0.5553
0.0091 100 0.6282 - -
0.0183 200 0.4527 - -
0.0274 300 0.4177 - -
0.0365 400 0.4088 - -
0.0457 500 0.3093 - -
0.0548 600 0.3814 - -
0.0639 700 0.3428 - -
0.0731 800 0.3295 - -
0.0822 900 0.3977 - -
0.0913 1000 0.258 0.0514 0.6996
0.1004 1100 0.3543 - -
0.1096 1200 0.3309 - -
0.1187 1300 0.2932 - -
0.1278 1400 0.3873 - -
0.1370 1500 0.2808 - -
0.1461 1600 0.342 - -
0.1552 1700 0.2993 - -
0.1644 1800 0.226 - -
0.1735 1900 0.3545 - -
0.1826 2000 0.2887 0.0462 0.7226
0.1918 2100 0.2612 - -
0.2009 2200 0.2559 - -
0.2100 2300 0.196 - -
0.2192 2400 0.2857 - -
0.2283 2500 0.3215 - -
0.2374 2600 0.2601 - -
0.2466 2700 0.2874 - -
0.2557 2800 0.2423 - -
0.2648 2900 0.3145 - -
0.2739 3000 0.1669 0.0403 0.7133
0.2831 3100 0.2507 - -
0.2922 3200 0.2867 - -
0.3013 3300 0.2458 - -
0.3105 3400 0.2592 - -
0.3196 3500 0.1802 - -
0.3287 3600 0.2213 - -
0.3379 3700 0.2349 - -
0.3470 3800 0.2111 - -
0.3561 3900 0.2135 - -
0.3653 4000 0.2523 0.0344 0.7347
0.3744 4100 0.1877 - -
0.3835 4200 0.1469 - -
0.3927 4300 0.2843 - -
0.4018 4400 0.1577 - -
0.4109 4500 0.2056 - -
0.4201 4600 0.2424 - -
0.4292 4700 0.2554 - -
0.4383 4800 0.1342 - -
0.4474 4900 0.1934 - -
0.4566 5000 0.1909 0.0304 0.7436
0.4657 5100 0.245 - -
0.4748 5200 0.1876 - -
0.4840 5300 0.1235 - -
0.4931 5400 0.1824 - -
0.5022 5500 0.1909 - -
0.5114 5600 0.1481 - -
0.5205 5700 0.1943 - -
0.5296 5800 0.2303 - -
0.5388 5900 0.1724 - -
0.5479 6000 0.2524 0.0294 0.7519
0.5570 6100 0.196 - -
0.5662 6200 0.2202 - -
0.5753 6300 0.1482 - -
0.5844 6400 0.151 - -
0.5936 6500 0.1525 - -
0.6027 6600 0.1637 - -
0.6118 6700 0.1517 - -
0.6209 6800 0.134 - -
0.6301 6900 0.1924 - -
0.6392 7000 0.1174 0.0278 0.7584
0.6483 7100 0.1888 - -
0.6575 7200 0.1309 - -
0.6666 7300 0.2 - -
0.6757 7400 0.1652 - -
0.6849 7500 0.1599 - -
0.6940 7600 0.1289 - -
0.7031 7700 0.1533 - -
0.7123 7800 0.1765 - -
0.7214 7900 0.1403 - -
0.7305 8000 0.1288 0.0246 0.7680
0.7397 8100 0.1868 - -
0.7488 8200 0.1594 - -
0.7579 8300 0.2239 - -
0.7671 8400 0.175 - -
0.7762 8500 0.1437 - -
0.7853 8600 0.2118 - -
0.7944 8700 0.1631 - -
0.8036 8800 0.1228 - -
0.8127 8900 0.1362 - -
0.8218 9000 0.1135 0.0207 0.7757
0.8310 9100 0.196 - -
0.8401 9200 0.1598 - -
0.8492 9300 0.1214 - -
0.8584 9400 0.1826 - -
0.8675 9500 0.1273 - -
0.8766 9600 0.1006 - -
0.8858 9700 0.157 - -
0.8949 9800 0.1374 - -
0.9040 9900 0.1285 - -
0.9132 10000 0.2549 0.0211 0.7764
0.9223 10100 0.1642 - -
0.9314 10200 0.1402 - -
0.9406 10300 0.2119 - -
0.9497 10400 0.151 - -
0.9588 10500 0.0928 - -
0.9679 10600 0.1822 - -
0.9771 10700 0.085 - -
0.9862 10800 0.1557 - -
0.9953 10900 0.1201 - -

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.2.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}
}
Downloads last month
14
Safetensors
Model size
135M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for meandyou200175/vn_bi_encoder_16neg

Finetuned
(25)
this model

Evaluation results