加载中…
加载中…
The hard-negative bag-of-documents reranker:
all-MiniLM-L6-v2fine-tuned with MultipleNegativesRankingLoss on bag-derived pairs mined with FAISS hard negatives (Amazon ESCI). Part of the bag-of-documents retrieval research; see the live demo.
This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-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': 256, 'do_lower_case': False, 'architecture': 'BertModel'})
(1): Pooling({'word_embedding_dimension': 384, '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): 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 = [
'course coffee grinder',
'Bodum BISTRO Blade Grinder, Electric Blade Coffee Grinder, Black',
'Hamilton Beach Fresh Grind Electric Coffee Grinder for Beans, Spices and More, Stainless Steel Blades, Removable Chamber, Makes up to 12 Cups, Black',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.6150, 0.5448],
# [0.6150, 1.0000, 0.7990],
# [0.5448, 0.7990, 1.0000]])
sentence_0, sentence_1, and sentence_2| sentence_0 | sentence_1 | sentence_2 | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| sentence_0 | sentence_1 | sentence_2 |
|---|---|---|
mens sweater burgundy medium |
Shephe 4 Ply Men's V Neck Cashmere Sweater Burgundy XXX-Large |
Amazon Essentials Men's Standard Crewneck Sweater, Burgundy, XS |
shoe covers |
Yueiehe 5 Pairs (10 Pieces) Multi-Function Dust Duster Mop Slippers Shoes Cover, Soft Washable Reusable Microfiber Foot Socks Floor Cleaning Tools Shoe Cover |
Nirohee Silicone Shoes Covers, Shoe Covers, Rain Boots Reusable Easy to Carry for Women, Men, Kids. (Black, L) |
wrench organizer drawer |
ABN Magnetic Wrench Organizer - 4 Piece Tool Box Drawer Organizer Tray Wrench Rack Magnetic Tool Box Accessories |
Whitmor 6-Section Clear Drawer Organizer |
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: 64per_device_eval_batch_size: 64multi_dataset_batch_sampler: round_robinper_device_train_batch_size: 64num_train_epochs: 3max_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: trackioeval_strategy: noper_device_eval_batch_size: 64prediction_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_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: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.0947 | 500 | 1.9500 |
| 0.1894 | 1000 | 1.5351 |
| 0.2840 | 1500 | 1.4213 |
| 0.3787 | 2000 | 1.3370 |
| 0.4734 | 2500 | 1.2762 |
| 0.5681 | 3000 | 1.2182 |
| 0.6628 | 3500 | 1.1795 |
| 0.7574 | 4000 | 1.1409 |
| 0.8521 | 4500 | 1.1297 |
| 0.9468 | 5000 | 1.0969 |
| 1.0415 | 5500 | 1.0346 |
| 1.1361 | 6000 | 0.9986 |
| 1.2308 | 6500 | 0.9855 |
| 1.3255 | 7000 | 0.9591 |
| 1.4202 | 7500 | 0.9544 |
| 1.5149 | 8000 | 0.9485 |
| 1.6095 | 8500 | 0.9268 |
| 1.7042 | 9000 | 0.9330 |
| 1.7989 | 9500 | 0.9160 |
| 1.8936 | 10000 | 0.9020 |
| 1.9883 | 10500 | 0.8954 |
| 2.0829 | 11000 | 0.8412 |
| 2.1776 | 11500 | 0.8448 |
| 2.2723 | 12000 | 0.8289 |
| 2.3670 | 12500 | 0.8343 |
| 2.4617 | 13000 | 0.8356 |
| 2.5563 | 13500 | 0.8208 |
| 2.6510 | 14000 | 0.8272 |
| 2.7457 | 14500 | 0.8042 |
| 2.8404 | 15000 | 0.8145 |
| 2.9351 | 15500 | 0.8171 |
@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},
}