Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 14
How to use lucasflins/CE-MiniLM-L3-H384-uncased-RankNet-20260213-175339 with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("lucasflins/CE-MiniLM-L3-H384-uncased-RankNet-20260213-175339")
query = "Which planet is known as the Red Planet?"
passages = [
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
"Jupiter, the largest planet in our solar system, has a prominent red spot.",
"Saturn, famous for its rings, is sometimes mistaken for the Red Planet."
]
scores = model.predict([(query, passage) for passage in passages])
print(scores)This is a Cross Encoder model finetuned from nreimers/MiniLM-L3-H384-uncased using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import CrossEncoder
# Download from the 🤗 Hub
model = CrossEncoder("lucasflins/CE-MiniLM-L3-H384-uncased-RankNet-20260213-175339")
# Get scores for pairs of texts
pairs = [
['maquina de lavar roupa panasonic', 'máquina de lavar 17kg f170b7wa branca 110v panasonic'],
['maquina de lavar roupa panasonic', 'máquina de lavar panasonic na-f180p7t 18kg'],
['maquina de lavar roupa panasonic', 'capa maquina lavar roupa impermeavel protetora panasonic 16kg naf160b6w zÃper transparente preta'],
['maquina de lavar roupa panasonic', 'lavadora panasonic na-f180p7ta 18kg com tecnologia antibacteria cinza'],
['maquina de lavar roupa panasonic', 'lavadora de roupas panasonic f180p7t antibacteria ag 18kg'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'maquina de lavar roupa panasonic',
[
'máquina de lavar 17kg f170b7wa branca 110v panasonic',
'máquina de lavar panasonic na-f180p7t 18kg',
'capa maquina lavar roupa impermeavel protetora panasonic 16kg naf160b6w zÃper transparente preta',
'lavadora panasonic na-f180p7ta 18kg com tecnologia antibacteria cinza',
'lavadora de roupas panasonic f180p7t antibacteria ag 18kg',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
query, text, and label| query | text | label | |
|---|---|---|---|
| type | string | list | list |
| details |
|
|
|
| query | text | label |
|---|---|---|
mini berco e colchao |
['moises mini berço malu para quarto do bebê com rodizios para meninos e meninas moderno com colchão multifuncional kids cor branco', 'mini berço multifuncional evolutivo 4 em 1 sem colchão bb040 completa móveis', 'mini berço moisés multifuncional mdf e rodÃzios com colchão', 'mini berço 2 gavetas com colchão moisés - branco', 'mini berço 100% mdf com colchão yescasa', ...] |
[4.5160912172672525, 4.301410246007121, 4.149199637266272, 4.102236270603044, 4.0407219899682385, ...] |
chinelo havaianas adulto original masculino |
['chinelo havaianas masculino dual tiras larga ultra conforto', 'chinelo havaianas brasil adulto - branco', 'chinelo havaianas brasil branco adulto as legitimas original', 'chinelo de dedo adulto havaianas top basic fc', 'chinelo de dedo havaianas adulto dual masculino duas cores', ...] |
[5.0, 1.3071868869897774, 1.2851885677229884, 1.2841688461219265, 1.262460870634281, ...] |
armario emilly |
['armário de cozinha completa 229cm rustic/cinza emilly madesa 017', 'armário de cozinha completa 229cm branco emilly madesa 17', 'armário de cozinha compacta 105cm com pia emilly madesa 04', 'armário de cozinha completa madesa emilly 293001 com balcão e paneleiro - rustic/preto', 'armário de cozinha completa com armário e balcão 229cm emilly madesa', ...] |
[5.0, 4.8185494408696865, 4.732788739215357, 4.663854171188608, 4.617143051987073, ...] |
RankNetLoss with these parameters:{
"k": null,
"sigma": 1.0,
"eps": 1e-10,
"reduction_log": "binary",
"activation_fn": "torch.nn.modules.linear.Identity",
"mini_batch_size": null
}
query, text, and label| query | text | label | |
|---|---|---|---|
| type | string | list | list |
| details |
|
|
|
| query | text | label |
|---|---|---|
maquina de lavar roupa panasonic |
['máquina de lavar 17kg f170b7wa branca 110v panasonic', 'máquina de lavar panasonic na-f180p7t 18kg', 'capa maquina lavar roupa impermeavel protetora panasonic 16kg naf160b6w zÃper transparente preta', 'lavadora panasonic na-f180p7ta 18kg com tecnologia antibacteria cinza', 'lavadora de roupas panasonic f180p7t antibacteria ag 18kg', ...] |
[5.0, 0.7308349126503895, 0.6959629150629015, 0.6477526610672186, 0.5892796273761252, ...] |
gyarda roupa |
['guarda-roupa casal com espelho 3 portas de correr', 'guarda-roupa casal madesa reno 3 portas de correr com espelho', 'guarda roupa mongi 2 portas 2 gavetas branco caemmun', 'guarda-roupa casal com espelho 4 gavetas 2 portas de correr araplac benfica', 'guarda-roupa casal com espelho 6 portas', ...] |
[5.0, 3.3783316133271213, 3.3299655932869037, 3.317338034957803, 3.1937724871830113, ...] |
purificador de agua colormaq premium |
['purificador de agua compressor premium narural e gelada colormaq', 'purificador de agua colormaq compressor branco 220v cpuhfba1', 'purificador de agua colormaq premium compressor cpuhfba1', 'purificador de água colormaq premium', 'purificador de água colormaq refrigerado por', ...] |
[5.0, 2.7724961811106326, 2.3496201386993913, 1.9642276637675304, 1.154319875829175, ...] |
RankNetLoss with these parameters:{
"k": null,
"sigma": 1.0,
"eps": 1e-10,
"reduction_log": "binary",
"activation_fn": "torch.nn.modules.linear.Identity",
"mini_batch_size": null
}
eval_strategy: epochper_device_train_batch_size: 32per_device_eval_batch_size: 16num_train_epochs: 10warmup_ratio: 0.1log_level: infotf32: Trueload_best_model_at_end: Truehub_strategy: endhub_private_repo: Truehub_always_push: Trueeval_on_start: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 10max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: 0.1warmup_steps: 0log_level: infolog_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: Falsebf16: Falsefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Truelocal_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: Trueignore_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_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_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: endhub_private_repo: Truehub_always_push: Truehub_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: noneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Trueuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Validation Loss |
|---|---|---|---|
| 0 | 0 | - | 1.0000 |
| 1.0 | 1826 | 0.9911 | 0.9819 |
| 2.0 | 3652 | 0.9698 | 0.9673 |
| 3.0 | 5478 | 0.9536 | 0.9577 |
| 4.0 | 7304 | 0.9418 | 0.9496 |
| 5.0 | 9130 | 0.9312 | 0.9455 |
| 6.0 | 10956 | 0.9235 | 0.9425 |
| 7.0 | 12782 | 0.9169 | 0.9416 |
| 8.0 | 14608 | 0.9125 | 0.9380 |
| 9.0 | 16434 | 0.9089 | 0.9377 |
| 10.0 | 18260 | 0.9074 | 0.9383 |
@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",
}
@inproceedings{burges2005learning,
title={Learning to Rank using Gradient Descent},
author={Burges, Chris and Shaked, Tal and Renshaw, Erin and Lazier, Ari and Deeds, Matt and Hamilton, Nicole and Hullender, Greg},
booktitle={Proceedings of the 22nd international conference on Machine learning},
pages={89--96},
year={2005}
}
Base model
nreimers/MiniLM-L3-H384-uncased