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_biencoder_CachedMultipleNegativesRankingLoss")
# 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.695
cosine_accuracy@2 0.7874
cosine_accuracy@5 0.8784
cosine_accuracy@10 0.924
cosine_accuracy@100 0.9918
cosine_precision@1 0.695
cosine_precision@2 0.3937
cosine_precision@5 0.1757
cosine_precision@10 0.0924
cosine_precision@100 0.0099
cosine_recall@1 0.695
cosine_recall@2 0.7874
cosine_recall@5 0.8784
cosine_recall@10 0.924
cosine_recall@100 0.9918
cosine_ndcg@10 0.8092
cosine_mrr@1 0.695
cosine_mrr@2 0.7412
cosine_mrr@5 0.7664
cosine_mrr@10 0.7725
cosine_mrr@100 0.7758
cosine_map@100 0.7758
dot_accuracy@1 0.6813
dot_accuracy@2 0.7747
dot_accuracy@5 0.8711
dot_accuracy@10 0.9213
dot_accuracy@100 0.992
dot_precision@1 0.6813
dot_precision@2 0.3873
dot_precision@5 0.1742
dot_precision@10 0.0921
dot_precision@100 0.0099
dot_recall@1 0.6813
dot_recall@2 0.7747
dot_recall@5 0.8711
dot_recall@10 0.9213
dot_recall@100 0.992
dot_ndcg@10 0.8003
dot_mrr@1 0.6813
dot_mrr@2 0.728
dot_mrr@5 0.755
dot_mrr@10 0.7617
dot_mrr@100 0.7652
dot_map@100 0.7652

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 5
  • 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: 16
  • per_device_eval_batch_size: 16
  • 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: 5
  • 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.0365 100 0.4426 - -
0.0730 200 0.3028 - -
0.1096 300 0.2468 - -
0.1461 400 0.2433 - -
0.1826 500 0.2074 - -
0.2191 600 0.1852 - -
0.2557 700 0.1829 - -
0.2922 800 0.1825 - -
0.3287 900 0.1663 - -
0.3652 1000 0.1626 0.1312 0.7130
0.4018 1100 0.1363 - -
0.4383 1200 0.1832 - -
0.4748 1300 0.1559 - -
0.5113 1400 0.1286 - -
0.5478 1500 0.1423 - -
0.5844 1600 0.1399 - -
0.6209 1700 0.1344 - -
0.6574 1800 0.1285 - -
0.6939 1900 0.1274 - -
0.7305 2000 0.1239 0.1054 0.7309
0.7670 2100 0.114 - -
0.8035 2200 0.1179 - -
0.8400 2300 0.1152 - -
0.8766 2400 0.1006 - -
0.9131 2500 0.1265 - -
0.9496 2600 0.138 - -
0.9861 2700 0.1117 - -
1.0226 2800 0.0932 - -
1.0592 2900 0.0862 - -
1.0957 3000 0.0962 0.0834 0.7441
1.1322 3100 0.0749 - -
1.1687 3200 0.0815 - -
1.2053 3300 0.0749 - -
1.2418 3400 0.062 - -
1.2783 3500 0.0625 - -
1.3148 3600 0.0657 - -
1.3514 3700 0.0521 - -
1.3879 3800 0.0325 - -
1.4244 3900 0.0633 - -
1.4609 4000 0.035 0.0734 0.7630
1.4974 4100 0.0351 - -
1.5340 4200 0.0326 - -
1.5705 4300 0.0294 - -
1.6070 4400 0.0293 - -
1.6435 4500 0.0208 - -
1.6801 4600 0.0321 - -
1.7166 4700 0.0252 - -
1.7531 4800 0.0234 - -
1.7896 4900 0.0251 - -
1.8262 5000 0.0245 0.0734 0.7611
1.8627 5100 0.0206 - -
1.8992 5200 0.0255 - -
1.9357 5300 0.0396 - -
1.9722 5400 0.0311 - -
2.0088 5500 0.0236 - -
2.0453 5600 0.0215 - -
2.0818 5700 0.0216 - -
2.1183 5800 0.017 - -
2.1549 5900 0.0193 - -
2.1914 6000 0.018 0.0697 0.7700
2.2279 6100 0.0189 - -
2.2644 6200 0.0162 - -
2.3009 6300 0.0168 - -
2.3375 6400 0.0176 - -
2.3740 6500 0.0098 - -
2.4105 6600 0.0131 - -
2.4470 6700 0.0124 - -
2.4836 6800 0.0091 - -
2.5201 6900 0.0067 - -
2.5566 7000 0.0096 0.0683 0.7667
2.5931 7100 0.0065 - -
2.6297 7200 0.0072 - -
2.6662 7300 0.01 - -
2.7027 7400 0.0067 - -
2.7392 7500 0.0058 - -
2.7757 7600 0.0067 - -
2.8123 7700 0.0078 - -
2.8488 7800 0.0071 - -
2.8853 7900 0.0081 - -
2.9218 8000 0.0102 0.0655 0.7740
2.9584 8100 0.0088 - -
2.9949 8200 0.0072 - -
3.0314 8300 0.0072 - -
3.0679 8400 0.0052 - -
3.1045 8500 0.0057 - -
3.1410 8600 0.005 - -
3.1775 8700 0.0042 - -
3.2140 8800 0.0058 - -
3.2505 8900 0.0063 - -
3.2871 9000 0.0049 0.0671 0.7726
3.3236 9100 0.0047 - -
3.3601 9200 0.0054 - -
3.3966 9300 0.0029 - -
3.4332 9400 0.0044 - -
3.4697 9500 0.0037 - -
3.5062 9600 0.0036 - -
3.5427 9700 0.004 - -
3.5793 9800 0.0026 - -
3.6158 9900 0.0021 - -
3.6523 10000 0.0028 0.0626 0.7758
3.6888 10100 0.0027 - -
3.7253 10200 0.0026 - -
3.7619 10300 0.0031 - -
3.7984 10400 0.0023 - -
3.8349 10500 0.0039 - -
3.8714 10600 0.0024 - -
3.9080 10700 0.0027 - -
3.9445 10800 0.003 - -
3.9810 10900 0.0029 - -
4.0175 11000 0.0024 0.0635 0.7734
4.0541 11100 0.002 - -
4.0906 11200 0.0026 - -
4.1271 11300 0.0023 - -
4.1636 11400 0.0021 - -
4.2001 11500 0.0021 - -
4.2367 11600 0.0026 - -
4.2732 11700 0.002 - -
4.3097 11800 0.002 - -
4.3462 11900 0.0019 - -
4.3828 12000 0.0015 0.0612 0.7736
4.4193 12100 0.0017 - -
4.4558 12200 0.002 - -
4.4923 12300 0.0018 - -
4.5289 12400 0.0014 - -
4.5654 12500 0.0016 - -
4.6019 12600 0.0013 - -
4.6384 12700 0.0013 - -
4.6749 12800 0.0016 - -
4.7115 12900 0.0014 - -
4.7480 13000 0.0015 0.0610 0.7758
4.7845 13100 0.0014 - -
4.8210 13200 0.0012 - -
4.8576 13300 0.0016 - -
4.8941 13400 0.0015 - -
4.9306 13500 0.0016 - -
4.9671 13600 0.0015 - -

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

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
Downloads last month
18
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_biencoder_CachedMultipleNegativesRankingLoss

Finetuned
(25)
this model

Evaluation results