--- tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:288 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: VoVanPhuc/sup-SimCSE-VietNamese-phobert-base widget: - source_sentence: SIEM giúp tổ chức đáp ứng các yêu cầu tuân thủ bằng cách thu thập và phân tích dữ liệu sự kiện bảo mật, tạo ra các báo cáo và cung cấp bằng chứng cho các cuộc kiểm toán bảo mật, đảm bảo tuân thủ các quy định và tiêu chuẩn bảo mật. sentences: - Tại sao ISOC cần hợp tác với CNTT và Kinh doanh? - Lợi ích của việc sử dụng Xác thực Hai Yếu tố (2FA) là gì? - SIEM giúp tổ chức đáp ứng các yêu cầu tuân thủ như thế nào? - source_sentence: VPN bảo vệ dữ liệu khi truy cập từ xa vào mạng nội bộ của tổ chức bằng cách mã hóa dữ liệu truyền tải, ngăn chặn việc chặn hoặc giả mạo dữ liệu và bảo vệ thông tin nhạy cảm khỏi các mối đe dọa mạng. sentences: - Mạng Lừa đảo (Decoy Network) giúp bảo vệ hệ thống CNTT như thế nào? - Tình báo Mối đe dọa (CTI) giúp tổ chức phòng ngừa tấn công như thế nào? - VPN bảo vệ dữ liệu như thế nào khi truy cập từ xa vào mạng nội bộ của tổ chức? - source_sentence: Honeypots cung cấp thông tin về các cuộc tấn công tiềm năng bằng cách ghi nhận các hoạt động khi kẻ tấn công tương tác với hệ thống, giúp quản trị viên hiểu rõ hơn về chiến thuật của kẻ tấn công. sentences: - Honeypots có thể cung cấp thông tin gì cho quản trị viên bảo mật? - Phân tích Tương quan Sự kiện trong SIEM giúp gì cho quá trình giám sát bảo mật? - Tường lửa Ứng dụng Web (WAF) bảo vệ ứng dụng như thế nào? - source_sentence: Tường lửa bảo vệ hệ thống mạng bằng cách kiểm soát và lọc lưu lượng truy cập dựa trên các quy tắc bảo mật, ngăn chặn truy cập không mong muốn từ bên ngoài và bảo vệ hệ thống khỏi các cuộc tấn công mạng. sentences: - Tường lửa bảo vệ hệ thống mạng khỏi các mối đe dọa như thế nào? - Phân tích dữ liệu bảo mật trong ISOC gồm những bước nào? - SIEM có vai trò gì trong việc phát hiện và phản ứng với các sự cố bảo mật? - source_sentence: Vận hành một chương trình bảo mật yêu cầu các công cụ hỗ trợ kiểm soát thay đổi và theo dõi tài sản dựa trên khung phân loại tài sản. sentences: - Điều gì là quan trọng nhất khi vận hành một chương trình bảo mật trong một tổ chức? - Pháp y Kỹ thuật số trong ISOC có vai trò gì? - Vì sao Bảo mật Điểm cuối quan trọng? pipeline_tag: sentence-similarity library_name: sentence-transformers metrics: - cosine_accuracy@1 - cosine_accuracy@3 - cosine_accuracy@5 - cosine_accuracy@10 - cosine_precision@1 - cosine_precision@3 - cosine_precision@5 - cosine_precision@10 - cosine_recall@1 - cosine_recall@3 - cosine_recall@5 - cosine_recall@10 - cosine_ndcg@10 - cosine_mrr@10 - cosine_map@100 model-index: - name: SentenceTransformer based on VoVanPhuc/sup-SimCSE-VietNamese-phobert-base results: - task: type: information-retrieval name: Information Retrieval dataset: name: dim 768 type: dim_768 metrics: - type: cosine_accuracy@1 value: 0.375 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.53125 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.59375 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.84375 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.375 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.17708333333333331 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.11875 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.084375 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.375 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.53125 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.59375 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.84375 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.575668448565229 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.494171626984127 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.5024926695086755 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 512 type: dim_512 metrics: - type: cosine_accuracy@1 value: 0.40625 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.5 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.625 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.84375 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.40625 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.16666666666666666 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.125 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.084375 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.40625 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.5 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.625 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.84375 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.5858830181882073 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.5081969246031746 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.5154288338221762 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 256 type: dim_256 metrics: - type: cosine_accuracy@1 value: 0.34375 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.53125 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.625 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.78125 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.34375 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.17708333333333331 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.125 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.078125 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.34375 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.53125 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.625 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.78125 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.5435445377294985 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.46991567460317457 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.47944572466147545 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 128 type: dim_128 metrics: - type: cosine_accuracy@1 value: 0.3125 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.5 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.59375 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8125 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.3125 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.16666666666666666 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.11875 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08125000000000002 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.3125 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.5 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.59375 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8125 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.5297064050911114 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.4440972222222222 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.44899217943626085 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 64 type: dim_64 metrics: - type: cosine_accuracy@1 value: 0.21875 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.46875 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.5625 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.71875 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.21875 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.15625 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.11250000000000002 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.07187500000000001 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.21875 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.46875 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.5625 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.71875 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.4468852360082053 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.36266121031746035 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.3716122861304191 name: Cosine Map@100 --- # SentenceTransformer based on VoVanPhuc/sup-SimCSE-VietNamese-phobert-base This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [VoVanPhuc/sup-SimCSE-VietNamese-phobert-base](https://huggingface.co/VoVanPhuc/sup-SimCSE-VietNamese-phobert-base) on the json 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:** [VoVanPhuc/sup-SimCSE-VietNamese-phobert-base](https://huggingface.co/VoVanPhuc/sup-SimCSE-VietNamese-phobert-base) - **Maximum Sequence Length:** 256 tokens - **Output Dimensionality:** 768 dimensions - **Similarity Function:** Cosine Similarity - **Training Dataset:** - json ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) ### 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: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("zxcvo/sup-SimCSE-VietNamese-phobert-base-soc") # Run inference sentences = [ 'Vận hành một chương trình bảo mật yêu cầu các công cụ hỗ trợ kiểm soát thay đổi và theo dõi tài sản dựa trên khung phân loại tài sản.', 'Điều gì là quan trọng nhất khi vận hành một chương trình bảo mật trong một tổ chức?', 'Vì sao Bảo mật Điểm cuối quan trọ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 * Datasets: `dim_768`, `dim_512`, `dim_256`, `dim_128` and `dim_64` * Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator) | Metric | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 | |:--------------------|:-----------|:-----------|:-----------|:-----------|:-----------| | cosine_accuracy@1 | 0.375 | 0.4062 | 0.3438 | 0.3125 | 0.2188 | | cosine_accuracy@3 | 0.5312 | 0.5 | 0.5312 | 0.5 | 0.4688 | | cosine_accuracy@5 | 0.5938 | 0.625 | 0.625 | 0.5938 | 0.5625 | | cosine_accuracy@10 | 0.8438 | 0.8438 | 0.7812 | 0.8125 | 0.7188 | | cosine_precision@1 | 0.375 | 0.4062 | 0.3438 | 0.3125 | 0.2188 | | cosine_precision@3 | 0.1771 | 0.1667 | 0.1771 | 0.1667 | 0.1562 | | cosine_precision@5 | 0.1187 | 0.125 | 0.125 | 0.1187 | 0.1125 | | cosine_precision@10 | 0.0844 | 0.0844 | 0.0781 | 0.0813 | 0.0719 | | cosine_recall@1 | 0.375 | 0.4062 | 0.3438 | 0.3125 | 0.2188 | | cosine_recall@3 | 0.5312 | 0.5 | 0.5312 | 0.5 | 0.4688 | | cosine_recall@5 | 0.5938 | 0.625 | 0.625 | 0.5938 | 0.5625 | | cosine_recall@10 | 0.8438 | 0.8438 | 0.7812 | 0.8125 | 0.7188 | | **cosine_ndcg@10** | **0.5757** | **0.5859** | **0.5435** | **0.5297** | **0.4469** | | cosine_mrr@10 | 0.4942 | 0.5082 | 0.4699 | 0.4441 | 0.3627 | | cosine_map@100 | 0.5025 | 0.5154 | 0.4794 | 0.449 | 0.3716 | ## Training Details ### Training Dataset #### json * Dataset: json * Size: 288 training samples * Columns: positive and anchor * Approximate statistics based on the first 288 samples: | | positive | anchor | |:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | positive | anchor | |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------| | Tường lửa bảo vệ hệ thống mạng bằng cách kiểm soát và lọc lưu lượng truy cập, ngăn chặn truy cập từ các nguồn không tin cậy và bảo vệ hệ thống khỏi các cuộc tấn công từ bên ngoài. | Tường lửa bảo vệ hệ thống mạng như thế nào? | | Giám sát mạng giúp bảo vệ hệ thống CNTT bằng cách theo dõi lưu lượng truy cập, phát hiện các hành vi bất thường, và ngăn chặn các cuộc tấn công trước khi chúng có thể gây hại. | Giám sát mạng có vai trò gì trong bảo vệ hệ thống CNTT? | | SIEM giúp cải thiện an ninh mạng của tổ chức bằng cách thu thập, phân tích và tương quan các sự kiện bảo mật từ nhiều nguồn khác nhau, từ đó phát hiện và cảnh báo kịp thời về các mối đe dọa, hỗ trợ xử lý sự cố nhanh chóng và hiệu quả. | SIEM giúp cải thiện an ninh mạng của tổ chức như thế nào? | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 512, 256, 128, 64 ], "matryoshka_weights": [ 1, 1, 1, 1, 1 ], "n_dims_per_step": -1 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: epoch - `per_device_train_batch_size`: 32 - `gradient_accumulation_steps`: 16 - `learning_rate`: 2e-05 - `num_train_epochs`: 4 - `bf16`: True - `load_best_model_at_end`: True #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: epoch - `prediction_loss_only`: True - `per_device_train_batch_size`: 32 - `per_device_eval_batch_size`: 8 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 16 - `eval_accumulation_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`: 4 - `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`: 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`: 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`: 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 - `prompts`: None - `batch_sampler`: batch_sampler - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | dim_768_cosine_ndcg@10 | dim_512_cosine_ndcg@10 | dim_256_cosine_ndcg@10 | dim_128_cosine_ndcg@10 | dim_64_cosine_ndcg@10 | |:-------:|:-----:|:----------------------:|:----------------------:|:----------------------:|:----------------------:|:---------------------:| | 1.0 | 1 | 0.5303 | 0.5220 | 0.4952 | 0.4562 | 0.3810 | | 2.0 | 3 | 0.5724 | 0.5737 | 0.5431 | 0.5142 | 0.4448 | | **3.0** | **4** | **0.5757** | **0.5859** | **0.5435** | **0.5297** | **0.4469** | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.11.9 - Sentence Transformers: 3.3.1 - Transformers: 4.41.2 - PyTorch: 2.5.1+cu124 - Accelerate: 1.1.1 - Datasets: 2.19.1 - Tokenizers: 0.19.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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 ```bibtex @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 ```bibtex @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} } ```