Gte mulitilingual base trained on Vietnamese Health Question Answering pairs

This is a sentence-transformers model finetuned from Alibaba-NLP/gte-multilingual-base on the vi_health_qa dataset. 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 Type: Sentence Transformer
  • Base model: Alibaba-NLP/gte-multilingual-base
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: vi

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: NewModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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): Normalize()
)

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("BookingCare/gte-multilingual-base-v2.1")
# Run inference
sentences = [
    'query: Những công dụng cụ thể của pectin trong thực phẩm và làm đẹp là gì?\n',
    'Chất **xơ** **tan trong nước** (pectin) là một phụ gia thực phẩm được sử dụng như chất nhũ hóa, chất ổn định và chất làm đặc. Bên cạnh đó, nó còn có những công dụng sau đây:\n\n* Pectin được sử dụng làm chất tạo gel.\n* Sử dụng làm chất làm đặc và ổn định.\n* Pectin được sử dụng trong mứt để có vẻ ngoài giống như thạch.\n* Dùng để chống lại [**táo bón**](https://www.vinmec.com/vie/benh/tao-bon-3001) và [**tiêu chảy**](https://www.vinmec.com/vie/benh/tieu-chay-3002) bằng cách tăng độ nhớt và khối lượng của phân. Đặc biệt, **chất xơ** này còn có thể giúp giảm buồn nôn.\n* Nó còn được sử dụng trong các sản phẩm mỹ phẩm như một chất ổn định.',
    'Núm phụ răng (Dens evaginatus) là thuật ngữ được dùng để chỉ những bất thường của răng có hình dạng giống như núm, múi dư trên bề mặt răng. Tình trạng này thường xuất hiện ở mặt trong của răng hàm trên (Còn gọi là múi Talon) hoặc mặt nhai của răng cối nhỏ hàm dưới.\n\nNguyên nhân của tình trạng răng có núm phụ này đến nay vẫn chưa được xác định. Một số giả thuyết đặt ra là do di truyền hoặc do chấn thương cục bộ tác động lên mầm răng.\n\nTrong giai đoạn phôi thai, sự bất thường về tăng sinh và gấp lại 1 phần biểu mô men ở bên trong và các tế bào ngoại bào phía dưới của nhú răng và diễn ra trong suốt giai đoạn chuông của quá trình hình thành răng.',
]
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.917
cosine_accuracy@3 0.964
cosine_accuracy@5 0.972
cosine_accuracy@10 0.984
cosine_precision@1 0.917
cosine_precision@3 0.3213
cosine_precision@5 0.1944
cosine_precision@10 0.0984
cosine_recall@1 0.917
cosine_recall@3 0.964
cosine_recall@5 0.972
cosine_recall@10 0.984
cosine_ndcg@10 0.9525
cosine_mrr@10 0.9423
cosine_map@100 0.9427

Information Retrieval

Metric Value
cosine_accuracy@1 0.896
cosine_accuracy@3 0.961
cosine_accuracy@5 0.974
cosine_accuracy@10 0.985
cosine_precision@1 0.896
cosine_precision@3 0.3203
cosine_precision@5 0.1948
cosine_precision@10 0.0985
cosine_recall@1 0.896
cosine_recall@3 0.961
cosine_recall@5 0.974
cosine_recall@10 0.985
cosine_ndcg@10 0.9442
cosine_mrr@10 0.9307
cosine_map@100 0.9313

Training Details

Training Dataset

vi_health_qa

  • Dataset: vi_health_qa at e2b7864
  • Size: 114,654 training samples
  • Columns: query and document
  • Approximate statistics based on the first 1000 samples:
    query document
    type string string
    details
    • min: 8 tokens
    • mean: 16.99 tokens
    • max: 59 tokens
    • min: 25 tokens
    • mean: 374.24 tokens
    • max: 998 tokens
  • Samples:
    query document
    query: Điều chỉnh lại liều lượng sử dụng collagen Theo nhiều nghiên cứu khoa học, với 1000 – 2000mg collagen là liều lượng phù hợp nhất để cơ thể hấp thu, giúp phát huy tác dụng từ collagen. Đặc biệt, để tốt cho xương khớp, tóc, móng và da ở độ tuổi 30, bạn cần dùng ít nhất 3000mg collagen mỗi ngày, tuy nhiên cũng không nên dùng vượt qua 5000mg/ ngày.
    query: Sử dụng một số loại thuốc trị mụn tại chỗ Một số loại thuốc trị mụn tại chỗ dạng gel như Differin, Retin-A, Nexon... có thể vừa giúp làm giảm lượng bã nhờn trên da vừa hỗ trợ điều trị tình trạng mụn trứng cá.
    query: Hội chứng suy nút xoang là gì? Hội chứng suy nút xoang là một dạng rối loạn nhịp tim đặc biệt, gây ảnh hưởng đến nút xoang, là bộ phận tạo nhịp tim tự nhiên của cơ thể. Nó có thể gây chậm nhịp tim hoặc tạo ra những khoảng thời gian ngưng tim kéo dài giữa những lần tim đập. Nguy hiểm hơn là khiến cho nhịp tim không đều, dẫn tới suy tim.

    Hội chứng này có thể phát sinh từ nhiều nguyên nhân khác nhau, bao gồm tự nhiên hoặc do các yếu tố bên ngoài như căng thẳng, thay đổi hormone, hoặc các vấn đề về hệ thống dẫn truyền tín hiệu điện trong tim. Tuy khá hiếm gặp, nhưng càng lớn tuổi càng có nguy cơ mắc phải hội chứng này. Nhiều trường hợp đã phải gắn thêm máy tạo nhịp để tim đập ổn định hơn. Hội chứng này còn được gọi là rối loạn chức năng nút xoang, hoặc bệnh nút xoang.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256
        ],
        "matryoshka_weights": [
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Evaluation Dataset

vi_health_qa

  • Dataset: vi_health_qa at e2b7864
  • Size: 114,654 evaluation samples
  • Columns: query and document
  • Approximate statistics based on the first 1000 samples:
    query document
    type string string
    details
    • min: 7 tokens
    • mean: 16.77 tokens
    • max: 52 tokens
    • min: 2 tokens
    • mean: 358.34 tokens
    • max: 1021 tokens
  • Samples:
    query document
    query: Biến chứng của hội chứng vành cấp: SCA Một số biến chứng nghiêm trọng đe dọa bệnh nhân trong những ngày sau SCA, đặc biệt là loại STEMI.

    * Sốc tim và suy thất: đặt bóng đối xung động mạch chủ là biện pháp được lựa chọn để làm giảm công thất (T) và cải thiện tưới máu mạch vành mà không làm tăng mVO2;
    * Rối loạn nhịp tim: rung nhĩ ,bloc dẫn truyền nhĩ-thất, nhịp tim nhanh hoặc rung tâm thất;
    * Hở van hai lá do giãn thất (T): thiếu máu cục bộ xuyên thành hoặc đứt cơ nhú; trong trường hợp hở van hai lá nặng, đặt bóng đối xung có hiệu quả trong việc chờ sửa chữa phẫu thuật;
    * Thông liên thất: cần đóng thông liên thất bằng phẫu thuật;
    * Vỡ thất (T): thường gây chết người nhất bởi chèn ép tim cấp tính;
    * Chứng phình vách thất (T): Thuốc ức chế men chuyển ức chế tái định dạng thất (T), nhưng phẫu thuật cắt bỏ chỗ phình thường là cần thiết;
    * *Huyết khối trong buồng...
    query: Ưu và nhược điểm của thuốc tránh thai chỉ có progestin ### 3.1. Ưu điểm của thuốc tránh thai chỉ có progestin

    Viên tránh thai chỉ có progestin tốt hơn các loại thuốc tránh thai bình thường khác nếu sử dụng trong những trường hợp đang cho con bú vì loại thuốc này sẽ không ảnh hưởng đến quá trình sản xuất sữa (estrogen làm giảm chất lượng và số lượng sữa).

    ###

    Loại này cũng an toàn hơn các loại thuốc tránh thai bình thường trong một số trường hợp như ở phụ nữ trên 35 tuổi, những trường hợp hút thuốc lá, tăng huyết áp, béo phì và có tiền sử các bệnh về đông máu.

    Viên tránh thai thông thường làm cho một vài phụ nữ bị đau dạ dày hay đau đầu nhiều. Trong khi đó, thuốc tránh thai chứa progestin thường không gây ra các tác dụng phụ này.

    ### 3.2. Nhược điểm của thuốc tránh thai chỉ có progestin

    Nhược điểm của thuốc ngừa thai chỉ có progestin là:

    Phải uống liên tục mỗi ngày, không có ngày nghỉ, và đặc biệt phải uống đúng giờ trong ngày. Nếu quên uống một ngày, phải sử dụng phương pháp tránh thai thứ 2 cho hết chu kỳ đó (cho đến c...
    query: Có cái nhìn thực tế về giảm cân sau sinh Hãy nhớ rằng bạn rất khó trở lại cân nặng hoặc hình dạng chính xác như trước khi mang thai. Đối với nhiều phụ nữ, mang thai sẽ gây ra những thay đổi vĩnh viễn. Bụng của họ sẽ mềm hơn, hông rộng hơn một chút và vòng eo lớn hơn. Vì vậy, bạn nên điều chỉnh mục tiêu của mình sao cho gần với thực tế nhất, tránh gây áp lực cho bản thân.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256
        ],
        "matryoshka_weights": [
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_eval_batch_size: 16
  • per_gpu_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • bf16: True
  • prompts: {'query': 'query: '}
  • 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: 8
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: 16
  • 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: True
  • fp16: False
  • 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
  • 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: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: {'query': 'query: '}
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss cosine_ndcg@10
0 0 - - 0.8843
0.0001 1 0.456 - -
0.0142 100 - 0.5898 0.9111
0.0284 200 - 0.4075 0.9196
0.0426 300 - 0.3532 0.9181
0.0568 400 - 0.3171 0.9228
0.0710 500 0.3184 0.2899 0.9293
0.0852 600 - 0.3014 0.9260
0.0994 700 - 0.2637 0.9278
0.1136 800 - 0.2716 0.9284
0.1278 900 - 0.2485 0.9342
0.1420 1000 0.1511 0.2655 0.9339
0.1562 1100 - 0.2524 0.9381
0.1704 1200 - 0.2727 0.9334
0.1846 1300 - 0.2613 0.9397
0.1988 1400 - 0.2356 0.9426
0.2130 1500 0.1638 0.2365 0.9381
0.2272 1600 - 0.2646 0.9373
0.2414 1700 - 0.2542 0.9390
0.2556 1800 - 0.2648 0.9388
0.2698 1900 - 0.2660 0.9385
0.2841 2000 0.1197 0.2547 0.9413
0.2983 2100 - 0.2566 0.9417
0.3125 2200 - 0.2615 0.9375
0.3267 2300 - 0.2421 0.9432
0.3409 2400 - 0.2606 0.9419
0.3551 2500 0.1195 0.2593 0.9438
0.3693 2600 - 0.2663 0.9426
0.3835 2700 - 0.2720 0.9405
0.3977 2800 - 0.2614 0.9419
0.4119 2900 - 0.2568 0.9474
0.4261 3000 0.1113 0.2506 0.9469
0.4403 3100 - 0.2406 0.9461
0.4545 3200 - 0.2326 0.9483
0.4687 3300 - 0.2348 0.9469
0.4829 3400 - 0.2410 0.9435
0.4971 3500 0.119 0.2326 0.9456
0.5113 3600 - 0.2239 0.9481
0.5255 3700 - 0.2217 0.9474
0.5397 3800 - 0.2208 0.9457
0.5539 3900 - 0.2166 0.9467
0.5681 4000 0.1037 0.2154 0.9484
0.5823 4100 - 0.2100 0.9509
0.5965 4200 - 0.2144 0.9485
0.6107 4300 - 0.2081 0.9482
0.6249 4400 - 0.2050 0.9485
0.6391 4500 0.1253 0.2030 0.9480
0.6533 4600 - 0.1994 0.9485
0.6675 4700 - 0.2005 0.9498
0.6817 4800 - 0.1965 0.9503
0.6959 4900 - 0.1959 0.9518
0.7101 5000 0.1074 0.1931 0.9526
0.7243 5100 - 0.1907 0.9523
0.7385 5200 - 0.1921 0.9535
0.7527 5300 - 0.1932 0.9533
0.7669 5400 - 0.1989 0.9515
0.7811 5500 0.109 0.2031 0.9505
0.7953 5600 - 0.2066 0.9494
0.8095 5700 - 0.2083 0.9503
0.8237 5800 - 0.2066 0.9507
0.8379 5900 - 0.2081 0.9506
0.8522 6000 0.0963 0.2073 0.9509
0.8664 6100 - 0.2113 0.9512
0.8806 6200 - 0.2083 0.9517
0.8948 6300 - 0.2073 0.9516
0.9090 6400 - 0.2043 0.9518
0.9232 6500 0.0901 0.2017 0.9527
0.9374 6600 - 0.2007 0.9529
0.9516 6700 - 0.2002 0.9529
0.9658 6800 - 0.2009 0.9522
0.9800 6900 - 0.2004 0.9524
0.9942 7000 0.081 0.2003 0.9525
1.0 7041 - - 0.9442

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.3.1
  • Transformers: 4.46.3
  • PyTorch: 2.4.0
  • Accelerate: 1.1.1
  • Datasets: 3.1.0
  • Tokenizers: 0.20.3

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

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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
92
Safetensors
Model size
305M 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 BookingCare/gte-multilingual-base-v2.1

Finetuned
(34)
this model

Dataset used to train BookingCare/gte-multilingual-base-v2.1

Evaluation results