zxcvo's picture
Add new SentenceTransformer model
207d1e2 verified
metadata
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  Kinh doanh?
      - Lợi ích của việc sử dụng Xác thực Hai Yếu tố (2FA)  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  thể cung cấp thông tin  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  vai trò gì?
      -  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 model finetuned from 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
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json

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("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

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
    • min: 14 tokens
    • mean: 49.27 tokens
    • max: 73 tokens
    • min: 9 tokens
    • mean: 20.08 tokens
    • max: 33 tokens
  • 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 with these parameters:
    {
        "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

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