hienNguyen197's picture
Add new SentenceTransformer model
b74c89c 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.5516666666666666
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.7083333333333334
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.7866666666666666
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8533333333333334
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.5516666666666666
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.23777777777777775
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.15866666666666668
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08666666666666667
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.11591666666666667
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.14980555555555555
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.16630555555555554
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.18155555555555555
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.2456376232640692
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.6484675925925921
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.14020828630745535
            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-v5-10e")
# 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.8182, 0.3770, 0.1950]])

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.5517
cosine_accuracy@3 0.7083
cosine_accuracy@5 0.7867
cosine_accuracy@10 0.8533
cosine_precision@1 0.5517
cosine_precision@3 0.2378
cosine_precision@5 0.1587
cosine_precision@10 0.0867
cosine_recall@1 0.1159
cosine_recall@3 0.1498
cosine_recall@5 0.1663
cosine_recall@10 0.1816
cosine_ndcg@10 0.2456
cosine_mrr@10 0.6485
cosine_map@100 0.1402

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: 10
  • 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: 10
  • 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.0322 -
1.0 319 - 0.2918
1.2539 400 0.0502 -
1.8809 600 0.055 -
2.0 638 - 0.2086
2.5078 800 0.0233 -
3.0 957 - 0.1779
3.1348 1000 0.0067 -
3.7618 1200 0.0024 -
4.0 1276 - 0.2025
4.3887 1400 0.0025 -
5.0 1595 - 0.2229
5.0157 1600 0.0006 -
5.6426 1800 0.0005 -
6.0 1914 - 0.2329
6.2696 2000 0.0001 -
6.8966 2200 0.0001 -
7.0 2233 - 0.2380
7.5235 2400 0.0 -
8.0 2552 - 0.2448
8.1505 2600 0.0 -
8.7774 2800 0.0 -
9.0 2871 - 0.2460
9.4044 3000 0.0001 -
10.0 3190 - 0.2456
  • 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}
}