Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper โข 1908.10084 โข Published โข 19
How to use Hizlan/ciso-cross-encoder with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("Hizlan/ciso-cross-encoder")
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 cross-encoder/mmarco-mMiniLMv2-L12-H384-v1 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("cross_encoder_model_id")
# Get scores for pairs of texts
pairs = [
['9. Die Fondsleitung darf fรผr das Vermรถgen eines Teilvermรถgens hรถchstens je 10% der stimmrechtslosen Beteiligungspapiere, Schuldverschreibungen und/oder Geldmarktinstrumente desselben Emittenten sowie hรถchstens 25% der Anteile an anderen kollektiven Kapitalanlagen erwerben.', 'Beschrรคnkung fรผr stimmrechtslose Schuldverschreibungen: Fondsleitung und SICAV dรผrfen hรถchstens 10 Prozent Schuldverschreibungen oder Geldmarktinstrumente desselben Emittenten erwerben.'],
['Der Emittent der Sicherheiten muss eine hohe Bonitรคt aufweisen und die Sicherheiten dรผrfen nicht von der Gegenpartei oder von einer dem Konzern der Gegenpartei angehรถrigen oder davon abhรคngigen Gesellschaft begeben sein.', 'Bonitรคtsanforderung fรผr Gegenparteien und Garanten: Bei OTC-Geschรคften muss die Gegenpartei oder deren Garant eine hohe Bonitรคt aufweisen.'],
['5. a) Bei engagementreduzierenden Derivaten mรผssen die eingegangenen Verpflichtungen unter Vorbehalt von Bst. b und d dauernd durch die dem Derivat zu Grunde liegenden Basiswerte gedeckt sein.', '5. a) Bei engagementreduzierenden Derivaten mรผssen die eingegangenen Verpflichtungen unter Vorbehalt von Bst. b und d dauernd durch die dem Derivat zu Grunde liegenden Basiswerte gedeckt sein.'],
['1. Die Fondsleitung darf fรผr Rechnung der Teilvermรถgen keine Kredite gewรคhren.', 'Verbot von Krediten und Bรผrgschaften: Zulasten eines Effektenfonds dรผrfen keine Kredite gewรคhrt und keine Bรผrgschaften abgeschlossen werden.'],
['Zudem mรผssen die den Derivaten zugrunde liegenden Basiswerte nach diesem Fondsvertrag fรผr das entsprechende Teilvermรถgen als Anlagen zulรคssig sein.', 'Deckung mit anderen Anlagen bei Indexderivaten: Deckung mit anderen Anlagen ist zulรคssig, wenn das Derivat auf einen extern berechneten Index lautet, der reprรคsentativ und korreliert ist.'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'9. Die Fondsleitung darf fรผr das Vermรถgen eines Teilvermรถgens hรถchstens je 10% der stimmrechtslosen Beteiligungspapiere, Schuldverschreibungen und/oder Geldmarktinstrumente desselben Emittenten sowie hรถchstens 25% der Anteile an anderen kollektiven Kapitalanlagen erwerben.',
[
'Beschrรคnkung fรผr stimmrechtslose Schuldverschreibungen: Fondsleitung und SICAV dรผrfen hรถchstens 10 Prozent Schuldverschreibungen oder Geldmarktinstrumente desselben Emittenten erwerben.',
'Bonitรคtsanforderung fรผr Gegenparteien und Garanten: Bei OTC-Geschรคften muss die Gegenpartei oder deren Garant eine hohe Bonitรคt aufweisen.',
'5. a) Bei engagementreduzierenden Derivaten mรผssen die eingegangenen Verpflichtungen unter Vorbehalt von Bst. b und d dauernd durch die dem Derivat zu Grunde liegenden Basiswerte gedeckt sein.',
'Verbot von Krediten und Bรผrgschaften: Zulasten eines Effektenfonds dรผrfen keine Kredite gewรคhrt und keine Bรผrgschaften abgeschlossen werden.',
'Deckung mit anderen Anlagen bei Indexderivaten: Deckung mit anderen Anlagen ist zulรคssig, wenn das Derivat auf einen extern berechneten Index lautet, der reprรคsentativ und korreliert ist.',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
9. Die Fondsleitung darf fรผr das Vermรถgen eines Teilvermรถgens hรถchstens je 10% der stimmrechtslosen Beteiligungspapiere, Schuldverschreibungen und/oder Geldmarktinstrumente desselben Emittenten sowie hรถchstens 25% der Anteile an anderen kollektiven Kapitalanlagen erwerben. |
Beschrรคnkung fรผr stimmrechtslose Schuldverschreibungen: Fondsleitung und SICAV dรผrfen hรถchstens 10 Prozent Schuldverschreibungen oder Geldmarktinstrumente desselben Emittenten erwerben. |
1.0 |
Der Emittent der Sicherheiten muss eine hohe Bonitรคt aufweisen und die Sicherheiten dรผrfen nicht von der Gegenpartei oder von einer dem Konzern der Gegenpartei angehรถrigen oder davon abhรคngigen Gesellschaft begeben sein. |
Bonitรคtsanforderung fรผr Gegenparteien und Garanten: Bei OTC-Geschรคften muss die Gegenpartei oder deren Garant eine hohe Bonitรคt aufweisen. |
1.0 |
5. a) Bei engagementreduzierenden Derivaten mรผssen die eingegangenen Verpflichtungen unter Vorbehalt von Bst. b und d dauernd durch die dem Derivat zu Grunde liegenden Basiswerte gedeckt sein. |
5. a) Bei engagementreduzierenden Derivaten mรผssen die eingegangenen Verpflichtungen unter Vorbehalt von Bst. b und d dauernd durch die dem Derivat zu Grunde liegenden Basiswerte gedeckt sein. |
1.0 |
FitMixinLossper_device_train_batch_size: 1per_device_eval_batch_size: 1num_train_epochs: 20overwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 1per_device_eval_batch_size: 1per_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: 20max_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_torch_fusedoptim_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 |
|---|---|---|
| 0.7962 | 500 | 2.0688 |
| 1.5924 | 1000 | 1.0619 |
| 2.3885 | 1500 | 0.3302 |
| 3.1847 | 2000 | 0.4093 |
| 3.9809 | 2500 | 0.2725 |
| 4.7771 | 3000 | 0.1523 |
| 5.5732 | 3500 | 0.0737 |
| 6.3694 | 4000 | 0.0784 |
| 7.1656 | 4500 | 0.1115 |
| 7.9618 | 5000 | 0.1435 |
| 8.7580 | 5500 | 0.1006 |
| 9.5541 | 6000 | 0.0482 |
| 10.3503 | 6500 | 0.033 |
| 11.1465 | 7000 | 0.0273 |
| 11.9427 | 7500 | 0.127 |
| 12.7389 | 8000 | 0.2191 |
| 13.5350 | 8500 | 0.0331 |
| 14.3312 | 9000 | 0.0001 |
| 15.1274 | 9500 | 0.0137 |
| 15.9236 | 10000 | 0.0136 |
| 16.7197 | 10500 | 0.0235 |
| 17.5159 | 11000 | 0.0001 |
| 18.3121 | 11500 | 0.012 |
| 19.1083 | 12000 | 0.0112 |
| 19.9045 | 12500 | 0.0113 |
@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",
}