metadata
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- dense
- generated_from_trainer
- dataset_size:5049
- loss:MultipleNegativesRankingLoss
base_model: google/embeddinggemma-300m
widget:
- source_sentence: Lệnh `print("đồ rê mi "*3 + "pha son la si đô "*2)` sẽ in ra kết quả gì?
sentences:
- >-
Trong khi hầu hết các phép toán được tính từ trái qua phải, phép toán
lũy thừa lại được tính theo hướng ngược lại.
- >-
Giải thích kết quả của việc lặp lại chuỗi 'đồ rê mi' 3 lần và nối với
chuỗi 'pha son la si đô' được lặp lại 2 lần trong Python.
- >-
Một địa chỉ IP là một nhãn số được gán cho mỗi thiết bị tham gia vào một
mạng máy tính sử dụng Giao thức Internet để giao tiếp.
- source_sentence: Sự khác biệt giữa virus và worm là gì?
sentences:
- >-
Thuật toán sắp xếp nổi bọt hoạt động bằng cách lặp đi lặp lại qua danh
sách để đưa phần tử lớn nhất về cuối.
- Nêu điểm khác nhau cơ bản giữa virus và sâu máy tính.
- >-
Mỗi kết quả nhân riêng phần được đặt căn phải theo đúng vị trí của chữ
số tương ứng ở thừa số thứ hai.
- source_sentence: Tại sao câu lệnh `if = 12` lại gây ra lỗi cú pháp trong Python?
sentences:
- >-
Lí do Python báo lỗi khi một định danh được đặt tên trùng với từ khoá
`if` là gì?
- >-
Trình bày quy trình ba bước để thêm một đối tượng có sẵn như hình chữ
nhật vào vùng làm việc.
- >-
Mạng máy tính là tập hợp các máy tính được kết nối với nhau theo một
phương thức nào đó để trao đổi dữ liệu và chia sẻ tài nguyên.
- source_sentence: >-
Tại sao việc Hoàng mua USB chứa nhạc sưu tầm từ Internet lại là hành vi vi
phạm bản quyền?
sentences:
- >-
Hãy cho biết quy tắc chuyển đổi giữa các đơn vị đo lường dữ liệu liền kề
trong máy tính.
- >-
Giải thích lý do hành động mua thẻ nhớ USB chứa video âm nhạc không có
thoả thuận với tác giả của Hoàng bị coi là vi phạm quyền tác giả.
- >-
Địa chỉ IP là một địa chỉ đơn nhất mà các thiết bị điện tử sử dụng để
nhận diện và liên lạc với nhau trên mạng máy tính.
- source_sentence: Khi không tìm thấy xâu con, phương thức find() trả về giá trị nào?
sentences:
- >-
Trong Python, việc đánh chỉ số cho các phần tử của list bắt đầu từ số
mấy?
- Nếu không tìm thấy chuỗi cần tìm, lệnh find() sẽ trả về kết quả là -1.
- >-
Thuật toán sắp xếp nổi bọt hoạt động bằng cách lặp lại việc so sánh các
cặp phần tử liền kề và hoán đổi chúng nếu chúng không theo đúng thứ tự.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
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
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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")
# Run inference
queries = [
"Khi kh\u00f4ng t\u00ecm th\u1ea5y x\u00e2u con, ph\u01b0\u01a1ng th\u1ee9c find() tr\u1ea3 v\u1ec1 gi\u00e1 tr\u1ecb n\u00e0o?",
]
documents = [
'Nếu không tìm thấy chuỗi cần tìm, lệnh find() sẽ trả về kết quả là -1.',
'Thuật toán sắp xếp nổi bọt hoạt động bằng cách lặp lại việc so sánh các cặp phần tử liền kề và hoán đổi chúng nếu chúng không theo đúng thứ tự.',
'Trong Python, việc đánh chỉ số cho các phần tử của list bắt đầu từ số mấy?',
]
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.9839, -0.7615, 0.8913]])
Training Details
Training Dataset
Unnamed Dataset
- Size: 5,049 training samples
- Columns:
anchor,positive, andnegative - Approximate statistics based on the first 1000 samples:
anchor positive negative type string string string details - min: 6 tokens
- mean: 19.58 tokens
- max: 49 tokens
- min: 12 tokens
- mean: 30.62 tokens
- max: 88 tokens
- min: 11 tokens
- mean: 27.64 tokens
- max: 51 tokens
- Samples:
anchor positive negative Thứ tự học các chủ đề trong sách Tin học 10 Kết nối tri thức có bắt buộc không?Trừ một ngoại lệ, việc lựa chọn chủ đề nào học trước, chủ đề nào sau có thể được thực hiện tuỳ theo điều kiện thực tế.Sự khác biệt giữa RAM và ROM là gì?Chủ đề nào cần được học sau cùng theo khuyến nghị của sách?Chủ đề 6, Hướng nghiệp với tin học, nên được học sau các Chủ đề 4 và Chủ đề 5.Làm thế nào để cài đặt hệ điều hành Windows 11 từ USB?Các chủ đề trong sách giáo khoa được thiết kế với mối liên hệ như thế nào?Các chủ đề của sách giáo khoa được thiết kế tương đối độc lập với nhau.Thuật toán sắp xếp nổi bọt hoạt động ra sao? - Loss:
MultipleNegativesRankingLosswith these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim", "gather_across_devices": false }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 1learning_rate: 2e-05num_train_epochs: 5warmup_ratio: 0.1prompts: task: sentence similarity | query:
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 1per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 5max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: task: sentence similarity | query:batch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss |
|---|---|---|
| 1.0 | 5049 | 0.3526 |
| 2.0 | 10098 | 0.3095 |
| 3.0 | 15147 | 0.198 |
| 4.0 | 20196 | 0.0947 |
| 5.0 | 25245 | 0.0213 |
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}
}