Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
12
This is a sentence-transformers model finetuned from BAAI/bge-m3. It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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): 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("strongpear/M3-retriever-Wiki")
# Run inference
sentences = [
'Quận Sông Bé được thành lập vào thời điểm nào và dựa trên cơ sở nào?',
'Quận Sông Bé được thành lập theo Nghị định của Toàn quyền Đông Dương ngày 25 tháng 10 năm 1927 trên cơ sở đổi tên quận Phú Riềng (thuộc tỉnh Biên Hòa) và chuyển quận lị về Bu Kroai (nay thuộc xã Đức Hạnh, huyện Bù Gia Mập).\nNgày 20 tháng 5 năm 1933, cùng với việc chuyển quận lị Sông Bé về núi Bà Rá, quận Sông Bé được đổi tên thành quận Núi Bà Rá.\nQuận Núi Bà Rá được nâng cấp thành tỉnh Phước Long theo Sắc lệnh số 143-NV ngày 22 tháng 10 năm 1956 do Tổng thống Việt Nam Cộng hòa ký, chia Nam phần thành 22 tỉnh. Tỉnh lỵ tỉnh Phước Long đặt tại Phước Bình, về mặt hành chính thuộc xã Sơn Giang, quận Phước Bình (nay là khu vực trung tâm thị xã Phước Long). Địa bàn quận Sông Bé nay thuộc tỉnh Bình Phước.',
'Mạng lưới sông rạch.\nToàn huyện có 355\xa0km kênh mương thủy lợi chính, gồm 80\xa0km kênh cấp I và 275\xa0km kênh cấp II, bình quân 1 ha đất canh tác có 12,62m kênh mương thủy lợi.\nDo nằm ven sông Cổ Chiên và có cù lao Hoà Minh – Long Hoà chạy dài ra sát cửa Cung Hầu nên huyện Châu Thành chịu ảnh hưởng chế độ bán nhật trìêu của biển Đông, thông qua đoạn sông Cổ Chiên vào các hệ thống sông rạch lớn như: Láng Thé – Ba Si – Ô Chát, sông Trà Vinh – Kinh Thống Nhất hệ Tầm Phương, sông Bãi Vàng – Vinh Kim. Ngoài ra, do yêu cầu tiếp ngọt với hai cống ngăn mặn Đa Lộc, Hiệp Hòa vào mùa khô, nguồn nước từ Cầu Quan (sông Hậu) được đưa sang kinh Thống Nhất và Trà Vinh. Trong ngày nước lên xuống hai lần, mỗi tháng có 2 lần triều cường sau ngày 1 và ngày 15 âl và 2 lần triều kèm sau ngày 7 và 23 âl (từ 2 đến 3 ngày), biên độ triều hàng ngày rất lớn, nhất là các khu vực gần cửa sông.\nBiên độ tắt dần khi vào nội đồng, đặc biệt vào mùa triều cường (tháng 10,12 dương lịch) đối với vùng kinh Thông Nhất qua ngọn Ô Chát chịu ảnh hưởng chung của sông Cổ Chiên và sông Hậu, biên độ triều hàng ngày nhỏ và hầu như không đáng kể vào thời kỳ triều cường nhất trong năm. Một số vùng thấp (Thanh Mỹ – Đa Lộc) có thời gian nước trên đồng không rút được, dù độ ngập không lớn.\nVào mùa khô, triều cường và gió chướng đã đưa nước mặn xâm nhập vào nội đồng, độ mặn trung bình thay đổi từ 2,24‰ -9,96‰ từ cuối tháng 1 đến tháng 6, tuy nhiên tháng tư có độ mặn cao nhất trên 18‰ (Hưng Mỹ). Các cửa sông gần biển thì độ mặn càng cao. Do dự trữ nước nội đồng và nguồn bổ sung từ trên xuống, từ sông Hậu sang nên độ mặn giảm dần khi vào nội đồng.\nHành chính.\nHuyện Châu Thành có 14 đơn vị hành chính cấp xã trực thuộc, bao gồm thị trấn Châu Thành và 13 xã: Đa Lộc, Hòa Lợi, Hòa Minh, Hòa Thuận, Hưng Mỹ, Long Hòa, Lương Hòa, Lương Hòa A, Mỹ Chánh, Nguyệt Hóa, Phước Hảo, Song Lộc, Thanh Mỹ.\nLịch sử.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Adidas đã thực hiện những bước tiến nào trong lĩnh vực giày thể thao từ năm 2005 đến 2006? |
Vào ngày 25 tháng 11 năm 2005, Adidas đã phát hành phiên bản mới của Adidas 1 với phạm vi đệm tăng lên, cho phép giày trở nên mềm hơn hoặc cứng hơn và một động cơ mới có mô-men xoắn lớn hơn 153%. |
Tại sao Hồ Nhất Đao chết và điều gì xảy ra với vợ của ông? |
Không may Miêu Nhân Phụng (cầm đao của Hồ Nhất Đao) làm bị thương Hồ Nhất Đao, thế là Hồ Nhất Đao chết vì bị độc, vợ của Hồ Nhất Đao mới sinh được một đứa con trai - là nhân vật chính Hồ Phỉ - cũng tự sát theo chồng. Bi kịch thù hận bốn họ tạm thời ngưng lại trong sự hối hận của Miêu Nhân Phụng, ông chôn cất vợ chồng Hồ Nhất Đao và hàng năm tế bái, coi họ là anh em, suốt đời ân hận vì đã nỡ tay hại chết tri kỷ. |
Thế hệ thứ nhất của RAF đã thực hiện những hoạt động gì trong giai đoạn 1970-1972? |
Thế hệ thứ nhất. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Pennsylvania được gọi là gì và có những đặc điểm gì liên quan đến chính quyền? |
Ngày nay, hai thành phố lớn của tiểu bang là —Philadelphia, quê hương của chuông Liberty, sảnh Independence, là một khu đô thị sầm uất, và Pittsburgh, một cảng sông bận rộn bên trong lục địa và là một trung tâm lớn cho giáo dục và các tiến bộ kỹ thuật. Dãy núi Pocono và Delaware Water Gap cung cấp các hoạt động giải trí phổ thông. |
Romaja là gì và nó có liên quan như thế nào đến việc ghi tiếng Hàn Quốc? |
Romaja hay cách ghi tiếng Hàn Quốc (Triều Tiên) bằng chữ latinh là các phương pháp ghi tiếng Triều Tiên bằng chữ cái Latinh. Romaja có nghĩa là "La Mã tự" hay "chữ La Mã". Romaja quốc ngữ là phương pháp nhiều người thường dùng nhất. |
Tây Sơn có vai trò gì trong địa lý của Bắc Kinh? |
Địa lý. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 32per_device_eval_batch_size: 32num_train_epochs: 1warmup_ratio: 0.1bf16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_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: Truefp16: 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}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | Validation Loss |
|---|---|---|---|
| 0.0431 | 200 | 0.0372 | 0.0122 |
| 0.0862 | 400 | 0.0226 | 0.0162 |
| 0.1293 | 600 | 0.0305 | 0.0181 |
| 0.1724 | 800 | 0.0351 | 0.0205 |
| 0.2155 | 1000 | 0.0326 | 0.0171 |
| 0.2586 | 1200 | 0.0289 | 0.0156 |
| 0.3017 | 1400 | 0.028 | 0.0169 |
| 0.3448 | 1600 | 0.0273 | 0.0199 |
| 0.3878 | 1800 | 0.0216 | 0.0180 |
| 0.4309 | 2000 | 0.0252 | 0.0122 |
| 0.4740 | 2200 | 0.0213 | 0.0138 |
| 0.5171 | 2400 | 0.0254 | 0.0142 |
| 0.5602 | 2600 | 0.0202 | 0.0155 |
| 0.6033 | 2800 | 0.0168 | 0.0145 |
| 0.6464 | 3000 | 0.0176 | 0.0123 |
| 0.6895 | 3200 | 0.0212 | 0.0123 |
| 0.7326 | 3400 | 0.0166 | 0.0102 |
| 0.7757 | 3600 | 0.0181 | 0.0102 |
| 0.8188 | 3800 | 0.0158 | 0.0086 |
| 0.8619 | 4000 | 0.0151 | 0.0090 |
| 0.9050 | 4200 | 0.0134 | 0.0095 |
| 0.9481 | 4400 | 0.012 | 0.0093 |
| 0.9912 | 4600 | 0.0134 | 0.0090 |
@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{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}
}
Base model
BAAI/bge-m3