Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use htdht/e5_finetuned_mnrl_v2 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("htdht/e5_finetuned_mnrl_v2")
sentences = [
"query: đèn trang trí màu cát",
"passage: Biến Đổi Khí Hậu | \"Biến Đổi Khí Hậu\" là tập thơ của Như Quỳnh de Prelle, một tác giả hiện định cư tại Bỉ. Thơ của bà mang đến một giọng điệu giản dị nhưng mạnh mẽ, phản ánh những trăn trở sâu sắc về cuộc sống qua lăng kính của một lữ khách cô độc trên dòng thời gian. Như Quỳnh de Prelle vượt thoát khỏi những khuôn mẫ | Danh mục: Thơ Ca, Tục Ngữ, Ca Dao, Thành Ngữ | Thương hiệu: NXB Hội Nhà Văn | Giá: 15,105,000 VNĐ",
"passage: Nước Mắm Nhĩ Thuyền Xưa Ăn Dặm 41N 65Ml | Nước mắm nhĩ Thuyền Xưa ăn dặm 65ml là lựa chọn tuyệt vời cho bé yêu. Sản phẩm được làm từ cá cơm tươi và muối biển, bổ sung acid amin, vitamin B3, canxi, sắt, cung cấp dưỡng chất cần thiết cho sự phát triển của trẻ. Với hương vị thơm ngon tự nhiên, nước mắm Thuyền Xưa thích hợp dùng để chấm hoặc ch | Danh mục: Nước Chấm | Thương hiệu: Việt Nam | Giá: 37,100 VNĐ",
"passage: Đèn trang trí | SVANE | nhựa ABS/PP | màu cát | Ø21xC25cm | Đèn trang trí SVANE là lựa chọn hoàn hảo để thắp sáng và tô điểm cho không gian của bạn, cả trong nhà và ngoài trời. Được làm từ nhựa ABS và PP cao cấp, đèn có độ bền cao và khả năng chống chịu tốt. Với màu cát trang nhã và kích thước Ø21xC25cm, đèn tạo điểm nhấn ấm cúng, dễ chịu. Sản phẩm tích hợp | Danh mục: Phụ kiện | Thương hiệu: SVANE | Giá: 499,000 VNĐ"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from intfloat/multilingual-e5-base. 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': 'XLMRobertaModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', '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("sentence_transformers_model_id")
# Run inference
sentences = [
'query: nến điện tealights trắng',
'passage: Nến điện tealights | GERI | sáp nến | trắng | bộ 2 chiếc | Ø6xC3cm | Nến điện tealights GERI là bộ 2 chiếc nến nhỏ gọn, mang đến ánh sáng ấm áp và an toàn cho không gian của bạn. Với màu trắng tinh khôi và kích thước Ø6xC3cm, sản phẩm lý tưởng để trang trí trong nhà, tạo điểm nhấn lãng mạn và ấm cúng. Nến được làm từ sáp nến chất lượng cao, mô phỏng chân thực ánh sán | Danh mục: Nến | Thương hiệu: GERI | Giá: 119,000 VNĐ',
'passage: Bác Hồ Với Việc Bồi Dưỡng Thế Hệ Cách Mạng Cho Đời Sau | "Bác Hồ Với Việc Bồi Dưỡng Thế Hệ Cách Mạng Cho Đời Sau" là tập hợp những câu chuyện lịch sử ý nghĩa, tập trung vào vai trò và tầm nhìn của Chủ tịch Hồ Chí Minh đối với thế hệ trẻ. Suốt hành trình cách mạng, Bác luôn tin tưởng vào sức mạnh và vai trò của thanh niên, thể hiện qua câu nói bất hủ "Đâu | Danh mục: Lịch Sử - Địa Lý | Thương hiệu: NXB Trẻ | Giá: 7,125,000 VNĐ',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.7444, -0.1016],
# [ 0.7444, 1.0000, -0.1146],
# [-0.1016, -0.1146, 1.0000]])
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| modality | text | text |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
query: laptop Ultra 7 |
passage: Laptop Lenovo ThinkPad X1 Carbon Gen 13 - 21NS010FVN (Ultra 7 256V, 16GB, 512GB, 2.8K OLED 120Hz, Win11Pro) | Trải nghiệm sự tinh tế và hiệu năng vượt trội với Laptop Lenovo ThinkPad X1 Carbon Gen 13 - 21NS010FVN. Trang bị bộ vi xử lý Intel Core Ultra 7 256V mạnh mẽ, 16GB RAM và ổ cứng SSD 512GB, chiếc laptop này đáp ứng mọi nhu cầu từ công việc phức tạp đến giải trí đỉnh cao. Màn hình 2.8K OLED tần số quét | Danh mục: Laptop Lenovo | Thương hiệu: Lenovo | Giá: 62,790,000 VNĐ |
query: laptop rtx 3050 |
passage: Laptop Acer Gaming Nitro V 15 ProPanel ANV15 41 R0FE - NH.QPFSV.005 (R7 7735HS, 16GB, 512GB, RTX 3050 6GB, Full HD 180Hz, Win11) | Trải nghiệm hiệu năng gaming ấn tượng với Laptop Acer Gaming Nitro V 15 ProPanel ANV15 41 R0FE. Máy được trang bị bộ vi xử lý AMD Ryzen 7 7735HS mạnh mẽ, cùng card đồ họa NVIDIA GeForce RTX 3050 6GB GDDR6, mang đến khả năng xử lý đồ họa tốt cho các tựa game phổ biến. Màn hình 15.6 inch Full HD với t | Danh mục: Laptop Acer | Thương hiệu: Acer | Giá: 29,690,000 VNĐ |
query: đèn thông minh cho phòng ngủ |
passage: Đèn ngủ thông minh Xiaomi Mi Bedside Lamp 2 | Mang đến không gian ấm cúng và thư giãn cho phòng ngủ của bạn với Đèn ngủ thông minh Xiaomi Mi Bedside Lamp 2. Sản phẩm chính hãng Xiaomi, nổi bật với khả năng điều chỉnh ánh sáng đa dạng, từ dịu nhẹ đến tươi sáng, phù hợp với mọi nhu cầu sử dụng. Thiết kế tối giản, hiện đại, dễ dàng hòa hợp với mọi | Danh mục: Đèn thông minh Xiaomi | Thương hiệu: Xiaomi | Giá: 850,000 VNĐ |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false,
"directions": [
"query_to_doc"
],
"partition_mode": "joint",
"hardness_mode": null,
"hardness_strength": 0.0
}
per_device_train_batch_size: 32num_train_epochs: 1per_device_eval_batch_size: 32multi_dataset_batch_sampler: round_robinper_device_train_batch_size: 32num_train_epochs: 1max_steps: -1learning_rate: 5e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: 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: 1label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_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: 32prediction_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: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.7825 | 500 | 0.0085 |
@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{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
Base model
intfloat/multilingual-e5-base