nampham1106's picture
Add new SentenceTransformer model.
5890a76 verified
metadata
base_model: BookingCare/multilingual-e5-base-v2
datasets: []
language: []
library_name: sentence-transformers
metrics:
  - pearson_cosine
  - spearman_cosine
  - pearson_manhattan
  - spearman_manhattan
  - pearson_euclidean
  - spearman_euclidean
  - pearson_dot
  - spearman_dot
  - pearson_max
  - spearman_max
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:21568
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: Tôi muốn tìm hiểu về các phương pháp điều trị ung thư phổi.
    sentences:
      - ' Làm cách nào để hẹn khám bác sĩ tim mạch tại bệnh viện Việt Đức?'
      - >-
        Thuốc này có thể gây ra tác dụng phụ như buồn nôn, nôn mửa và đau đầu ở
        một số bệnh nhân.
      - Làm ơn cho tôi biết những cách điều trị ung thư phổi.
  - source_sentence: Tôi muốn biết thông tin về các loại thuốc điều trị bệnh tiểu đường.
    sentences:
      - Cho tôi biết về các loại thuốc điều trị bệnh tiểu đường.
      - Tôi muốn tìm bệnh viện gần nhà, làm cách nào?
      - ' Phương pháp điều trị này có thể được các bác sĩ áp dụng cho bệnh nhân mắc các chứng đau mãn tính, bao gồm đau lưng, đau đầu và đau dây thần kinh.'
  - source_sentence: Bệnh nhân đã trải qua ca phẫu thuật thành công để loại bỏ khối u ác tính.
    sentences:
      - Làm sao để chữa bệnh nấm da?
      - Ca phẫu thuật cắt bỏ khối u ung thư của bệnh nhân đã diễn ra thuận lợi.
      - Phát hiện sớm ung thư giúp cải thiện  hội sống sót.
  - source_sentence: >-
      Bệnh nhân được chẩn đoán mắc bệnh tiểu đường tuýp 2 và được điều trị bằng
      insulin.
    sentences:
      - >-
        Kết quả xét nghiệm cho thấy bệnh nhân bị tiểu đường tuýp 2 và hiện đang
        sử dụng insulin để kiểm soát lượng đường trong máu.
      - ' Làm cách nào để đặt lịch khám bệnh online tại bệnh viện Chợ Rẫy?'
      - ' Tôi có các triệu chứng như đau đầu, chóng mặt, buồn nôn và sốt nhẹ. Tôi nên đến gặp bác sĩ nào?'
  - source_sentence: Chi phí điều trị xương khớp bằng tế bào gốc  bao nhiêu?
    sentences:
      - Bác  nào giỏi về tim mạch  Bệnh viện Tim  Nội?
      - Tôi bị đau ngón chân cái, nguyên nhân  thể    cách xử lý?
      - >-
        Tôi muốn biết giá thành của phương pháp điều trị xương khớp bằng tế bào
        gốc.
model-index:
  - name: SentenceTransformer based on BookingCare/multilingual-e5-base-v2
    results:
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: sts dev
          type: sts-dev
        metrics:
          - type: pearson_cosine
            value: 0.8203111452448977
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.8045071696400715
            name: Spearman Cosine
          - type: pearson_manhattan
            value: 0.8135062024102064
            name: Pearson Manhattan
          - type: spearman_manhattan
            value: 0.8022590192594135
            name: Spearman Manhattan
          - type: pearson_euclidean
            value: 0.8157257071683398
            name: Pearson Euclidean
          - type: spearman_euclidean
            value: 0.8045071696400715
            name: Spearman Euclidean
          - type: pearson_dot
            value: 0.820311138054016
            name: Pearson Dot
          - type: spearman_dot
            value: 0.8045070964894467
            name: Spearman Dot
          - type: pearson_max
            value: 0.8203111452448977
            name: Pearson Max
          - type: spearman_max
            value: 0.8045071696400715
            name: Spearman Max
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: sts test
          type: sts-test
        metrics:
          - type: pearson_cosine
            value: 0.8210620721403172
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.8160123137301667
            name: Spearman Cosine
          - type: pearson_manhattan
            value: 0.8163110112267055
            name: Pearson Manhattan
          - type: spearman_manhattan
            value: 0.8140975159227894
            name: Spearman Manhattan
          - type: pearson_euclidean
            value: 0.8177169268982277
            name: Pearson Euclidean
          - type: spearman_euclidean
            value: 0.8160123137301667
            name: Spearman Euclidean
          - type: pearson_dot
            value: 0.8210620746059923
            name: Pearson Dot
          - type: spearman_dot
            value: 0.8160127635161788
            name: Spearman Dot
          - type: pearson_max
            value: 0.8210620746059923
            name: Pearson Max
          - type: spearman_max
            value: 0.8160127635161788
            name: Spearman Max

SentenceTransformer based on BookingCare/multilingual-e5-base-v2

This is a sentence-transformers model finetuned from BookingCare/multilingual-e5-base-v2. 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: BookingCare/multilingual-e5-base-v2
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (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): 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/multilingual-embed-v1.0")
# Run inference
sentences = [
    'Chi phí điều trị xương khớp bằng tế bào gốc là bao nhiêu?',
    'Tôi muốn biết giá thành của phương pháp điều trị xương khớp bằng tế bào gốc.',
    'Bác sĩ nào giỏi về tim mạch ở Bệnh viện Tim Hà Nội?',
]
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

Semantic Similarity

Metric Value
pearson_cosine 0.8203
spearman_cosine 0.8045
pearson_manhattan 0.8135
spearman_manhattan 0.8023
pearson_euclidean 0.8157
spearman_euclidean 0.8045
pearson_dot 0.8203
spearman_dot 0.8045
pearson_max 0.8203
spearman_max 0.8045

Semantic Similarity

Metric Value
pearson_cosine 0.8211
spearman_cosine 0.816
pearson_manhattan 0.8163
spearman_manhattan 0.8141
pearson_euclidean 0.8177
spearman_euclidean 0.816
pearson_dot 0.8211
spearman_dot 0.816
pearson_max 0.8211
spearman_max 0.816

Training Details

Training Dataset

Unnamed Dataset

  • Size: 21,568 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1
    type string string
    details
    • min: 3 tokens
    • mean: 20.54 tokens
    • max: 61 tokens
    • min: 9 tokens
    • mean: 21.72 tokens
    • max: 53 tokens
  • Samples:
    sentence_0 sentence_1
    Nguyên nhân nào gây ra đau xương bàn chân? Tại sao tôi bị đau xương bàn chân?
    Chế độ ăn uống lành mạnh có thể giúp giảm nguy cơ mắc bệnh tim mạch. Ăn uống hợp lý là một yếu tố quan trọng để ngăn ngừa bệnh tim.
    Tôi cần tìm một bác sĩ chuyên khoa tim mạch giỏi ở TP.HCM. Cho tôi biết địa chỉ của bác sĩ tim mạch giỏi ở thành phố Hồ Chí Minh.
  • 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: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 1
  • fp16: True
  • multi_dataset_batch_sampler: round_robin

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
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss sts-dev_spearman_cosine sts-test_spearman_cosine
0.0994 134 - 0.8071 -
0.1988 268 - 0.8117 -
0.2982 402 - 0.8075 -
0.3709 500 0.0888 - -
0.3976 536 - 0.8087 -
0.4970 670 - 0.8121 -
0.5964 804 - 0.8086 -
0.6958 938 - 0.8081 -
0.7418 1000 0.0738 - -
0.7953 1072 - 0.8048 -
0.8947 1206 - 0.8044 -
0.9941 1340 - 0.8045 -
1.0 1348 - 0.8045 0.8160

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.4
  • PyTorch: 2.3.1+cu121
  • Accelerate: 0.32.1
  • Datasets: 2.20.0
  • Tokenizers: 0.19.1

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