hienNguyen197's picture
Add new SentenceTransformer model
f06242b verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - dense
  - generated_from_trainer
  - dataset_size:2550
  - loss:MultipleNegativesRankingLoss
base_model: google/embeddinggemma-300m
widget:
  - source_sentence: Những khó khăn chính  tiểu thủ công nghiệp gặp phải sau cải tạo  gì?
    sentences:
      - Cải tạo đã mang lại những lợi ích  cho tiểu thủ công nghiệp?
      - >-
        Tên gọi của Làng Phù Lưu trong thế kỷ 17 là gì và quá trình nó trở thành
        một trung tâm giao thương diễn ra ra sao?
      - >-
        Sau cải tạo, đâu là những trở ngại lớn nhất đối với các ngành tiểu thủ
        công nghiệp?
  - source_sentence: >-
      Vai trò của thủy quân mạnh đối với chiến lược quân sự của nhà Trần trong
      các cuộc kháng chiến chống ngoại xâm là gì?
    sentences:
      - >-
        Nhà Trần đã có những biện pháp nào để bảo vệ đất nước trước các cuộc tấn
        công từ phương Bắc?
      - >-
        Số mẫu ruộng mà hậu duệ nhà Lê ở Bố Vệ và hậu duệ họ Trịnh ở Vĩnh Lộc
        nhận được trong đợt ban cấp tự điền đầu tiên năm 1802 là bao nhiêu?
      - >-
        Tầm quan trọng của lực lượng hải quân hùng mạnh trong kế sách phòng thủ
        của triều đại nhà Trần khi đối mặt với quân xâm lược là như thế nào?
  - source_sentence: >-
      Đàm Dĩ Mông đã mô tả tình hình của tăng đồ trong xã hội năm 1198 như thế
      nào, bao gồm số lượng và hành vi của họ?
    sentences:
      - Đàm  Mông đã  tả tình hình kinh tế của  hội năm 1198 như thế nào?
      - >-
        Đàm Dĩ Mông đã trình bày về số lượng cũng như cách hành xử của các tăng
        lữ trong xã hội vào năm 1198 ra sao?
      - Hoàng hậu Trần Thị Tùng đã chết bằng cách nào   nơi nào?
  - source_sentence: >-
      Chính cương của Đảng Lao động Việt Nam thể hiện tư duy biện chứng dựa trên
      những cơ sở lý luận nào và được vận dụng vào bối cảnh lịch sử nào?
    sentences:
      - Thành tựu kinh tế của Việt Nam dưới thời Đảng Lao động Việt Nam  gì?
      - >-
        Những khó khăn chủ yếu mà công tác phổ cập giáo dục tiểu học tại Việt
        Nam gặp phải trong niên khóa 1984-1985 là gì?
      - >-
        Chính cương của Đảng Lao động Việt Nam dựa trên những nền tảng lý luận
        nào và được áp dụng trong bối cảnh lịch sử cụ thể nào?
  - source_sentence: Chính cương mới của Mặt trận Liên Việt bao gồm những điểm chính nào?
    sentences:
      - Mặt trận Liên Việt được thành lập khi nào  với mục đích gì?
      - >-
        Những nội dung cốt lõi trong cương lĩnh mới của Mặt trận Liên Việt là
        gì?
      - >-
        Theo ghi chép của Phan Huy Chú, việc thành lập chính quyền cấp huyện bắt
        đầu từ khi nào và những chức vụ nào đã được thiết lập?
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 google/embeddinggemma-300m
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: Unknown
          type: unknown
        metrics:
          - type: cosine_accuracy@1
            value: 0.642
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.784
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.83
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.89
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.642
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2633333333333333
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1688
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09140000000000001
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.13466666666666666
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.16643333333333335
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.17820000000000003
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.19346666666666668
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.2706834641447498
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7229222222222219
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.15743439370685985
            name: Cosine Map@100

SentenceTransformer based on google/embeddinggemma-300m

This is a sentence-transformers model finetuned from google/embeddinggemma-300m. 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: google/embeddinggemma-300m
  • Maximum Sequence Length: 2048 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'Gemma3TextModel'})
  (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): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (4): 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("hienNguyen197/my-embedding-gemma-v2-5e")
# Run inference
queries = [
    "Ch\u00ednh c\u01b0\u01a1ng m\u1edbi c\u1ee7a M\u1eb7t tr\u1eadn Li\u00ean Vi\u1ec7t bao g\u1ed3m nh\u1eefng \u0111i\u1ec3m ch\u00ednh n\u00e0o?",
]
documents = [
    'Những nội dung cốt lõi trong cương lĩnh mới của Mặt trận Liên Việt là gì?',
    'Mặt trận Liên Việt được thành lập khi nào và với mục đích gì?',
    'Theo ghi chép của Phan Huy Chú, việc thành lập chính quyền cấp huyện bắt đầu từ khi nào và những chức vụ nào đã được thiết lập?',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.7599, 0.2138, 0.0481]])

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.642
cosine_accuracy@3 0.784
cosine_accuracy@5 0.83
cosine_accuracy@10 0.89
cosine_precision@1 0.642
cosine_precision@3 0.2633
cosine_precision@5 0.1688
cosine_precision@10 0.0914
cosine_recall@1 0.1347
cosine_recall@3 0.1664
cosine_recall@5 0.1782
cosine_recall@10 0.1935
cosine_ndcg@10 0.2707
cosine_mrr@10 0.7229
cosine_map@100 0.1574

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,550 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 14 tokens
    • mean: 32.02 tokens
    • max: 75 tokens
    • min: 13 tokens
    • mean: 32.76 tokens
    • max: 85 tokens
    • min: 12 tokens
    • mean: 25.99 tokens
    • max: 53 tokens
  • Samples:
    anchor positive negative
    Tổng thống Giônxơn đã thực hiện những biện pháp tạm thời nào trong một năm để giải quyết tình hình Nam Việt Nam? Trong vòng một năm, Tổng thống Giônxơn đã áp dụng những hành động nhất thời nào để xử lý vấn đề ở miền Nam Việt Nam? Tổng thống Kennedy đã có những chính sách gì cho Việt Nam Cộng hòa trước năm 1963?
    Chính phủ Mỹ và Nam Việt Nam bắt đầu thi hành các kế hoạch gây áp lực quân sự ngấm ngầm chống lại Bắc Việt Nam vào tháng mấy năm 1964? Chính phủ Hoa Kỳ và Việt Nam Cộng hòa đã bắt đầu thực hiện các chiến dịch quân sự bí mật nhắm vào Bắc Việt Nam vào thời điểm nào trong năm 1964? Năm 1964, hai miền Nam Bắc Việt Nam đã tổ chức những hội nghị ngoại giao nào để thảo luận về việc chấm dứt xung đột?
    Mỹ đã mở những cuộc tiến công quân sự cụ thể nào ở Việt Nam nhằm gây áp lực quân sự không công khai chống lại Việt Nam Dân chủ Cộng hòa? Hãy liệt kê các hành động quân sự bí mật mà Hoa Kỳ đã thực hiện tại Việt Nam để gây sức ép lên Việt Nam Dân chủ Cộng hòa. Mỹ đã triển khai những chiến dịch quân sự công khai nào trong cuộc chiến tranh ở Việt Nam?
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • learning_rate: 2e-05
  • num_train_epochs: 5
  • warmup_ratio: 0.1
  • load_best_model_at_end: True
  • prompts: task: sentence similarity | query:

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • 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.0
  • 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: 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: 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}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • 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
  • hub_revision: None
  • 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
  • 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
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: task: sentence similarity | query:
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss cosine_ndcg@10
0.6270 200 0.0534 -
1.0 319 - 0.2276
1.2539 400 0.064 -
1.8809 600 0.0318 -
2.0 638 - 0.2681
2.5078 800 0.0097 -
3.0 957 - 0.2606
3.1348 1000 0.0033 -
3.7618 1200 0.0003 -
4.0 1276 - 0.2728
4.3887 1400 0.0011 -
5.0 1595 - 0.2707
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.1.2
  • Transformers: 4.57.0.dev0
  • PyTorch: 2.8.0+cu126
  • Accelerate: 1.11.0
  • Datasets: 4.0.0
  • Tokenizers: 0.22.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}
}