GTE-quqa / README.md
yoriis's picture
Add new CrossEncoder model
d84ddde verified
metadata
tags:
  - sentence-transformers
  - cross-encoder
  - reranker
  - generated_from_trainer
  - dataset_size:12128
  - loss:BinaryCrossEntropyLoss
base_model: NAMAA-Space/GATE-Reranker-V1
pipeline_tag: text-ranking
library_name: sentence-transformers
metrics:
  - accuracy
  - accuracy_threshold
  - f1
  - f1_threshold
  - precision
  - recall
  - average_precision
model-index:
  - name: CrossEncoder based on NAMAA-Space/GATE-Reranker-V1
    results:
      - task:
          type: cross-encoder-classification
          name: Cross Encoder Classification
        dataset:
          name: eval
          type: eval
        metrics:
          - type: accuracy
            value: 0.9347181008902077
            name: Accuracy
          - type: accuracy_threshold
            value: 0.5419439077377319
            name: Accuracy Threshold
          - type: f1
            value: 0.8598726114649681
            name: F1
          - type: f1_threshold
            value: 0.5419439077377319
            name: F1 Threshold
          - type: precision
            value: 0.9278350515463918
            name: Precision
          - type: recall
            value: 0.8011869436201781
            name: Recall
          - type: average_precision
            value: 0.9188465849471387
            name: Average Precision

CrossEncoder based on NAMAA-Space/GATE-Reranker-V1

This is a Cross Encoder model finetuned from NAMAA-Space/GATE-Reranker-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("yoriis/GTE-quqa")
# Get scores for pairs of texts
pairs = [
    ['ู„ู…ุงุฐุง ูˆุตู ู…ูˆุณู‰\xa0ุนู„ูŠู‡ ุงู„ุณู„ุงู…\xa0ู‚ูˆู…ู‡ ุจุงู„ุฌู‡ู„ ุŸ', 'ูˆูƒู… ู…ู† ู…ู„ูƒ ููŠ ุงู„ุณู…ุงูˆุงุช ู„ุง ุชุบู†ูŠ ุดูุงุนุชู‡ู… ุดูŠุฆุง ุฅู„ุง ู…ู† ุจุนุฏ ุฃู† ูŠุฃุฐู† ุงู„ู„ู‡ ู„ู…ู† ูŠุดุงุก ูˆูŠุฑุถู‰ {26}ุงู„ู†ุฌู…'],
    ['ู…ุง ุงู„ุฏู„ุงุฆู„ ุนู„ู‰ ุฃู† ุงู„ู‚ุฑุขู† ู„ูŠุณ ู…ู† ุชุฃู„ูŠู ุณูŠุฏู†ุง ู…ุญู…ุฏ (ุต)ุŸ', 'ู„ุนู† ุงู„ุฐูŠู† ูƒูุฑูˆุง ู…ู† ุจู†ูŠ ุฅุณุฑุงุฆูŠู„ ุนู„ู‰ ู„ุณุงู† ุฏุงูˆูˆุฏ ูˆุนูŠุณู‰ ุงุจู† ู…ุฑูŠู… ุฐู„ูƒ ุจู…ุง ุนุตูˆุง ูˆูƒุงู†ูˆุง ูŠุนุชุฏูˆู† {78}ุงู„ู…ุงุฆุฏุฉ'],
    ['ู…ู† ู‡ูˆ ุงู„ุฐูŠ ู†ุตุญ ู‚ูˆู…ู‡ ุจุงุชุจุงุน ู…ูˆุณู‰ ๏ทบ ุŸ', 'ูˆู‚ุงู„ ุฑุฌู„ ู…ุคู…ู† ู…ู† ุขู„ ูุฑุนูˆู† ูŠูƒุชู… ุฅูŠู…ุงู†ู‡ ุฃุชู‚ุชู„ูˆู† ุฑุฌู„ุง ุฃู† ูŠู‚ูˆู„ ุฑุจูŠ ุงู„ู„ู‡ ูˆู‚ุฏ ุฌุงุกูƒู… ุจุงู„ุจูŠู†ุงุช ู…ู† ุฑุจูƒู… ูˆุฅู† ูŠูƒ ูƒุงุฐุจุง ูุนู„ูŠู‡ ูƒุฐุจู‡ ูˆุฅู† ูŠูƒ ุตุงุฏู‚ุง ูŠุตุจูƒู… ุจุนุถ ุงู„ุฐูŠ ูŠุนุฏูƒู… ุฅู† ุงู„ู„ู‡ ู„ุง ูŠู‡ุฏูŠ ู…ู† ู‡ูˆ ู…ุณุฑู ูƒุฐุงุจ{28} ุบุงูุฑ'],
    ['ุงุฐูƒุฑ ุจุนุถ ุฃุณู…ุงุก ุฌู‡ู†ู… ุŸ', 'ุฅู† ุชุชูˆุจุง ุฅู„ู‰ ุงู„ู„ู‡ ูู‚ุฏ ุตุบุช ู‚ู„ูˆุจูƒู…ุง ูˆุฅู† ุชุธุงู‡ุฑุง ุนู„ูŠู‡ ูุฅู† ุงู„ู„ู‡ ู‡ูˆ ู…ูˆู„ุงู‡ ูˆุฌุจุฑูŠู„ ูˆุตุงู„ุญ ุงู„ู…ุคู…ู†ูŠู† ูˆุงู„ู…ู„ุงุฆูƒุฉ ุจุนุฏ ุฐู„ูƒ ุธู‡ูŠุฑ {4}ุงู„ุชุญุฑูŠู…'],
    ['ู…ุง ู‚ุตุฉ ุฑุณูˆู„ ุงู„ู„ู‡\xa0ุตู„ู‰ ุงู„ู„ู‡ ุนู„ูŠู‡ ูˆุณู„ู…\xa0ู…ุน ุนุจุฏ ุงู„ู„ู‡ ุจู† ุฃู… ู…ูƒุชูˆู… (ุงู„ุฃุนู…ู‰) ุŸ', 'ุฌู†ุงุช ุนุฏู† ู…ูุชุญุฉ ู„ู‡ู… ุงู„ุฃุจูˆุงุจ{50} ู…ุชูƒุฆูŠู† ููŠู‡ุง ูŠุฏุนูˆู† ููŠู‡ุง ุจูุงูƒู‡ุฉ ูƒุซูŠุฑุฉ ูˆุดุฑุงุจ{51} ุต'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'ู„ู…ุงุฐุง ูˆุตู ู…ูˆุณู‰\xa0ุนู„ูŠู‡ ุงู„ุณู„ุงู…\xa0ู‚ูˆู…ู‡ ุจุงู„ุฌู‡ู„ ุŸ',
    [
        'ูˆูƒู… ู…ู† ู…ู„ูƒ ููŠ ุงู„ุณู…ุงูˆุงุช ู„ุง ุชุบู†ูŠ ุดูุงุนุชู‡ู… ุดูŠุฆุง ุฅู„ุง ู…ู† ุจุนุฏ ุฃู† ูŠุฃุฐู† ุงู„ู„ู‡ ู„ู…ู† ูŠุดุงุก ูˆูŠุฑุถู‰ {26}ุงู„ู†ุฌู…',
        'ู„ุนู† ุงู„ุฐูŠู† ูƒูุฑูˆุง ู…ู† ุจู†ูŠ ุฅุณุฑุงุฆูŠู„ ุนู„ู‰ ู„ุณุงู† ุฏุงูˆูˆุฏ ูˆุนูŠุณู‰ ุงุจู† ู…ุฑูŠู… ุฐู„ูƒ ุจู…ุง ุนุตูˆุง ูˆูƒุงู†ูˆุง ูŠุนุชุฏูˆู† {78}ุงู„ู…ุงุฆุฏุฉ',
        'ูˆู‚ุงู„ ุฑุฌู„ ู…ุคู…ู† ู…ู† ุขู„ ูุฑุนูˆู† ูŠูƒุชู… ุฅูŠู…ุงู†ู‡ ุฃุชู‚ุชู„ูˆู† ุฑุฌู„ุง ุฃู† ูŠู‚ูˆู„ ุฑุจูŠ ุงู„ู„ู‡ ูˆู‚ุฏ ุฌุงุกูƒู… ุจุงู„ุจูŠู†ุงุช ู…ู† ุฑุจูƒู… ูˆุฅู† ูŠูƒ ูƒุงุฐุจุง ูุนู„ูŠู‡ ูƒุฐุจู‡ ูˆุฅู† ูŠูƒ ุตุงุฏู‚ุง ูŠุตุจูƒู… ุจุนุถ ุงู„ุฐูŠ ูŠุนุฏูƒู… ุฅู† ุงู„ู„ู‡ ู„ุง ูŠู‡ุฏูŠ ู…ู† ู‡ูˆ ู…ุณุฑู ูƒุฐุงุจ{28} ุบุงูุฑ',
        'ุฅู† ุชุชูˆุจุง ุฅู„ู‰ ุงู„ู„ู‡ ูู‚ุฏ ุตุบุช ู‚ู„ูˆุจูƒู…ุง ูˆุฅู† ุชุธุงู‡ุฑุง ุนู„ูŠู‡ ูุฅู† ุงู„ู„ู‡ ู‡ูˆ ู…ูˆู„ุงู‡ ูˆุฌุจุฑูŠู„ ูˆุตุงู„ุญ ุงู„ู…ุคู…ู†ูŠู† ูˆุงู„ู…ู„ุงุฆูƒุฉ ุจุนุฏ ุฐู„ูƒ ุธู‡ูŠุฑ {4}ุงู„ุชุญุฑูŠู…',
        'ุฌู†ุงุช ุนุฏู† ู…ูุชุญุฉ ู„ู‡ู… ุงู„ุฃุจูˆุงุจ{50} ู…ุชูƒุฆูŠู† ููŠู‡ุง ูŠุฏุนูˆู† ููŠู‡ุง ุจูุงูƒู‡ุฉ ูƒุซูŠุฑุฉ ูˆุดุฑุงุจ{51} ุต',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Evaluation

Metrics

Cross Encoder Classification

Metric Value
accuracy 0.9347
accuracy_threshold 0.5419
f1 0.8599
f1_threshold 0.5419
precision 0.9278
recall 0.8012
average_precision 0.9188

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: 75.71 characters
    • max: 649 characters
    • min: 18 characters
    • mean: 132.83 characters
    • max: 1279 characters
    • min: 0.0
    • mean: 0.26
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    ู„ู…ุงุฐุง ูˆุตู ู…ูˆุณู‰ ุนู„ูŠู‡ ุงู„ุณู„ุงู… ู‚ูˆู…ู‡ ุจุงู„ุฌู‡ู„ ุŸ ูˆูƒู… ู…ู† ู…ู„ูƒ ููŠ ุงู„ุณู…ุงูˆุงุช ู„ุง ุชุบู†ูŠ ุดูุงุนุชู‡ู… ุดูŠุฆุง ุฅู„ุง ู…ู† ุจุนุฏ ุฃู† ูŠุฃุฐู† ุงู„ู„ู‡ ู„ู…ู† ูŠุดุงุก ูˆูŠุฑุถู‰ {26}ุงู„ู†ุฌู… 0.0
    ู…ุง ุงู„ุฏู„ุงุฆู„ ุนู„ู‰ ุฃู† ุงู„ู‚ุฑุขู† ู„ูŠุณ ู…ู† ุชุฃู„ูŠู ุณูŠุฏู†ุง ู…ุญู…ุฏ (ุต)ุŸ ู„ุนู† ุงู„ุฐูŠู† ูƒูุฑูˆุง ู…ู† ุจู†ูŠ ุฅุณุฑุงุฆูŠู„ ุนู„ู‰ ู„ุณุงู† ุฏุงูˆูˆุฏ ูˆุนูŠุณู‰ ุงุจู† ู…ุฑูŠู… ุฐู„ูƒ ุจู…ุง ุนุตูˆุง ูˆูƒุงู†ูˆุง ูŠุนุชุฏูˆู† {78}ุงู„ู…ุงุฆุฏุฉ 0.0
    ู…ู† ู‡ูˆ ุงู„ุฐูŠ ู†ุตุญ ู‚ูˆู…ู‡ ุจุงุชุจุงุน ู…ูˆุณู‰ ๏ทบ ุŸ ูˆู‚ุงู„ ุฑุฌู„ ู…ุคู…ู† ู…ู† ุขู„ ูุฑุนูˆู† ูŠูƒุชู… ุฅูŠู…ุงู†ู‡ ุฃุชู‚ุชู„ูˆู† ุฑุฌู„ุง ุฃู† ูŠู‚ูˆู„ ุฑุจูŠ ุงู„ู„ู‡ ูˆู‚ุฏ ุฌุงุกูƒู… ุจุงู„ุจูŠู†ุงุช ู…ู† ุฑุจูƒู… ูˆุฅู† ูŠูƒ ูƒุงุฐุจุง ูุนู„ูŠู‡ ูƒุฐุจู‡ ูˆุฅู† ูŠูƒ ุตุงุฏู‚ุง ูŠุตุจูƒู… ุจุนุถ ุงู„ุฐูŠ ูŠุนุฏูƒู… ุฅู† ุงู„ู„ู‡ ู„ุง ูŠู‡ุฏูŠ ู…ู† ู‡ูˆ ู…ุณุฑู ูƒุฐุงุจ{28} ุบุงูุฑ 1.0
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": null
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • 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: 8
  • per_device_eval_batch_size: 8
  • 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
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss eval_average_precision
0.3298 500 0.4083 0.8871
0.6596 1000 0.2958 0.9043
0.9894 1500 0.2839 0.9092
1.0 1516 - 0.9091
1.3193 2000 0.2698 0.9129
1.6491 2500 0.2617 0.9152
1.9789 3000 0.2791 0.9163
2.0 3032 - 0.9160
2.3087 3500 0.2651 0.9159
2.6385 4000 0.2475 0.9172
2.9683 4500 0.264 0.9186
3.0 4548 - 0.9187
3.2982 5000 0.225 0.9180
3.6280 5500 0.2706 0.9186
3.9578 6000 0.2242 0.9188
4.0 6064 - 0.9188

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 5.0.0
  • Transformers: 4.55.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.9.0
  • Datasets: 4.0.0
  • Tokenizers: 0.21.4

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