CrossEncoder based on itdainb/PhoRanker

This is a Cross Encoder model finetuned from itdainb/PhoRanker 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: itdainb/PhoRanker
  • Maximum Sequence Length: 256 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("truong1301/PhoRanker_viwiki")
# Get scores for pairs of texts
pairs = [
    ['Lý thuyết lượng tử ra đời có phải sau khi Einstein nghiên cứu về cơ học lượng tử năm 1906 không?\n', '1957 : Sputnik 1 được phóng vào vũ_trụ , khởi_đầu kỷ_nguyên vũ_trụ của loài_người . Chú chó laika trở_thành động_vật đầu_tiên bay vào vũ_trụ . Ghana giành độc_lập . Hiệp_ước Rome được ký_kết .'],
    ['Vậy, dù bị Nhật lợi dụng, ông có thực sự tin mình đang giúp ích cho dân tộc không?\n', 'Althusser cũng đã đưa ra khái_niệm về bộ_máy nhà_nước tư_tưởng để giải_thích lý_thuyết về ý_thức hệ của ông . Luận_văn đầu_tiên của ông là " tư_tưởng không có lịch_sử " : trong khi ies ideolog cá_nhân có lịch_sử , xen_kẽ với đấu_tranh giai_cấp nói_chung của xã_hội , hình_thức chung của tư_tưởng là bên ngoài để lịch_sử .'],
    ['Từ năm 1400, quốc hiệu nước ta là gì?\n', 'Khu_di_tích lịch_sử Kim_Liên , cách trung_tâm thành_phố Vinh 12 km về phía Tây_Nam , là khu di_tích tưởng_niệm Hồ_Chí_Minh tại xã Kim_Liên , huyện Nam_Đàn . Nơi đây gắn với thời niên_thiếu của Hồ_Chí_Minh và còn lưu_giữ những kỷ_niệm thuở nhỏ của cậu bé Nguyễn_Sinh Cung , những dấu tích và những kỷ_vật của gia_đình .'],
    ['Chiến lược đối ngoại của Singapore có bao gồm việc ràng buộc lợi ích của họ với lợi ích của Mỹ ở Đông Nam Á không?\n', 'Đầu thế_kỷ XIX , đế_quốc Anh cần có một cảng biển cho toàn vùng . Những thương_nhân Anh cần một vị_trí chiến_lược để nghỉ_ngơi và bảo_vệ đội thương_thuyền của đế_chế Anh , cũng như ngăn_chặn nguy_cơ cạnh_tranh của người Hà_Lan trong vùng . Singapore được nước Anh nhắm đến nhờ vị_trí địa_lý then_chốt , án_ngữ eo_biển Malacca của nó .'],
    ['Nông nghiệp tự cấp và thương mại đóng vai trò như thế nào trong GDP và việc làm của Lào, đặc biệt là từ năm 2000?\n', 'Lâm_nghiệp cũng phát_triển trong phạm_vi rộng của châu Á , ngoại_trừ khu_vực Trung và Tây_Nam_Á . Nghề cá là một nguồn chủ_yếu cung_cấp thực_phẩm ở châu Á , cụ_thể là ở Nhật_Bản .'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'Lý thuyết lượng tử ra đời có phải sau khi Einstein nghiên cứu về cơ học lượng tử năm 1906 không?\n',
    [
        '1957 : Sputnik 1 được phóng vào vũ_trụ , khởi_đầu kỷ_nguyên vũ_trụ của loài_người . Chú chó laika trở_thành động_vật đầu_tiên bay vào vũ_trụ . Ghana giành độc_lập . Hiệp_ước Rome được ký_kết .',
        'Althusser cũng đã đưa ra khái_niệm về bộ_máy nhà_nước tư_tưởng để giải_thích lý_thuyết về ý_thức hệ của ông . Luận_văn đầu_tiên của ông là " tư_tưởng không có lịch_sử " : trong khi ies ideolog cá_nhân có lịch_sử , xen_kẽ với đấu_tranh giai_cấp nói_chung của xã_hội , hình_thức chung của tư_tưởng là bên ngoài để lịch_sử .',
        'Khu_di_tích lịch_sử Kim_Liên , cách trung_tâm thành_phố Vinh 12 km về phía Tây_Nam , là khu di_tích tưởng_niệm Hồ_Chí_Minh tại xã Kim_Liên , huyện Nam_Đàn . Nơi đây gắn với thời niên_thiếu của Hồ_Chí_Minh và còn lưu_giữ những kỷ_niệm thuở nhỏ của cậu bé Nguyễn_Sinh Cung , những dấu tích và những kỷ_vật của gia_đình .',
        'Đầu thế_kỷ XIX , đế_quốc Anh cần có một cảng biển cho toàn vùng . Những thương_nhân Anh cần một vị_trí chiến_lược để nghỉ_ngơi và bảo_vệ đội thương_thuyền của đế_chế Anh , cũng như ngăn_chặn nguy_cơ cạnh_tranh của người Hà_Lan trong vùng . Singapore được nước Anh nhắm đến nhờ vị_trí địa_lý then_chốt , án_ngữ eo_biển Malacca của nó .',
        'Lâm_nghiệp cũng phát_triển trong phạm_vi rộng của châu Á , ngoại_trừ khu_vực Trung và Tây_Nam_Á . Nghề cá là một nguồn chủ_yếu cung_cấp thực_phẩm ở châu Á , cụ_thể là ở Nhật_Bản .',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Evaluation

Metrics

Cross Encoder Binary Classification

Metric Value
accuracy 1.0
accuracy_threshold 0.0001
f1 0.9997
f1_threshold 0.0001
precision 0.9995
recall 1.0
average_precision 1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 184,833 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 int
    details
    • min: 26 characters
    • mean: 101.43 characters
    • max: 285 characters
    • min: 142 characters
    • mean: 574.98 characters
    • max: 2466 characters
    • 0: ~90.50%
    • 1: ~9.50%
  • Samples:
    sentence_0 sentence_1 label
    Lý thuyết lượng tử ra đời có phải sau khi Einstein nghiên cứu về cơ học lượng tử năm 1906 không?
    1957 : Sputnik 1 được phóng vào vũ_trụ , khởi_đầu kỷ_nguyên vũ_trụ của loài_người . Chú chó laika trở_thành động_vật đầu_tiên bay vào vũ_trụ . Ghana giành độc_lập . Hiệp_ước Rome được ký_kết . 0
    Vậy, dù bị Nhật lợi dụng, ông có thực sự tin mình đang giúp ích cho dân tộc không?
    Althusser cũng đã đưa ra khái_niệm về bộ_máy nhà_nước tư_tưởng để giải_thích lý_thuyết về ý_thức hệ của ông . Luận_văn đầu_tiên của ông là " tư_tưởng không có lịch_sử " : trong khi ies ideolog cá_nhân có lịch_sử , xen_kẽ với đấu_tranh giai_cấp nói_chung của xã_hội , hình_thức chung của tư_tưởng là bên ngoài để lịch_sử . 0
    Từ năm 1400, quốc hiệu nước ta là gì?
    Khu_di_tích lịch_sử Kim_Liên , cách trung_tâm thành_phố Vinh 12 km về phía Tây_Nam , là khu di_tích tưởng_niệm Hồ_Chí_Minh tại xã Kim_Liên , huyện Nam_Đàn . Nơi đây gắn với thời niên_thiếu của Hồ_Chí_Minh và còn lưu_giữ những kỷ_niệm thuở nhỏ của cậu bé Nguyễn_Sinh Cung , những dấu tích và những kỷ_vật của gia_đình . 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: 32
  • per_device_eval_batch_size: 32
  • num_train_epochs: 1
  • disable_tqdm: False

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • 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: 1
  • 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
  • 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
  • dispatch_batches: None
  • split_batches: 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
  • 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 Quora-dev_average_precision
0.0866 500 0.0913 0.9402
0.1731 1000 0.0528 0.9805
0.2597 1500 0.0257 0.9948
0.3462 2000 0.0134 0.9992
0.4328 2500 0.0056 0.9998
0.5193 3000 0.0041 0.9999
0.6059 3500 0.0014 0.9999
0.6924 4000 0.0015 1.0000
0.7790 4500 0.002 1.0
0.8655 5000 0.0005 1.0000
0.9521 5500 0.0 1.0000
1.0 5777 - 1.0000

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 5.1.0
  • Transformers: 4.47.0
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.2.1
  • Datasets: 3.2.0
  • Tokenizers: 0.21.0

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 truong1301/PhoRanker_viwiki

Base model

itdainb/PhoRanker
Finetuned
(5)
this model

Paper for truong1301/PhoRanker_viwiki

Evaluation results