SentenceTransformer based on VoVanPhuc/sup-SimCSE-VietNamese-phobert-base

This is a sentence-transformers model finetuned from VoVanPhuc/sup-SimCSE-VietNamese-phobert-base. 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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Ông nội của Thái_Tông Trần_Cảnh có tên là gì ?',
    'Tổ_tiên nhà Trần vốn làm nghề chài_lưới , có gốc là người Mân Việt ở tỉnh Phúc Kiến di_cư đến đất Đại_Việt . Những hậu_duệ của nhà Trần là con_cháu lai giữa dòng dõi nhà Trần và dòng dõi nhà Lý như trong trường_hợp của Trần_Lý và Trần_Thừa , và con của Trần_Thừa là Trần_Thái_Tông đã trở_thành vị vua đầu_tiên của nhà Trần . Người họ Trần đầu_tiên đến Đại_Việt là Trần_Kính , đến định_cư tại làng Tức_Mặc ( nay là phường Lộc_Vượng , thành_phố Nam_định ) sống bằng nghề đánh_cá . Sau ba đời con_cháu sống ở Đại_Việt , họ Trần trở_nên giàu_có và hùng_mạnh dưới đời Trần_Lý , là cháu của Trần_Kính . Trần_Lý sinh ra Trần_Thừa . Vua ( Thái_Tông Trần_Cảnh ) là con_thứ của Thừa , mẹ họ Lê , sinh ngày 16 tháng 6 năm Mậu Dần , Kiến_Gia thứ 8 triều Lý .',
    'Thiên_văn_học tia_gamma là việc nghiên_cứu các vật_thể vũ_trụ ở các bước_sóng ngắn nhất của quang_phổ điện từ . Các tia_gamma có_thể được quan_sát trực_tiếp bằng các vệ_tinh như Đài_quan_sát Tia_Gamma_Compton hay bởi các kính_viễn_vọng đặc_biệt được gọi là kính_viễn_vọng khí_quyển Cherenkov . Các kính_viễn_vọng Cherenkov trên thực_tế không trực_tiếp thám_sát các tia_gamma mà thay vào đó thám_sát các đám loé bùng của ánh_sáng nhìn thấy được tạo ra khi các tia_gamma bị khí_quyển Trái_Đất hấp_thụ .',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 18,777 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 7 tokens
    • mean: 15.35 tokens
    • max: 49 tokens
    • min: 91 tokens
    • mean: 164.53 tokens
    • max: 256 tokens
  • Samples:
    anchor positive
    Từ sâm bổ lượng tiếng nho đọc thành gì ? Tuy_nhiên trong thực_tế có rất nhiều loại chè , mỗi loại dùng một kiểu thành_phần khác nhau . Có các loại chè như : chè con_ong ( hay chè bà_cốt ) , chè đậu_xanh , chè đậu_đen , chè ngô cốm , chè đỗ đỏ , chè đỗ trắng , chè bưởi , chè thập_cẩm , chè_hạt sen long_nhãn , v . v . Một món chè có nguồn_gốc từ Trung_Hoa nhưng cũng được nhiều người Việt biết tới là chè mè đen hay xí mè phủ ( phát_âm kiểu người Hoa ) làm từ hạt mè đen và sâm bổ lượng ( đúng_ra chữ Nho phải đọc là " thanh bổ lượng " ) . Các món chè Huế và chè Hà_Nội nổi_tiếng vì phong_phú , đa_dạng chủng_loại với chất_lượng cao .
    Chính_phủ nào không được công_nhận bởi chính_quyền Việt_Nam Dân_chủ Cộng_hòa ? Trong thời_gian đầu , chính_quyền Việt_Nam Dân_chủ Cộng_hòa công_nhận Chính_phủ Cách_mạng lâm_thời Cộng_hòa miền Nam Việt_Nam , và không công_nhận chính_phủ Việt_Nam_Cộng_hòa . Các cuộc đấu_tranh ở Miền Nam giai_đoạn này Việt_Nam Dân_chủ Cộng_hòa cơ_bản không kiểm_soát được hoàn_toàn , mà do các đảng_bộ miền Nam_tự chỉ_đạo , có khi vượt ngoài chỉ_đạo của Trung_ương . Sau Hội_nghị Trung_ương 15 và sau_này ra_đời Mặt_trận , Việt_Nam Dân_chủ Cộng_hòa không công_nhận Việt_Nam_Cộng_hòa và công_khai ủng_hộ cho phía cách_mạng Miền Nam .
    Hiện_nay , kinh_kỳ của Việt_Nam là ở đâu ? Hà_Nội là thủ_đô của nước Cộng_hòa xã_hội chủ_nghĩa Việt_Nam và cũng là kinh_đô của hầu_hết các vương_triều phong_kiến Việt trước đây . Do đó , lịch_sử Hà_Nội_gắn liền với sự thăng_trầm của lịch_sử Việt_Nam qua các thời_kỳ . Hà_Nội là thành_phố trực_thuộc trung_ương có diện_tích lớn nhất cả nước từ khi tỉnh Hà_Tây sáp_nhập vào , đồng_thời cũng là địa_phương đứng thứ nhì về dân_số với gần 8 triệu người ( năm 2018 ) , sau Thành_phố Hồ_Chí_Minh . Tuy_nhiên , nếu tính những người cư_trú không đăng_ký thì dân_số thực_tế của thành_phố này năm 2017 là hơn 9 triệu người . Hiện_nay , Hà_Nội và Thành_phố Hồ_Chí_Minh là hai đô_thị loại đặc_biệt của Việt_Nam .
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 2,087 evaluation samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 7 tokens
    • mean: 15.52 tokens
    • max: 38 tokens
    • min: 83 tokens
    • mean: 166.28 tokens
    • max: 256 tokens
  • Samples:
    anchor positive
    Hội_đồng nào mà Đông_Đức là một thành_viên trong đó ? Thành_lập từ năm 1949 , tuy_nhiên , đến năm 1955 , Đông_Đức mới tuyên_bố đầy_đủ quyền tự_trị như một_thể_chế nhà_nước . Dầu_vậy , quân_đội Liên_Xô vẫn đóng trên lãnh_thổ nước này theo Hiệp_định Potsdam giữa bốn cường_quốc chiến_thắng trong Chiến_tranh thế_giới thứ hai là Hoa_Kỳ , Anh , Pháp và Liên_Xô . Vì quân_đội khối NATO còn hiện_diện tại Tây_Đức và Tây_Berlin , Đông_Đức và Berlin trở_thành_tâm_điểm của Chiến_tranh Lạnh . Đông_Đức là thành_viên Hiệp_ước Warszawa , Hội_đồng Tương_trợ Kinh_tế và đồng_thời là đồng_minh thân_cận của Liên_Xô .
    Nhiệm_vụ của đường_ống Baku - Tbilisi - Ceyhan là gì ? Thổ_Nhĩ_Kỳ chia_sẻ di_sản văn_hóa_và ngôn_ngữ chung với các quốc_gia Turk độc_lập từ Liên_Xô vào năm 1991 , điều này cho phép Thổ_Nhĩ_Kỳ khoách trương quan_hệ kinh_tế và chính_trị sâu vào Trung_Á , Đường_ống Baku - Tbilisi - Ceyhan tạo thành bộ_phận trong chiến_lược chính_sách đối_ngoại của Thổ_Nhĩ_Kỳ để trở_thành một nơi chuyển_tiếp năng_lượng đến phương Tây . Tuy_nhiên , biên_giới Thổ_Nhĩ_Kỳ - Armenia bị đóng_cửa do Thổ_Nhĩ_Kỳ ủng_hộ Azerbaijan trong Chiến_tranh Nagorno - Karabakh và nay vẫn bị đóng_cửa .
    Vì_sao Vua và Hoàng_hậu không thích Voltaire và đuổi ông ra khỏi Versailles ? Những năm 1740 Voltaire được triều đình chào_đón với tư_cách nhà viết kịch và nhà_thơ , nhưng do xuất_thân thấp_kém ( ông là con của một công_chứng_viên và cha_ông cũng là người Jansen ) khiến Vua và Hoàng_hậu thấy không vừa_mắt , cuối_cùng ông buộc phải rời khỏi Versailles . Ông đến Berlin , trở_thành một cố_vấn cho Friedrich Đại_đế , trước khi đến sống ở Genève và Savoia cách xa Paris . Một trong những đề_xuất nổi_tiếng của Voltaire được Louis XV chú_ý ; khi Nhà_vua đàn_áp Nghị_viện của giới quý_tộc , yêu_cầu tất_cả tầng_lớp đều phải nộp thuế như nhau , và loại_bỏ những cáo_buộc của những họ . Ông nói : " Nghị_viện của vua ! Các ngươi có trách_nhiệm trả lại công_lý cho người dân ! Trả lại công_lý cho chính các ngươi ! ... Trên thế_giới không có tòa_án nào dám tranh_giành quyền_lực với quân vương . " Tuy_nhiên , những năm cuối thời nhà_vua không có cải_cách nào , gây não_lòng cho Voltaire . Khi nhà_vua băng_hà , Voltaire viết về thời_kì này , " 56 năm , qua đi với những mệt_mỏi và nhữ...
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 5
  • warmup_ratio: 0.1
  • warmup_steps: 50
  • fp16: True
  • load_best_model_at_end: 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: 32
  • per_device_eval_batch_size: 32
  • 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.01
  • 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: 50
  • 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: True
  • 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: None
  • 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: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss
0.1704 100 0.452 -
0.3407 200 0.4073 -
0.5111 300 0.345 0.2883
0.6814 400 0.311 -
0.8518 500 0.2969 -
1.0221 600 0.2561 0.2137
1.1925 700 0.2255 -
1.3629 800 0.2027 -
1.5332 900 0.1978 0.1811
1.7036 1000 0.1954 -
1.8739 1100 0.1753 -
2.0443 1200 0.1559 0.1599
2.2147 1300 0.1155 -
2.3850 1400 0.1143 -
2.5554 1500 0.1196 0.1572
2.7257 1600 0.1258 -
2.8961 1700 0.1271 -
3.0664 1800 0.1025 0.1463
3.2368 1900 0.0802 -
3.4072 2000 0.0716 -
3.5775 2100 0.0913 0.1401
3.7479 2200 0.0801 -
3.9182 2300 0.0835 -
4.0886 2400 0.0663 0.1323
4.2589 2500 0.0525 -
4.4293 2600 0.0462 -
4.5997 2700 0.0476 0.1282

Framework Versions

  • Python: 3.11.10
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.4.0
  • 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",
}

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
6
Safetensors
Model size
135M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for truong1301/NCKH_MLOPS_BI_ENCODE

Finetuned
(5)
this model