Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper โข 1908.10084 โข Published โข 20
How to use Chimalpopoka/CrossEncoderRanker with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("Chimalpopoka/CrossEncoderRanker")
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 deepvk/USER-bge-m3 using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text pair classification.
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("Chimalpopoka/CrossEncoderRanker")
# Get scores for pairs of texts
pairs = [
['ะะฐะฝะตะปั โ6 IgE (ะกะฐะทะฐะฝ, ะบะฐัะฟ, ััะบะฐ, ััะดะฐะบ, ะบะตัะฐะปั, ะปะตะดัะฝะฐั ััะฑะฐ, ะฟะธะบัะฐ, ะพัะตัั)', 'ะกะฐะทะฐะฝ, (Cyprinus carpio), IgE, ะฐะปะปะตัะณะตะฝ - e82. ะะตัะพะด: ะะคะ'],
['ะะฟัะตะดะตะปะตะฝะธะต ะฐะฝัะธัะตะป ะบะปะฐััะฐ M (IgM) ะบ ัะธัะพะผะตะณะฐะปะพะฒะธัััั (Cytomegะlovirus) ะฒ ะบัะพะฒะธ', 'ะะฐะบัะตัะธะพะปะพะณะธัะตัะบะพะต ะธััะปะตะดะพะฒะฐะฝะธะต ะณะฝะพะนะฝะพะณะพ ะพัะดะตะปัะตะผะพะณะพ: ะะฐ ะฐััะพะฑะฝัะต ะธ ัะฐะบัะปััะฐัะธะฒะฝะพ-ะฐะฝะฐััะพะฑะฝัะต ะผะธะบัะพะพัะณะฐะฝะธะทะผั. ะะตัะพะด: ะบัะปััััะฐะปัะฝัะน'],
['ะััะปะตะดะพะฒะฐะฝะธั ััะพะฒะฝั ะฑะตััะฐ-ะธะทะพะผะตัะธะทะพะฒะฐะฝะฝะพะณะพ C-ะบะพะฝัะตะฒะพะณะพ ัะตะปะพะฟะตะฟัะธะดะฐ ะบะพะปะปะฐะณะตะฝะฐ 1 ัะธะฟะฐ (Beta-Cross laps) ะฒ ะบัะพะฒะธ', 'ะะปัะบะพะทะฐ, ะฒ ะฒะตะฝะพะทะฝะพะน ะบัะพะฒะธ'],
['ะะพัะตะฒ ะบะฐะปะฐ ะฝะฐ ะดะธะฐัะพะณะตะฝะฝัะต ััะตัะธั
ะธะพะทั (E. coli), ะทะฐะบะป., ะะฐะป', 'ะะพะบะปัั (Bordetella pertussis): ะะฝัะธัะตะปะฐ: IgG, (ะบะพะปะธัะตััะฒะตะฝะฝะพ). ะะตัะพะด: ะะคะ'],
['ะฃะปัััะฐะทะฒัะบะพะฒะพะต ะธััะปะตะดะพะฒะฐะฝะธะต ะฟะพะดะถะตะปัะดะพัะฝะพะน ะถะตะปะตะทั (ะดะตััะผ)', 'ะฃะะ ะฟะพะดะถะตะปัะดะพัะฝะพะน ะถะตะปะตะทั, ะดะปั ะดะตัะตะน'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5, 2)
softmax_accuracy_evalCESoftmaxAccuracyEvaluator| Metric | Value |
|---|---|
| f1_macro | 0.9772 |
| f1_micro | 0.9772 |
| f1_weighted | 0.9772 |
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
ะะฐะฝะตะปั โ6 IgE (ะกะฐะทะฐะฝ, ะบะฐัะฟ, ััะบะฐ, ััะดะฐะบ, ะบะตัะฐะปั, ะปะตะดัะฝะฐั ััะฑะฐ, ะฟะธะบัะฐ, ะพัะตัั) |
ะกะฐะทะฐะฝ, (Cyprinus carpio), IgE, ะฐะปะปะตัะณะตะฝ - e82. ะะตัะพะด: ะะคะ |
1 |
ะะฟัะตะดะตะปะตะฝะธะต ะฐะฝัะธัะตะป ะบะปะฐััะฐ M (IgM) ะบ ัะธัะพะผะตะณะฐะปะพะฒะธัััั (Cytomegะlovirus) ะฒ ะบัะพะฒะธ |
ะะฐะบัะตัะธะพะปะพะณะธัะตัะบะพะต ะธััะปะตะดะพะฒะฐะฝะธะต ะณะฝะพะนะฝะพะณะพ ะพัะดะตะปัะตะผะพะณะพ: ะะฐ ะฐััะพะฑะฝัะต ะธ ัะฐะบัะปััะฐัะธะฒะฝะพ-ะฐะฝะฐััะพะฑะฝัะต ะผะธะบัะพะพัะณะฐะฝะธะทะผั. ะะตัะพะด: ะบัะปััััะฐะปัะฝัะน |
0 |
ะััะปะตะดะพะฒะฐะฝะธั ััะพะฒะฝั ะฑะตััะฐ-ะธะทะพะผะตัะธะทะพะฒะฐะฝะฝะพะณะพ C-ะบะพะฝัะตะฒะพะณะพ ัะตะปะพะฟะตะฟัะธะดะฐ ะบะพะปะปะฐะณะตะฝะฐ 1 ัะธะฟะฐ (Beta-Cross laps) ะฒ ะบัะพะฒะธ |
ะะปัะบะพะทะฐ, ะฒ ะฒะตะฝะพะทะฝะพะน ะบัะพะฒะธ |
0 |
CrossEntropyLosseval_strategy: stepsnum_train_epochs: 1overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_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: 1num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_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: Falsefp16: 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: Nonehub_always_push: Falsehub_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: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | softmax_accuracy_eval_f1_macro |
|---|---|---|---|
| 0.0483 | 500 | 0.5573 | - |
| 0.0966 | 1000 | 0.2189 | - |
| 0.1449 | 1500 | 0.2144 | - |
| 0.1932 | 2000 | 0.1876 | 0.9683 |
| 0.2415 | 2500 | 0.1812 | - |
| 0.2899 | 3000 | 0.1657 | - |
| 0.3382 | 3500 | 0.1796 | - |
| 0.3865 | 4000 | 0.1592 | 0.9702 |
| 0.4348 | 4500 | 0.156 | - |
| 0.4831 | 5000 | 0.1491 | - |
| 0.5314 | 5500 | 0.1555 | - |
| 0.5797 | 6000 | 0.1216 | 0.9683 |
| 0.6280 | 6500 | 0.1276 | - |
| 0.6763 | 7000 | 0.1305 | - |
| 0.7246 | 7500 | 0.1156 | - |
| 0.7729 | 8000 | 0.1197 | 0.9759 |
| 0.8213 | 8500 | 0.1215 | - |
| 0.8696 | 9000 | 0.1065 | - |
| 0.9179 | 9500 | 0.0896 | - |
| 0.9662 | 10000 | 0.1135 | 0.9772 |
@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",
}
Base model
deepvk/USER-bge-m3