CrossEncoder

This is a Cross Encoder model trained 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 Type: Cross Encoder
  • Maximum Sequence Length: 512 tokens
  • Number of Output Labels: 1 label

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("yoriis/ce-final")
# Get scores for pairs of texts
pairs = [
    ['ما الدعاء الوارد عند الدخول والخروج من المسجد؟', 'حديث عَنْ عُمَرَ بْنِ الخَطَّابِ رضي الله عنه، قَالَ: قَالَ رَسُولُ الله ﷺ: «مَا مِنْكُمْ مِنْ أَحَدٍ يَتَوَضَّأُ فَيُبْلِغُ - أَوْ فَيُسْبِغُ - الوَضُوءَ ثُمَّ يَقُولُ: أَشْهَدُ أَنْ لَا إِلَهَ إِلَّا الله وَأَنَّ مُحَمَّدًا عَبْدُ الله وَرَسُولُهُ إِلَّا فُتِحَتْ لَهُ أَبْوَابُ الجَنَّةِ الثَّمَانِيَةُ يَدْخُلُ مِنْ أَيِّهَا شَاءَ». رواه مسلم (234).'],
    ['ما حكم من لم يقرأ بفاتحة الكتاب ؟', 'حديث أبي أمامة رضي الله عنه قال: قال رسول الله ﷺ : (إن الله وملائكته يصلون على الصف الأول) قالوا: يا رسول الله وعلى الثاني؟ قال: (إن الله وملائكته يصلون على الصف الأول). قالوا: يا رسول الله وعلى الثاني؟ قال: (وعلى الثاني). أخرجه أحمد'],
    ['ما هي العلامة التي إذا ظهرت أغلق باب التوبة ؟', 'حديث ابْنِ عَبَّاسٍ رضي الله عنه قَالَ: «أُنْزِلَ عَلَى رَسُولِ الله ﷺ وَهُوَ ابْنُ أَرْبَعِينَ، فَمَكَثَ بِمَكَّةَ ثَلاَثَ عَشْرَةَ سَنَةً، ثُمَّ أُمِرَ بِالهِجْرَةِ فَهَاجَرَ إِلَى المَدِينَةِ، فَمَكَثَ بِهَا عَشْرَ سِنِينَ، ثُمَّ تُوُفِّيَ ﷺ ». رواه البخاري (3851)، ومسلم (2351).'],
    ['أين تصلى الفرائض ؟', 'حديث أَبِي هُرَيْرَةَ رضي الله عنه، أَنَّ النَّبِيَّ ﷺ قَالَ: «خَيْرُ يَوْمٍ طَلَعَتْ عَلَيْهِ الشَّمْسُ يَوْمُ الجُمُعَةِ، فِيهِ خُلِقَ آدَمُ، وَفِيهِ أُدْخِلَ الجَنَّةَ، وَفِيهِ أُخْرِجَ مِنْهَا». رواه مسلم (854).'],
    ['اذكر كيفية التيمم ؟', 'عن النبي ﷺ قال: (إن أول ما يحاسب عليه العبد يوم القيامة من عمله صلاته، فإن صلحت فقد أفلح ونجح، وإن فسدت فقد خاب وخسر، فإن انتقص من فريضته شيء قال الربّ عز وجل: انظروا هل لعبدي من تطوع فيكمل بها ما انتقص من الفريضة، ثم يكون سائر عمله على ذلك).     سنن ابن ماجه والترمذي'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'ما الدعاء الوارد عند الدخول والخروج من المسجد؟',
    [
        'حديث عَنْ عُمَرَ بْنِ الخَطَّابِ رضي الله عنه، قَالَ: قَالَ رَسُولُ الله ﷺ: «مَا مِنْكُمْ مِنْ أَحَدٍ يَتَوَضَّأُ فَيُبْلِغُ - أَوْ فَيُسْبِغُ - الوَضُوءَ ثُمَّ يَقُولُ: أَشْهَدُ أَنْ لَا إِلَهَ إِلَّا الله وَأَنَّ مُحَمَّدًا عَبْدُ الله وَرَسُولُهُ إِلَّا فُتِحَتْ لَهُ أَبْوَابُ الجَنَّةِ الثَّمَانِيَةُ يَدْخُلُ مِنْ أَيِّهَا شَاءَ». رواه مسلم (234).',
        'حديث أبي أمامة رضي الله عنه قال: قال رسول الله ﷺ : (إن الله وملائكته يصلون على الصف الأول) قالوا: يا رسول الله وعلى الثاني؟ قال: (إن الله وملائكته يصلون على الصف الأول). قالوا: يا رسول الله وعلى الثاني؟ قال: (وعلى الثاني). أخرجه أحمد',
        'حديث ابْنِ عَبَّاسٍ رضي الله عنه قَالَ: «أُنْزِلَ عَلَى رَسُولِ الله ﷺ وَهُوَ ابْنُ أَرْبَعِينَ، فَمَكَثَ بِمَكَّةَ ثَلاَثَ عَشْرَةَ سَنَةً، ثُمَّ أُمِرَ بِالهِجْرَةِ فَهَاجَرَ إِلَى المَدِينَةِ، فَمَكَثَ بِهَا عَشْرَ سِنِينَ، ثُمَّ تُوُفِّيَ ﷺ ». رواه البخاري (3851)، ومسلم (2351).',
        'حديث أَبِي هُرَيْرَةَ رضي الله عنه، أَنَّ النَّبِيَّ ﷺ قَالَ: «خَيْرُ يَوْمٍ طَلَعَتْ عَلَيْهِ الشَّمْسُ يَوْمُ الجُمُعَةِ، فِيهِ خُلِقَ آدَمُ، وَفِيهِ أُدْخِلَ الجَنَّةَ، وَفِيهِ أُخْرِجَ مِنْهَا». رواه مسلم (854).',
        'عن النبي ﷺ قال: (إن أول ما يحاسب عليه العبد يوم القيامة من عمله صلاته، فإن صلحت فقد أفلح ونجح، وإن فسدت فقد خاب وخسر، فإن انتقص من فريضته شيء قال الربّ عز وجل: انظروا هل لعبدي من تطوع فيكمل بها ما انتقص من الفريضة، ثم يكون سائر عمله على ذلك).     سنن ابن ماجه والترمذي',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Evaluation

Metrics

Cross Encoder Classification

Metric Value
accuracy 0.9325
accuracy_threshold 0.6693
f1 0.8605
f1_threshold 0.2969
precision 0.8605
recall 0.8605
average_precision 0.9304

Cross Encoder Classification

Metric Value
accuracy 0.8686
accuracy_threshold 0.392
f1 0.4375
f1_threshold 0.2153
precision 0.4922
recall 0.3937
average_precision 0.5103

Training Details

Training Dataset

Unnamed Dataset

  • Size: 8,623 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 label
    type string string float
    details
    • min: 9 characters
    • mean: 34.89 characters
    • max: 113 characters
    • min: 39 characters
    • mean: 276.97 characters
    • max: 12335 characters
    • min: 0.0
    • mean: 0.16
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    ما الدعاء الوارد عند الدخول والخروج من المسجد؟ حديث عَنْ عُمَرَ بْنِ الخَطَّابِ رضي الله عنه، قَالَ: قَالَ رَسُولُ الله ﷺ: «مَا مِنْكُمْ مِنْ أَحَدٍ يَتَوَضَّأُ فَيُبْلِغُ - أَوْ فَيُسْبِغُ - الوَضُوءَ ثُمَّ يَقُولُ: أَشْهَدُ أَنْ لَا إِلَهَ إِلَّا الله وَأَنَّ مُحَمَّدًا عَبْدُ الله وَرَسُولُهُ إِلَّا فُتِحَتْ لَهُ أَبْوَابُ الجَنَّةِ الثَّمَانِيَةُ يَدْخُلُ مِنْ أَيِّهَا شَاءَ». رواه مسلم (234). 0.0
    ما حكم من لم يقرأ بفاتحة الكتاب ؟ حديث أبي أمامة رضي الله عنه قال: قال رسول الله ﷺ : (إن الله وملائكته يصلون على الصف الأول) قالوا: يا رسول الله وعلى الثاني؟ قال: (إن الله وملائكته يصلون على الصف الأول). قالوا: يا رسول الله وعلى الثاني؟ قال: (وعلى الثاني). أخرجه أحمد 0.0
    ما هي العلامة التي إذا ظهرت أغلق باب التوبة ؟ حديث ابْنِ عَبَّاسٍ رضي الله عنه قَالَ: «أُنْزِلَ عَلَى رَسُولِ الله ﷺ وَهُوَ ابْنُ أَرْبَعِينَ، فَمَكَثَ بِمَكَّةَ ثَلاَثَ عَشْرَةَ سَنَةً، ثُمَّ أُمِرَ بِالهِجْرَةِ فَهَاجَرَ إِلَى المَدِينَةِ، فَمَكَثَ بِهَا عَشْرَ سِنِينَ، ثُمَّ تُوُفِّيَ ﷺ ». رواه البخاري (3851)، ومسلم (2351). 0.0
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": null
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 4
  • fp16: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • 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: 4
  • 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: True
  • 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 eval_average_precision
0.6596 500 0.5096 0.9076
1.0 758 - 0.9161
1.3193 1000 0.2928 0.9223
1.9789 1500 0.265 0.9267
2.0 1516 - 0.9269
2.6385 2000 0.2487 0.9287
3.0 2274 - 0.9293
3.2982 2500 0.2356 0.9299
3.9578 3000 0.2234 0.9304
4.0 3032 - 0.9304
0.9276 500 0.4632 0.4976
1.0 539 - 0.4973
1.8553 1000 0.3738 0.5022
2.0 1078 - 0.5055
2.7829 1500 0.369 0.5081
3.0 1617 - 0.5094
3.7106 2000 0.3657 0.5102
4.0 2156 - 0.5103

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.54.0
  • 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",
}
Downloads last month
-
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for yoriis/ce-final

Finetunes
2 models

Paper for yoriis/ce-final

Evaluation results