CrossEncoder based on yoriis/ce-tydi

This is a Cross Encoder model finetuned from yoriis/ce-tydi 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
  • Base model: yoriis/ce-tydi
  • 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-tydi-quqa")
# Get scores for pairs of texts
pairs = [
    ['ما وقت حلول صاعقة العذاب بقوم لوط\xa0عليه السلام؟', 'قل إنما حرم ربي الفواحش ما ظهر منها وما بطن والإثم والبغي بغير الحق وأن تشركوا بالله ما لم ينزل به سلطانا وأن تقولوا على الله ما لا تعلمون{33}الأعراف.'],
    ['ما أول دعاء في القرآن ؟', 'كذلك يوحي إليك وإلى الذين من قبلك الله العزيز الحكيم {3}الشورى'],
    ['ما هي شروط قبول التوبة؟', 'إن الذين يكفرون بالله ورسله ويريدون أن يفرقوا بين الله ورسله ويقولون نؤمن ببعض ونكفر ببعض ويريدون أن يتخذوا بين ذلك سبيلا{150} أولـئك هم الكافرون حقا وأعتدنا للكافرين عذابا مهينا{151} النساء.'],
    ['ما هي شروط شهادة لا إله الا الله، وأن محمدا رسول الله ؟', 'ثم تولوا عنه وقالوا معلم مجنون{14} الدخان'],
    ['ما هي اسماء المدن المذكورة في القرآن؟', 'فلولا كانت قرية آمنت فنفعها إيمانها إلا قوم يونس لما آمنوا كشفنا عنهم عذاب الخزي في الحياة الدنيا ومتعناهم إلى حين{98} يونس'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'ما وقت حلول صاعقة العذاب بقوم لوط\xa0عليه السلام؟',
    [
        'قل إنما حرم ربي الفواحش ما ظهر منها وما بطن والإثم والبغي بغير الحق وأن تشركوا بالله ما لم ينزل به سلطانا وأن تقولوا على الله ما لا تعلمون{33}الأعراف.',
        'كذلك يوحي إليك وإلى الذين من قبلك الله العزيز الحكيم {3}الشورى',
        'إن الذين يكفرون بالله ورسله ويريدون أن يفرقوا بين الله ورسله ويقولون نؤمن ببعض ونكفر ببعض ويريدون أن يتخذوا بين ذلك سبيلا{150} أولـئك هم الكافرون حقا وأعتدنا للكافرين عذابا مهينا{151} النساء.',
        'ثم تولوا عنه وقالوا معلم مجنون{14} الدخان',
        'فلولا كانت قرية آمنت فنفعها إيمانها إلا قوم يونس لما آمنوا كشفنا عنهم عذاب الخزي في الحياة الدنيا ومتعناهم إلى حين{98} يونس',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Evaluation

Metrics

Cross Encoder Classification

Metric Value
accuracy 0.9347
accuracy_threshold 0.6417
f1 0.8669
f1_threshold 0.3031
precision 0.8643
recall 0.8694
average_precision 0.9278

Training Details

Training Dataset

Unnamed Dataset

  • Size: 12,128 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: 74.83 characters
    • max: 659 characters
    • min: 15 characters
    • mean: 130.39 characters
    • max: 1279 characters
    • min: 0.0
    • mean: 0.27
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    ما وقت حلول صاعقة العذاب بقوم لوط عليه السلام؟ قل إنما حرم ربي الفواحش ما ظهر منها وما بطن والإثم والبغي بغير الحق وأن تشركوا بالله ما لم ينزل به سلطانا وأن تقولوا على الله ما لا تعلمون{33}الأعراف. 0.0
    ما أول دعاء في القرآن ؟ كذلك يوحي إليك وإلى الذين من قبلك الله العزيز الحكيم {3}الشورى 0.0
    ما هي شروط قبول التوبة؟ إن الذين يكفرون بالله ورسله ويريدون أن يفرقوا بين الله ورسله ويقولون نؤمن ببعض ونكفر ببعض ويريدون أن يتخذوا بين ذلك سبيلا{150} أولـئك هم الكافرون حقا وأعتدنا للكافرين عذابا مهينا{151} النساء. 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.3554 0.8973
1.0 758 - 0.9116
1.3193 1000 0.2635 0.9163
1.9789 1500 0.2561 0.9224
2.0 1516 - 0.9227
2.6385 2000 0.2284 0.9248
3.0 2274 - 0.9270
3.2982 2500 0.2316 0.9275
3.9578 3000 0.2068 0.9278
4.0 3032 - 0.9278

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
2
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-tydi-quqa

Finetuned
yoriis/ce-tydi
Finetuned
(2)
this model

Evaluation results