CoolFace
Modelpublic

varadsrivastava/findocranker-mpnet-base-v2

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes4downloads
Model Card

CrossEncoder based on sentence-transformers/all-mpnet-base-v2

This is a Cross Encoder model finetuned from sentence-transformers/all-mpnet-base-v2 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: sentence-transformers/all-mpnet-base-v2 <!-- at revision e8c3b32edf5434bc2275fc9bab85f82640a19130 -->
  • —Maximum Sequence Length: 512 tokens
  • —Number of Output Labels: 1 label <!-- - Training Dataset: Unknown --> <!-- - Language: Unknown --> <!-- - License: Unknown -->

Model Sources

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

bash
pip install -U sentence-transformers

Then you can load this model and run inference.

python
from sentence_transformers import CrossEncoder

# Download from the 🤗 Hub
model = CrossEncoder("varadsrivastava/findocranker-mpnet-base-v2")
# Get scores for pairs of texts
pairs = [
    ['What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?', '[DOC=10-K | annual report | comprehensive business overview, risks, financials | 100-300 pages]'],
    ['What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?', '[DOC=10-Q | quarterly report | interim financials, MD&A updates | 30-60 pages]'],
    ['What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?', '[DOC=DEF-14A | proxy statement | governance, compensation, shareholder voting matters | annual filing]'],
    ['What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?', '[DOC=8-K | current report | material events, timely disclosures | ad-hoc filing]'],
    ['What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?', '[DOC=Earnings | earnings call transcript | forward guidance, Q&A, management commentary | quarterly]'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?',
    [
        '[DOC=10-K | annual report | comprehensive business overview, risks, financials | 100-300 pages]',
        '[DOC=10-Q | quarterly report | interim financials, MD&A updates | 30-60 pages]',
        '[DOC=DEF-14A | proxy statement | governance, compensation, shareholder voting matters | annual filing]',
        '[DOC=8-K | current report | material events, timely disclosures | ad-hoc filing]',
        '[DOC=Earnings | earnings call transcript | forward guidance, Q&A, management commentary | quarterly]',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

<!--

Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details> -->

<!--

Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details> -->

<!--

Out-of-Scope Use

List how the model may foreseeably be misused and address what users ought not to do with the model. -->

<!--

Bias, Risks and Limitations

What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->

<!--

Recommendations

What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->

Training Details

Training Dataset

Unnamed Dataset
  • —Size: 3,943 training samples
  • —Columns: <code>query</code>, <code>docs</code>, and <code>labels</code>
  • —Approximate statistics based on the first 1000 samples: | | query | docs | labels | |:--------|:-------------------------------------------------------------------------------------------------|:-----------------------------------|:-----------------------------------| | type | string | list | list | | details | <ul><li>min: 59 characters</li><li>mean: 104.63 characters</li><li>max: 181 characters</li></ul> | <ul><li>size: 5 elements</li></ul> | <ul><li>size: 5 elements</li></ul> |
  • —Samples: | query | docs | labels | |:----------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------| | <code>What did Fifth Third Bancorp’s leadership say about Fifth Third Bancorp’s dividend policy?</code> | <code>['[DOC=10-K \| annual report \| comprehensive business overview, risks, financials \| 100-300 pages]', '[DOC=10-Q \| quarterly report \| interim financials, MD&A updates \| 30-60 pages]', '[DOC=DEF-14A \| proxy statement \| governance, compensation, shareholder voting matters \| annual filing]', '[DOC=8-K \| current report \| material events, timely disclosures \| ad-hoc filing]', '[DOC=Earnings \| earnings call transcript \| forward guidance, Q&A, management commentary \| quarterly]']</code> | <code>[4, 3, 2, 1, 0]</code> | | <code>How did Qualcomm’s management describe forecasted capital allocation between developing new semiconductor technologies and potential acquisitions?</code> | <code>['[DOC=10-K \| annual report \| comprehensive business overview, risks, financials \| 100-300 pages]', '[DOC=10-Q \| quarterly report \| interim financials, MD&A updates \| 30-60 pages]', '[DOC=8-K \| current report \| material events, timely disclosures \| ad-hoc filing]', '[DOC=DEF-14A \| proxy statement \| governance, compensation, shareholder voting matters \| annual filing]', '[DOC=Earnings \| earnings call transcript \| forward guidance, Q&A, management commentary \| quarterly]']</code> | <code>[4, 3, 2, 1, 0]</code> | | <code>What did GE HealthCare Technologies Inc.’s leadership say about GE HealthCare Technologies Inc.’s dividend policy?</code> | <code>['[DOC=10-K \| annual report \| comprehensive business overview, risks, financials \| 100-300 pages]', '[DOC=8-K \| current report \| material events, timely disclosures \| ad-hoc filing]', '[DOC=Earnings \| earnings call transcript \| forward guidance, Q&A, management commentary \| quarterly]', '[DOC=10-Q \| quarterly report \| interim financials, MD&A updates \| 30-60 pages]', '[DOC=DEF-14A \| proxy statement \| governance, compensation, shareholder voting matters \| annual filing]']</code> | <code>[4, 3, 2, 1, 0]</code> |
  • —Loss: <code>ListNetLoss</code> with these parameters:
json
  {
      "activation_fn": "torch.nn.modules.linear.Identity",
      "mini_batch_size": null
  }

Training Hyperparameters

Non-Default Hyperparameters
  • —per_device_train_batch_size: 4
  • —gradient_accumulation_steps: 4
  • —learning_rate: 2e-05
  • —weight_decay: 0.01
  • —num_train_epochs: 5
  • —lr_scheduler_type: cosine
  • —warmup_ratio: 0.1
  • —data_seed: 42
  • —fp16: True
  • —dataloader_num_workers: 2
All Hyperparameters

<details><summary>Click to expand</summary>

  • —overwrite_output_dir: False
  • —do_predict: False
  • —eval_strategy: no
  • —prediction_loss_only: True
  • —per_device_train_batch_size: 4
  • —per_device_eval_batch_size: 8
  • —per_gpu_train_batch_size: None
  • —per_gpu_eval_batch_size: None
  • —gradient_accumulation_steps: 4
  • —eval_accumulation_steps: None
  • —torch_empty_cache_steps: None
  • —learning_rate: 2e-05
  • —weight_decay: 0.01
  • —adam_beta1: 0.9
  • —adam_beta2: 0.999
  • —adam_epsilon: 1e-08
  • —max_grad_norm: 1.0
  • —num_train_epochs: 5
  • —max_steps: -1
  • —lr_scheduler_type: cosine
  • —lr_scheduler_kwargs: {}
  • —warmup_ratio: 0.1
  • —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: 42
  • —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: 2
  • —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: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}
  • —fsdp_transformer_layer_cls_to_wrap: None
  • —accelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': None}
  • —parallelism_config: None
  • —deepspeed: None
  • —label_smoothing_factor: 0.0
  • —optim: adamwtorchfused
  • —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: {}

</details>

Training Logs

EpochStepTraining Loss
0.1014251.6085
0.2028501.5942
0.3043751.4848
0.40571001.405
0.50711251.4059
0.60851501.3635
0.70991751.3535
0.81142001.3472
0.91282251.3368
1.01222501.3291
1.11362751.2947
1.21503001.3202
1.31643251.3245
1.41783501.321
1.51933751.298
1.62074001.307
1.72214251.325
1.82354501.3332
1.92494751.301
2.02435001.3106
2.12585251.2973
2.22725501.2995
2.32865751.2978
2.43006001.3109
2.53146251.298
2.63296501.307
2.73436751.2969
2.83577001.2762
2.93717251.2917
3.03657501.2545
3.13797751.271
3.23948001.2609
3.34088251.2694
3.44228501.2906
3.54368751.2951
3.64509001.2852
3.74659251.2788
3.84799501.283
3.94939751.2727
4.048710001.263
4.150110251.2662
4.251510501.2628
4.352910751.2511
4.454411001.2788
4.555811251.2671
4.657211501.2648
4.758611751.2694
4.860012001.2648
4.961512251.2678

Framework Versions

  • —Python: 3.12.11
  • —Sentence Transformers: 5.1.0
  • —Transformers: 4.56.1
  • —PyTorch: 2.8.0+cu126
  • —Accelerate: 1.10.1
  • —Datasets: 4.0.0
  • —Tokenizers: 0.22.0

Citation

BibTeX

Sentence Transformers
bibtex
@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",
}
ListNetLoss
bibtex
@inproceedings{cao2007learning,
    title={Learning to Rank: From Pairwise Approach to Listwise Approach},
    author={Cao, Zhe and Qin, Tao and Liu, Tie-Yan and Tsai, Ming-Feng and Li, Hang},
    booktitle={Proceedings of the 24th international conference on Machine learning},
    pages={129--136},
    year={2007}
}

<!--

Glossary

Clearly define terms in order to be accessible across audiences. -->

<!--

Model Card Authors

Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->

<!--

Model Card Contact

Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->