Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup
Paper • 2101.06983 • Published • 2
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 retrieval.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'Gemma3TextModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', 'include_prompt': True})
(2): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'module_input_name': 'sentence_embedding', 'module_output_name': 'sentence_embedding'})
(3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'module_input_name': 'sentence_embedding', 'module_output_name': 'sentence_embedding'})
(4): Normalize({})
)
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("quockhangdev/EmbeddingGemma-300m-Stage-1-model")
# Run inference
queries = [
'Bộ Tài chính quy định công ty xổ số điện toán phải kiểm tra, bảo dưỡng hệ thống xổ số điện toán bao nhiêu lần trong một năm?',
]
documents = [
'đ) Được công ty xổ số điện toán kiểm tra, bảo dưỡng định kỳ theo khuyến cáo của nhà sản xuất và quy định của công ty xổ số điện toán nhưng tối đa sáu (06) tháng một lần. 3. Hệ thống camera, màn hình để phục vụ cho việc giám sát quay số mở thưởng điện tử được bố trí ở những vị trí đảm bảo có thể giám sát quay số mở thưởng. Hình ảnh theo dõi qua camera được lưu giữ trong thời gian tối thiểu là sáu mươi (60) ngày, kể từ ngày quay số mở thưởng.',
'Khoản 1. Cấp công trình quy định tại Thông tư này được xác định theo các tiêu chí sau: a) Mức độ quan trọng, quy mô công suất: Áp dụng cho từng công trình độc lập hoặc một tổ hợp các công trình hoặc một dây chuyền công nghệ gồm nhiều hạng mục thuộc dự án đầu tư xây dựng công trình theo các loại công trình quy định tại Phụ lục I Thông tư này; b) Quy mô kết cấu: Áp dụng cho từng công trình độc lập thuộc dự án đầu tư xây dựng công trình theo các loại kết cấu quy định tại Phụ lục II Thông tư này.',
'Điều 10. Tổ chức kiểm tra việc phân hạng và công nhận hạng nhà chung cư 1. Cục Quản lý nhà và thị trường bất động sản tổ chức thực hiện kiểm tra hoặc chủ trì, phối hợp với các cơ quan, đơn vị chức năng thuộc Bộ Xây dựng và các Bộ, ngành có liên quan tổ chức kiểm tra định kỳ hoặc đột xuất việc phân hạng và công nhận hạng nhà chung cư trên phạm vi cả nước. 2. Sở Xây dựng các tỉnh, thành phố trực thuộc trung ương tổ chức thực hiện kiểm tra hoặc chủ trì, phối hợp với các cơ quan chức năng tại địa phương tổ chức kiểm tra định kỳ hoặc đột xuất việc phân hạng và công nhận hạng nhà chung cư trên địa bàn.',
]
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.6025, -0.0826, 0.0888]])
query and document| query | document | |
|---|---|---|
| type | string | string |
| details |
|
|
| query | document |
|---|---|
Bộ Giao thông vận tải quy định các đơn vị kinh doanh vận tải nào phải lắp đặt thiết bị giám sát hành trình trên xe ô tô? |
Chương I. QUY ĐỊNH CHUNG Điều 1. Phạm vi điều chỉnh. Thông tư này quy định về cung cấp, quản lý và sử dụng dữ liệu từ thiết bị giám sát hành trình của xe ô tô sau (sau đây gọi chung là thiết bị giám sát hành trình). Điều 2. Đối tượng áp dụng. Thông tư này áp dụng đối với các đơn vị kinh doanh vận tải, bến xe khách, bến xe hàng, các đơn vị cung cấp dịch vụ giám sát hành trình và các cơ quan, tổ chức, cá nhân có liên quan đến việc cung cấp, quản lý và sử dụng dữ liệu từ thiết bị giám sát hành trình của xe ô tô trong phạm vi toàn quốc. Điều 3. Giải thích từ ngữ. Trong Thông tư này, các từ ngữ dưới đây được hiểu như sau: 1. Hệ thống thông tin: là tập hợp các thiết bị phần cứng, phần mềm và đường truyền dùng để thu nhận, quản lý, khai thác dữ liệu từ thiết bị giám sát hành trình. 2. Dữ liệu: là tập hợp các thông tin có cấu trúc được truyền từ thiết bị giám sát hành trình về máy chủ dịch vụ và từ máy chủ dịch vụ truyền về Tổng cục Đường bộ Việt Nam. |
Bộ Giao thông vận tải giải thích như thế nào về các từ ngữ như 'hệ thống thông tin' và 'dữ liệu' trong quy định về thiết bị giám sát hành trình? |
Chương I. QUY ĐỊNH CHUNG Điều 1. Phạm vi điều chỉnh. Thông tư này quy định về cung cấp, quản lý và sử dụng dữ liệu từ thiết bị giám sát hành trình của xe ô tô sau (sau đây gọi chung là thiết bị giám sát hành trình). Điều 2. Đối tượng áp dụng. Thông tư này áp dụng đối với các đơn vị kinh doanh vận tải, bến xe khách, bến xe hàng, các đơn vị cung cấp dịch vụ giám sát hành trình và các cơ quan, tổ chức, cá nhân có liên quan đến việc cung cấp, quản lý và sử dụng dữ liệu từ thiết bị giám sát hành trình của xe ô tô trong phạm vi toàn quốc. Điều 3. Giải thích từ ngữ. Trong Thông tư này, các từ ngữ dưới đây được hiểu như sau: 1. Hệ thống thông tin: là tập hợp các thiết bị phần cứng, phần mềm và đường truyền dùng để thu nhận, quản lý, khai thác dữ liệu từ thiết bị giám sát hành trình. 2. Dữ liệu: là tập hợp các thông tin có cấu trúc được truyền từ thiết bị giám sát hành trình về máy chủ dịch vụ và từ máy chủ dịch vụ truyền về Tổng cục Đường bộ Việt Nam. |
Pháp luật quy định như thế nào về việc thu nhận, quản lý và khai thác dữ liệu từ thiết bị giám sát hành trình của xe ô tô? |
Chương I. QUY ĐỊNH CHUNG Điều 1. Phạm vi điều chỉnh. Thông tư này quy định về cung cấp, quản lý và sử dụng dữ liệu từ thiết bị giám sát hành trình của xe ô tô sau (sau đây gọi chung là thiết bị giám sát hành trình). Điều 2. Đối tượng áp dụng. Thông tư này áp dụng đối với các đơn vị kinh doanh vận tải, bến xe khách, bến xe hàng, các đơn vị cung cấp dịch vụ giám sát hành trình và các cơ quan, tổ chức, cá nhân có liên quan đến việc cung cấp, quản lý và sử dụng dữ liệu từ thiết bị giám sát hành trình của xe ô tô trong phạm vi toàn quốc. Điều 3. Giải thích từ ngữ. Trong Thông tư này, các từ ngữ dưới đây được hiểu như sau: 1. Hệ thống thông tin: là tập hợp các thiết bị phần cứng, phần mềm và đường truyền dùng để thu nhận, quản lý, khai thác dữ liệu từ thiết bị giám sát hành trình. 2. Dữ liệu: là tập hợp các thông tin có cấu trúc được truyền từ thiết bị giám sát hành trình về máy chủ dịch vụ và từ máy chủ dịch vụ truyền về Tổng cục Đường bộ Việt Nam. |
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"mini_batch_size": 64,
"gather_across_devices": true,
"directions": [
"query_to_doc"
],
"partition_mode": "joint",
"hardness_mode": null,
"hardness_strength": 0.0
}
per_device_train_batch_size: 1024num_train_epochs: 1learning_rate: 2e-05warmup_steps: 0.1bf16: Trueuse_liger_kernel: Truedataloader_num_workers: 8dataloader_persistent_workers: Trueremove_unused_columns: Falsetrain_sampling_strategy: group_by_lengthddp_find_unused_parameters: Falseprompts: {'query': 'task: search result | query: ', 'document': 'title: none | text: ', 'BitextMining': 'task: search result | query: ', 'Clustering': 'task: clustering | query: ', 'Classification': 'task: classification | query: ', 'InstructionRetrieval': 'task: code retrieval | query: ', 'MultilabelClassification': 'task: classification | query: ', 'PairClassification': 'task: sentence similarity | query: ', 'Reranking': 'task: search result | query: ', 'Retrieval': 'task: search result | query: ', 'Retrieval-query': 'task: search result | query: ', 'Retrieval-document': 'title: none | text: ', 'STS': 'task: sentence similarity | query: ', 'Summarization': 'task: summarization | query: '}batch_sampler: no_duplicatesper_device_train_batch_size: 1024num_train_epochs: 1max_steps: -1learning_rate: 2e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.1optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Truefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Trueliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Truedataloader_num_workers: 8dataloader_pin_memory: Truedataloader_persistent_workers: Truedataloader_prefetch_factor: Noneremove_unused_columns: Falselabel_names: Nonetrain_sampling_strategy: group_by_lengthlength_column_name: lengthddp_find_unused_parameters: Falseddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}deepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: {'query': 'task: search result | query: ', 'document': 'title: none | text: ', 'BitextMining': 'task: search result | query: ', 'Clustering': 'task: clustering | query: ', 'Classification': 'task: classification | query: ', 'InstructionRetrieval': 'task: code retrieval | query: ', 'MultilabelClassification': 'task: classification | query: ', 'PairClassification': 'task: sentence similarity | query: ', 'Reranking': 'task: search result | query: ', 'Retrieval': 'task: search result | query: ', 'Retrieval-query': 'task: search result | query: ', 'Retrieval-document': 'title: none | text: ', 'STS': 'task: sentence similarity | query: ', 'Summarization': 'task: summarization | query: '}batch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.0813 | 10 | 1.3416 |
| 0.1626 | 20 | 0.4289 |
| 0.2439 | 30 | 0.3297 |
| 0.3252 | 40 | 0.2884 |
| 0.4065 | 50 | 0.2772 |
| 0.4878 | 60 | 0.2697 |
| 0.5691 | 70 | 0.2608 |
| 0.6504 | 80 | 0.2576 |
| 0.7317 | 90 | 0.2521 |
| 0.8130 | 100 | 0.2496 |
| 0.8943 | 110 | 0.2481 |
| 0.9756 | 120 | 0.2463 |
@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",
}
@misc{gao2021scaling,
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
year={2021},
eprint={2101.06983},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Base model
google/embeddinggemma-300m