ciso-cross-encoder / README.md
Hizlan's picture
Upload 7 files
87631a9 verified
metadata
tags:
  - sentence-transformers
  - cross-encoder
  - generated_from_trainer
  - dataset_size:610
  - loss:FitMixinLoss
base_model: cross-encoder/mmarco-mMiniLMv2-L12-H384-v1
pipeline_tag: text-ranking
library_name: sentence-transformers

CrossEncoder based on cross-encoder/mmarco-mMiniLMv2-L12-H384-v1

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.

Model Details

Model Description

Model Sources

Usage

Direct Usage (Sentence Transformers)

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 = [
    ['Die Einzellimiten von Ziffer 3 und 5 jedoch dürfen mit der vorliegenden Limite von 35% nicht kumuliert werden.', 'Die Einzellimiten von Ziffer 3 und 5 jedoch dürfen mit der vorliegenden Limite von 35% nicht kumuliert werden.'],
    ['3. Die Fondsleitung darf einschliesslich der Derivate und strukturierten Produkte höchstens 10% des Vermögens eines Teilvermogens in Effekten und Geldmarktinstrumenten desselben Emittenten anlegen.', '3. Die Fondsleitung darf einschliesslich der Derivate und strukturierten Produkte höchstens 10% des Vermögens eines Teilvermogens in Effekten und Geldmarktinstrumenten desselben Emittenten anlegen.'],
    ['Das Teilvermögen BLKB iQ Fund (CH) iQ Responsible Vorsorge Balanced darf bis zu 100% der Anteile des BLKB iQ Fund (CH) iQ Responsible Bond Fund CHF erwerben.', 'Maximalanteil pro Emission: Höchstens 30 Prozent des Fondsvermögens dürfen in Effekten und Geldmarktinstrumenten derselben Emission angelegt werden.'],
    ['e) Geldmarktinstrumente, wenn diese liquide und bewertbar sind sowie an einer Börse oder an einem anderen geregelten, dem Publikum offenstehenden Markt gehandelt werden; Geldmarktinstrumente, die nicht an einer Börse oder an einem anderen geregelten, dem Publikum offenstehenden Markt gehandelt werden, dürfen nur erworben werden, wenn die Emission oder der Emittent Vorschriften über den Gläubigerund den Anlegerschutz unterliegt und wenn die Geldmarktinstrumente von Emittenten gemäss Artikel 74 Absatz 2 KKV begeben oder garantiert sind.', 'Institution: beaufsichtigte Bank oder Institut: Geldmarktinstrumente müssen von einer Bank, einem Effektenhändler oder einem anderen beaufsichtigten Institut begeben oder garantiert sein, das einer Aufsicht untersteht, die der Schweizer Aufsicht gleichwertig ist.'],
    ['d) Termingeschäfte (Futures und Forwards), deren Wert linear vom Wert des Basiswertes abhängt.', 'Derivate: Derivative Finanzinstrumente sind zulässig, wenn ihnen als Basiswerte Anlagen im Sinne von Artikel 70 Absatz 1 Buchstaben a-d, Finanzindizes, Zinssätze, Wechselkurse, Kredite oder Währungen zugrunde liegen.'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'Die Einzellimiten von Ziffer 3 und 5 jedoch dürfen mit der vorliegenden Limite von 35% nicht kumuliert werden.',
    [
        'Die Einzellimiten von Ziffer 3 und 5 jedoch dürfen mit der vorliegenden Limite von 35% nicht kumuliert werden.',
        '3. Die Fondsleitung darf einschliesslich der Derivate und strukturierten Produkte höchstens 10% des Vermögens eines Teilvermogens in Effekten und Geldmarktinstrumenten desselben Emittenten anlegen.',
        'Maximalanteil pro Emission: Höchstens 30 Prozent des Fondsvermögens dürfen in Effekten und Geldmarktinstrumenten derselben Emission angelegt werden.',
        'Institution: beaufsichtigte Bank oder Institut: Geldmarktinstrumente müssen von einer Bank, einem Effektenhändler oder einem anderen beaufsichtigten Institut begeben oder garantiert sein, das einer Aufsicht untersteht, die der Schweizer Aufsicht gleichwertig ist.',
        'Derivate: Derivative Finanzinstrumente sind zulässig, wenn ihnen als Basiswerte Anlagen im Sinne von Artikel 70 Absatz 1 Buchstaben a-d, Finanzindizes, Zinssätze, Wechselkurse, Kredite oder Währungen zugrunde liegen.',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 610 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 610 samples:
    sentence_0 sentence_1 label
    type string string float
    details
    • min: 30 characters
    • mean: 233.99 characters
    • max: 1055 characters
    • min: 30 characters
    • mean: 202.09 characters
    • max: 696 characters
    • min: 0.0
    • mean: 0.5
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    Die Einzellimiten von Ziffer 3 und 5 jedoch dürfen mit der vorliegenden Limite von 35% nicht kumuliert werden. Die Einzellimiten von Ziffer 3 und 5 jedoch dürfen mit der vorliegenden Limite von 35% nicht kumuliert werden. 1.0
    3. Die Fondsleitung darf einschliesslich der Derivate und strukturierten Produkte höchstens 10% des Vermögens eines Teilvermogens in Effekten und Geldmarktinstrumenten desselben Emittenten anlegen. 3. Die Fondsleitung darf einschliesslich der Derivate und strukturierten Produkte höchstens 10% des Vermögens eines Teilvermogens in Effekten und Geldmarktinstrumenten desselben Emittenten anlegen. 1.0
    Das Teilvermögen BLKB iQ Fund (CH) iQ Responsible Vorsorge Balanced darf bis zu 100% der Anteile des BLKB iQ Fund (CH) iQ Responsible Bond Fund CHF erwerben. Maximalanteil pro Emission: Höchstens 30 Prozent des Fondsvermögens dürfen in Effekten und Geldmarktinstrumenten derselben Emission angelegt werden. 0.0
  • Loss: FitMixinLoss

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 1
  • per_device_eval_batch_size: 1
  • num_train_epochs: 20

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 1
  • per_device_eval_batch_size: 1
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 20
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss
0.8197 500 1.9143
1.6393 1000 0.7914
2.4590 1500 0.5883
3.2787 2000 0.3915
4.0984 2500 0.2119
4.9180 3000 0.2049
5.7377 3500 0.1157
6.5574 4000 0.1367
7.3770 4500 0.0336
8.1967 5000 0.0912
9.0164 5500 0.0517
9.8361 6000 0.1057
10.6557 6500 0.037
11.4754 7000 0.0875
12.2951 7500 0.057
13.1148 8000 0.0274
13.9344 8500 0.0277
14.7541 9000 0.0133
15.5738 9500 0.0473
16.3934 10000 0.0272
17.2131 10500 0.025
18.0328 11000 0.0481
18.8525 11500 0.0111
19.6721 12000 0.0226

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.53.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.9.0
  • Datasets: 4.0.0
  • Tokenizers: 0.21.2

Citation

BibTeX

Sentence Transformers

@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",
}