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("cristvz01/my-embedding-gemma-retrieval")
# Run inference
queries = [
    "S\u1ef1 k\u1ebft h\u1ee3p gi\u1eefa l\u1ec7nh \u0027for\u0027 v\u00e0 to\u00e1n t\u1eed \u0027in\u0027 c\u00f3 c\u00f4ng d\u1ee5ng g\u00ec?",
]
documents = [
    'Có thể duyệt nhanh từng phần tử của danh sách bằng toán tử in và lệnh for mà không cần sử dụng lệnh range().',
    'Mạng Internet là một hệ thống thông tin toàn cầu gồm các mạng máy tính được liên kết với nhau. Giao thức chính được sử dụng là bộ giao thức TCP/IP, cho phép hàng tỷ người dùng trao đổi thông tin.',
    'Bộ giám sát hành trình trên xe tải hoặc xe khách ghi lại và gửi dữ liệu về tốc độ, toạ độ, và thời gian về máy chủ. Dựa trên các dữ liệu này, người ta có thể phân tích và xác định được các hành vi vi phạm giao thông của tài xế.',
]
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.7963,  0.0521, -0.1181]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 4,631 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 21.06 tokens
    • max: 50 tokens
    • min: 13 tokens
    • mean: 55.19 tokens
    • max: 266 tokens
    • min: 23 tokens
    • mean: 54.13 tokens
    • max: 103 tokens
  • Samples:
    anchor positive negative
    Môn Tin học lớp 10 được chia thành những định hướng nghề nghiệp chính nào? Từ lớp 10, môn Tin học sẽ được phân chia thành hai định hướng nghề nghiệp lớn: Tin học ứng dụng (ICT) và Khoa học máy tính (CS). Định hướng ICT sẽ cung cấp nhiều hơn các kĩ năng sử dụng phần mềm ứng dụng; định hướng CS sẽ cung cấp các kiến thức cơ bản sâu hơn liên quan tới lĩnh vực Khoa học máy tính. Thuật toán là một dãy hữu hạn các chỉ dẫn rõ ràng, có thể thực hiện được để giải quyết một lớp các bài toán. Một thuật toán tốt cần có các tính chất như tính dừng, tính xác định và tính đúng đắn.
    Sự khác nhau cơ bản giữa định hướng Tin học ứng dụng (ICT) và Khoa học máy tính (CS) là gì? Định hướng ICT sẽ cung cấp nhiều hơn các kĩ năng sử dụng phần mềm ứng dụng; định hướng CS sẽ cung cấp các kiến thức cơ bản sâu hơn liên quan tới lĩnh vực Khoa học máy tính. Mạng máy tính là một hệ thống gồm các máy tính và thiết bị được kết nối với nhau bằng các phương tiện truyền dẫn để chia sẻ tài nguyên như dữ liệu, phần mềm, máy in. Các loại mạng phổ biến bao gồm mạng LAN và mạng WAN.
    Cấu trúc của một bài học trong sách giáo khoa Tin học 10 được thiết kế như thế nào? Mỗi bài học đều được bắt đầu bằng một hoạt động khởi động gợi mở, các mạch kiến thức trong nội dung bài học đều được gắn với những hoạt động khám phá kiến thức giúp tăng cường tính chủ động của các em trong học tập. Sau khi hình thành kiến thức là các câu hỏi, bài tập luyện tập và cuối cùng là bài tập vận dụng. Hệ nhị phân là một hệ đếm chỉ sử dụng hai ký tự là 0 và 1. Đây là hệ thống số cơ bản mà máy tính sử dụng để biểu diễn và xử lý thông tin. Mỗi chữ số trong hệ nhị phân được gọi là một bit.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • learning_rate: 2e-05
  • num_train_epochs: 20
  • warmup_ratio: 0.1
  • prompts: task: search result | query:

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • 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: 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: 20
  • 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: False
  • 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: search result | query:
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss
1.0 145 0.0055
2.0 290 0.0054
3.0 435 0.0067
4.0 580 0.0141
5.0 725 0.0048

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.2.2
  • Transformers: 4.57.0.dev0
  • PyTorch: 2.9.0+cu126
  • Accelerate: 1.12.0
  • Datasets: 4.0.0
  • Tokenizers: 0.22.2

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}
}
Downloads last month
10
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for cristvz01/my-embedding-gemma-retrieval

Finetuned
(203)
this model

Papers for cristvz01/my-embedding-gemma-retrieval