SentenceTransformer based on vinai/phobert-base-v2
This is a sentence-transformers model finetuned from vinai/phobert-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: vinai/phobert-base-v2
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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("phobert-base-v2-c-loss")
# Run inference
sentences = [
'Xin bác sĩ cho tôi hỏi: Cách đây 1 tháng tôi có đi kiểm tra xét nghiệm máu kết quả: - Anti- HCV nhanh - Dương tính - AST 22 /37U/L - ALT 20/ 40 U/L - GGT 60/50 U/L - Sắt 556.1 / 4.6 -275.0 ng/ml Bệnh viện quận chuyển tuyến tôi lên tỉnh và tôi xét nghiệm chuyên sâu để điều trị; Huyết học, sinh hoá, siêu âm tổng quát , định lượng HCV-RNA, định genotype kết quả tất cả men gan điều trong ngưỡng ( tốt), sắt cao, siêu âm các bộ phận đều tốt, riêng gan nhiễm mỡ. - Định lượng HCV–RNA kết quả dưới ngưỡng phát hiện - Định genotype kết quả không định được Bác sĩ nói kết quả dưới ngưỡng không có chỉ định điều trị theo phác đồ, và cho tôi toa thuốc hổ trợ gan và hẹn tôi 3-4 tháng xuống xét nghiệm lại. Xin hỏi bác sĩ: Tôi bị viêm gan C cấp tính hay mãn tính. Tôi tìm hiểu trên mạng khi bị viêm gan C phải kiểm tra luôn định tính của bệnh (HCV-RNA) nhưng bác sĩ ở tỉnh không chỉ định xét nghiệm. Vậy virus viêm gan C của tôi còn không? Và lượng sắt trong máu cao có nguy hiểm không mà bác sĩ không chỉ định điều trị. Hiện nay cơ thể tôi hơi mệt, ăn chậm tiêu, hay buồn ngủ. Kính mong bác sĩ tư vấn giúp tôi. Xin thành thật cảm ơn. (Trần Long - Đông Nai)',
'Xin chào Quốc Ngọc, Bạn chưa cho AloBacsi biết đã bao nhiêu tuổi? Và triệu chứng tê tay của bạn cũng còn sơ sài quá: - Tê đều cả hai tay, hai chân cả ngày hay chỉ tê tay chân một vùng nào đó như bàn tay, bàn chân? - Mức độ tê nhiều hay ít? - Có giảm cảm giác nhiều không? - Khi nào tê xuất hiện? Tê tăng khi nào? -Tê ngày một nhiều hơn không? - Tê có kèm yếu tay chân không? Tê tay chân do nhiều nguyên nhân như: viêm dây thần kinh, tê do chèn ép thần kinh (hội chứng ống cổ tay, thoát vị đĩa đệm), tê ở bệnh nhân đái tháo đường có biến chứng thần kinh, do thiếu canxi huyết,… Bạn nên tái khám tại chuyên khoa Thần kinh để được khám trực tiếp, chẩn đoán nguyên nhân và điều trị. Thân ái chào bạn!',
'Thế Anh thân mến! Vùng mũi họng có một hệ thống các tổ chức lympho gồm các amydale (amidan) là: - Amygdale vòm (gọi là VA hay bị viêm lúc nhỏ, khi có biến chứng BS phải nạo đi) - Amygdale quanh lỗ tai vòi (là đường thông từ tai giữa xuống mũi) - Amygdale họng (là bộ phận hay viêm, mổ BS sẽ lấy nó đi) - Amygdale lưỡi (khi sờ tay vào sâu trong lưỡi có cảm giác sờ vào các hạt) - Các amygdale trên tạo thành một vòng bạch huyết, là tuyến đầu giúp cơ thể phát hiện, cảnh báo, ngăn chặn sự xâm nhập của các tác nhân gây bệnh từ ngoài vào. Hoạt động mạnh từ khi sinh ra cho tới 5-7 tuổi, khi lượng kháng thể đã đáp ứng cho nhu cầu bảo vệ của cơ thể thì chức năng sinh học của chúng giảm dần và sẽ teo đi. Bạn viêm amygdale mạn kéo dài nhiều tháng, nay tái phát hồi viêm (bị đau họng, nhức lắm: tức đang bị viêm cấp, hay viêm tấy quanh amygdale) nên làm cho hạch cổ sưng to, đồng thời làm cho viêm mũi xoang (không loại trừ viêm phế quản): khạc ra dịch nhầy, đôi khi có lẫn chút máu đỏ. Bạn đã có biến chứng (mũi, xoang, họng...), bệnh kéo dài và tái phát nhanh, mặc dù đã điều trị tích cực nhưng đáp ứng kém với điều trị nội khoa, đây là một trong những chỉ định của cắt amygdale. Năm nay bạn 18 tuổi nên việc cắt amygdale viêm mạn sẽ không ảnh hưởng tới sức khỏe (nếu amygdale là ổ nhiễm trùng, viêm thường xuyên thì việc cắt bỏ là cần thiết). Tuy nhiên bạn nên tới BS chuyên khoa Tai mũi họng để có chỉ định điều trị cụ thể. Trước khi thực hiện phẫu thuật các BS sẽ khám kỹ về tai mũi họng, khám nội khoa: tim mạch, hô hấp dưới, huyết học, dị ứng..., các tiền căn cá nhân, gia đình để đánh giá tổng trạng chung, phát hiện các bệnh lý và các bất thường về sức khỏe khác đi kèm, nếu được BS mới tiến hành phẫu thuật, nên bạn yên tâm. Tai biến trong và sau phẫu thuật có tỷ lệ cực nhỏ, rất hiếm gặp. Theo tài liệu của bộ môn Tai mũi họng, ĐH Y Dược TPHCM, tỷ lệ tử vong do cắt amygdale từ 1/10.000 -1/40.000. Bạn tham khảo thêm câu hỏi sau nhé: >> Chúc bạn mau chóng bình phục sức khỏe!',
]
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
- Dataset:
dim_768 - Evaluated with InformationRetrievalEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.4934 |
| cosine_accuracy@3 | 0.641 |
| cosine_accuracy@5 | 0.6958 |
| cosine_accuracy@10 | 0.7772 |
| cosine_precision@1 | 0.4934 |
| cosine_precision@3 | 0.2137 |
| cosine_precision@5 | 0.1392 |
| cosine_precision@10 | 0.0777 |
| cosine_recall@1 | 0.4934 |
| cosine_recall@3 | 0.641 |
| cosine_recall@5 | 0.6958 |
| cosine_recall@10 | 0.7772 |
| cosine_ndcg@10 | 0.6291 |
| cosine_mrr@10 | 0.5824 |
| cosine_map@100 | 0.5904 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 87,606 training samples
- Columns: sentence1, sentence2, and label
- Approximate statistics based on the first 1000 samples:
sentence1 sentence2 label type string string int details min: 5 tokensmean: 78.24 tokensmax: 256 tokens min: 31 tokensmean: 185.13 tokensmax: 256 tokens 0: ~47.90%1: ~52.10% - Samples:
sentence1 sentence2 label Chào các BS ạ,Xin hỏi BS tôi đi khám nội soi đại tràng bệnh viện kết luận bị carcinnom biệt hoá kém, xâm nhập mô mỡ sợi là gì xin BS tư vấn giùm cảm ơn ạ! Carcinoma tức là ung thư dạng biểu mô, biệt hóa kém nghĩa là mức độ biệt hóa của tế bào ung thư Chào em, Kết quả này là hơi buồn đó bạn à, vì đây là bệnh ung thư đại tràng. "Carcinnom biệt hoá kém " là ung thư biểu mô tuyến ở đại tràng, là bệnh lý ác tính, nguy hiểm. Loại ung thư này thường xâm nhập sâu và gây di căn sớm ở hạch lympho tại chỗ. Bệnh ung thư đại tràng cần điều trị càng sớm càng tốt khi phát hiện ra bệnh. Điều trị ung thư đại tràng chủ yếu là ngoại khoa. Xạ trị và hoá trị liệu thường có tính chất hỗ trợ, có thể sử dụng đồng thời hay sau khi phẫu thuật. Bước tiếp theo BS sẽ đề nghị bạn làm thêm 1 số xét nghiệm để xác định giai đoạn của bệnh (kiểm tra thêm di căn hạch vùng, di căn xa), từ đó sẽ lên liệu trình điều trị phù hợp cho bạn, bạn nhé. 1 Chào bác sĩ, - Loss: ContrastiveLoss with these parameters:
{ "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE", "margin": 0.5, "size_average": true }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: epochper_device_train_batch_size: 40per_device_eval_batch_size: 40learning_rate: 1e-06num_train_epochs: 5lr_scheduler_type: constant_with_warmupwarmup_ratio: 0.1bf16: Truetf32: Falseload_best_model_at_end: Trueoptim: adamw_torch_fusedbatch_sampler: no_duplicates
All Hyperparameters
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 40per_device_eval_batch_size: 40per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 1e-06weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 5max_steps: -1lr_scheduler_type: constant_with_warmuplr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Falselocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}tp_size: 0fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional
Training Logs
| Epoch | Step | Training Loss | dim_768_cosine_ndcg@10 |
|---|---|---|---|
| 0.0456 | 100 | 0.0331 | - |
| 0.0913 | 200 | 0.0311 | - |
| 0.1369 | 300 | 0.0286 | - |
| 0.1826 | 400 | 0.0244 | - |
| 0.2282 | 500 | 0.0198 | - |
| 0.2738 | 600 | 0.0154 | - |
| 0.3195 | 700 | 0.013 | - |
| 0.3651 | 800 | 0.0114 | - |
| 0.4108 | 900 | 0.0106 | - |
| 0.4564 | 1000 | 0.0098 | - |
| 0.5021 | 1100 | 0.0092 | - |
| 0.5477 | 1200 | 0.0093 | - |
| 0.5933 | 1300 | 0.0089 | - |
| 0.6390 | 1400 | 0.0088 | - |
| 0.6846 | 1500 | 0.0081 | - |
| 0.7303 | 1600 | 0.0086 | - |
| 0.7759 | 1700 | 0.0082 | - |
| 0.8215 | 1800 | 0.0079 | - |
| 0.8672 | 1900 | 0.0078 | - |
| 0.9128 | 2000 | 0.0076 | - |
| 0.9585 | 2100 | 0.0077 | - |
| 1.0 | 2191 | - | 0.5328 |
| 1.0041 | 2200 | 0.0072 | - |
| 1.0497 | 2300 | 0.0073 | - |
| 1.0954 | 2400 | 0.0073 | - |
| 1.1410 | 2500 | 0.0073 | - |
| 1.1867 | 2600 | 0.0065 | - |
| 1.2323 | 2700 | 0.0073 | - |
| 1.2780 | 2800 | 0.007 | - |
| 1.3236 | 2900 | 0.0069 | - |
| 1.3692 | 3000 | 0.0066 | - |
| 1.4149 | 3100 | 0.0065 | - |
| 1.4605 | 3200 | 0.0066 | - |
| 1.5062 | 3300 | 0.0067 | - |
| 1.5518 | 3400 | 0.0064 | - |
| 1.5974 | 3500 | 0.0065 | - |
| 1.6431 | 3600 | 0.0063 | - |
| 1.6887 | 3700 | 0.0064 | - |
| 1.7344 | 3800 | 0.0062 | - |
| 1.7800 | 3900 | 0.0063 | - |
| 1.8257 | 4000 | 0.0066 | - |
| 1.8713 | 4100 | 0.0063 | - |
| 1.9169 | 4200 | 0.0061 | - |
| 1.9626 | 4300 | 0.0066 | - |
| 2.0 | 4382 | - | 0.5817 |
| 2.0082 | 4400 | 0.0062 | - |
| 2.0539 | 4500 | 0.006 | - |
| 2.0995 | 4600 | 0.0059 | - |
| 2.1451 | 4700 | 0.0061 | - |
| 2.1908 | 4800 | 0.0061 | - |
| 2.2364 | 4900 | 0.0057 | - |
| 2.2821 | 5000 | 0.0059 | - |
| 2.3277 | 5100 | 0.0056 | - |
| 2.3733 | 5200 | 0.0053 | - |
| 2.4190 | 5300 | 0.0057 | - |
| 2.4646 | 5400 | 0.0054 | - |
| 2.5103 | 5500 | 0.0055 | - |
| 2.5559 | 5600 | 0.0055 | - |
| 2.6016 | 5700 | 0.0057 | - |
| 2.6472 | 5800 | 0.0054 | - |
| 2.6928 | 5900 | 0.0055 | - |
| 2.7385 | 6000 | 0.0058 | - |
| 2.7841 | 6100 | 0.0056 | - |
| 2.8298 | 6200 | 0.0054 | - |
| 2.8754 | 6300 | 0.0054 | - |
| 2.9210 | 6400 | 0.0062 | - |
| 2.9667 | 6500 | 0.0053 | - |
| 3.0 | 6573 | - | 0.6051 |
| 3.0123 | 6600 | 0.0054 | - |
| 3.0580 | 6700 | 0.0054 | - |
| 3.1036 | 6800 | 0.005 | - |
| 3.1492 | 6900 | 0.0051 | - |
| 3.1949 | 7000 | 0.0055 | - |
| 3.2405 | 7100 | 0.0052 | - |
| 3.2862 | 7200 | 0.0048 | - |
| 3.3318 | 7300 | 0.0054 | - |
| 3.3775 | 7400 | 0.0052 | - |
| 3.4231 | 7500 | 0.0054 | - |
| 3.4687 | 7600 | 0.0048 | - |
| 3.5144 | 7700 | 0.0052 | - |
| 3.5600 | 7800 | 0.005 | - |
| 3.6057 | 7900 | 0.0051 | - |
| 3.6513 | 8000 | 0.0051 | - |
| 3.6969 | 8100 | 0.005 | - |
| 3.7426 | 8200 | 0.005 | - |
| 3.7882 | 8300 | 0.005 | - |
| 3.8339 | 8400 | 0.005 | - |
| 3.8795 | 8500 | 0.005 | - |
| 3.9251 | 8600 | 0.0049 | - |
| 3.9708 | 8700 | 0.0049 | - |
| 4.0 | 8764 | - | 0.6182 |
| 4.0164 | 8800 | 0.005 | - |
| 4.0621 | 8900 | 0.0047 | - |
| 4.1077 | 9000 | 0.0045 | - |
| 4.1534 | 9100 | 0.0046 | - |
| 4.1990 | 9200 | 0.0049 | - |
| 4.2446 | 9300 | 0.0047 | - |
| 4.2903 | 9400 | 0.0049 | - |
| 4.3359 | 9500 | 0.0046 | - |
| 4.3816 | 9600 | 0.0046 | - |
| 4.4272 | 9700 | 0.0043 | - |
| 4.4728 | 9800 | 0.0046 | - |
| 4.5185 | 9900 | 0.0048 | - |
| 4.5641 | 10000 | 0.0049 | - |
| 4.6098 | 10100 | 0.0046 | - |
| 4.6554 | 10200 | 0.0044 | - |
| 4.7010 | 10300 | 0.0046 | - |
| 4.7467 | 10400 | 0.0048 | - |
| 4.7923 | 10500 | 0.0044 | - |
| 4.8380 | 10600 | 0.0048 | - |
| 4.8836 | 10700 | 0.0049 | - |
| 4.9293 | 10800 | 0.0045 | - |
| 4.9749 | 10900 | 0.0046 | - |
| 5.0 | 10955 | - | 0.6291 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.10.16
- Sentence Transformers: 3.4.1
- Transformers: 4.51.3
- PyTorch: 2.6.0+cu124
- Accelerate: 1.5.2
- Datasets: 3.3.2
- Tokenizers: 0.21.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",
}
ContrastiveLoss
@inproceedings{hadsell2006dimensionality,
author={Hadsell, R. and Chopra, S. and LeCun, Y.},
booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
title={Dimensionality Reduction by Learning an Invariant Mapping},
year={2006},
volume={2},
number={},
pages={1735-1742},
doi={10.1109/CVPR.2006.100}
}