|
|
--- |
|
|
tags: |
|
|
- sentence-transformers |
|
|
- cross-encoder |
|
|
- generated_from_trainer |
|
|
- dataset_size:25200 |
|
|
- loss:FitMixinLoss |
|
|
base_model: cross-encoder/ms-marco-MiniLM-L6-v2 |
|
|
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 cross-encoder/ms-marco-MiniLM-L6-v2 |
|
|
results: |
|
|
- task: |
|
|
type: cross-encoder-binary-classification |
|
|
name: Cross Encoder Binary Classification |
|
|
dataset: |
|
|
name: Quora dev |
|
|
type: Quora-dev |
|
|
metrics: |
|
|
- type: accuracy |
|
|
value: 0.9117857142857143 |
|
|
name: Accuracy |
|
|
- type: accuracy_threshold |
|
|
value: -0.3892792761325836 |
|
|
name: Accuracy Threshold |
|
|
- type: f1 |
|
|
value: 0.82537517053206 |
|
|
name: F1 |
|
|
- type: f1_threshold |
|
|
value: -1.1287775039672852 |
|
|
name: F1 Threshold |
|
|
- type: precision |
|
|
value: 0.7898172323759791 |
|
|
name: Precision |
|
|
- type: recall |
|
|
value: 0.8642857142857143 |
|
|
name: Recall |
|
|
- type: average_precision |
|
|
value: 0.8781226951791343 |
|
|
name: Average Precision |
|
|
--- |
|
|
|
|
|
# CrossEncoder based on cross-encoder/ms-marco-MiniLM-L6-v2 |
|
|
|
|
|
This is a [Cross Encoder](https://www.sbert.net/docs/cross_encoder/usage/usage.html) model finetuned from [cross-encoder/ms-marco-MiniLM-L6-v2](https://huggingface.co/cross-encoder/ms-marco-MiniLM-L6-v2) using the [sentence-transformers](https://www.SBERT.net) 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:** [cross-encoder/ms-marco-MiniLM-L6-v2](https://huggingface.co/cross-encoder/ms-marco-MiniLM-L6-v2) <!-- at revision fbf9045f293a58fa68636213c5e0cb8a2de5d45e --> |
|
|
- **Maximum Sequence Length:** 512 tokens |
|
|
- **Number of Output Labels:** 1 label |
|
|
<!-- - **Training Dataset:** Unknown --> |
|
|
<!-- - **Language:** Unknown --> |
|
|
<!-- - **License:** Unknown --> |
|
|
|
|
|
### Model Sources |
|
|
|
|
|
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net) |
|
|
- **Documentation:** [Cross Encoder Documentation](https://www.sbert.net/docs/cross_encoder/usage/usage.html) |
|
|
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) |
|
|
- **Hugging Face:** [Cross Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=cross-encoder) |
|
|
|
|
|
## 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("cross_encoder_model_id") |
|
|
# Get scores for pairs of texts |
|
|
pairs = [ |
|
|
["How does the `DPMSolverMultistepInverse` scheduler relate to DDIM inversion and DPM-Solver's forward and reverse processes?", 'DPMSolverMultistepInverseis the inverted scheduler fromDPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 StepsandDPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Modelsby Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. The implementation is mostly based on the DDIM inversion definition ofNull-text Inversion for Editing Real Images using Guided Diffusion Modelsand notebook implementation of theDiffEditlatent inversion fromXiang-cd/DiffEdit-stable-diffusion.'], |
|
|
['How can I optimize AudioLDM prompt engineering and inference for faster, higher-quality audio generation?', 'The model usually performs well without requiring any finetuning. The architecture follows a classic encoder-decoder architecture, which means that it relies on thegenerate()function for inference. One can useWhisperProcessorto prepare audio for the model, and decode the predicted ID’s back into text. To convert the model and the processor, we recommend using the following: The script will automatically determine all necessary parameters from the OpenAI checkpoint. Atiktokenlibrary needs to be installed to perform the conversion of the OpenAI tokenizer to thetokenizersversion.'], |
|
|
['What AuraFlow-related attention processing tasks does the `AuraFlowAttnProcessor2_0` model excel at?', '() Attention processor used in Mochi.'], |
|
|
['What are the key capabilities and applications of the CLIP (Contrastive Language-Image Pre-training) model?', 'The code snippet below shows how to compute image & text features and similarities: Currently, following scales of pretrained Chinese-CLIP models are available on 🤗 Hub:'], |
|
|
['How effectively does CogVideoX translate text prompts into 720x480 videos?', 'To generate a video from prompt, run the following Python code: You can change these parameters in the pipeline call: We can also generate longer videos by doing the processing in a chunk-by-chunk manner:'], |
|
|
] |
|
|
scores = model.predict(pairs) |
|
|
print(scores.shape) |
|
|
# (5,) |
|
|
|
|
|
# Or rank different texts based on similarity to a single text |
|
|
ranks = model.rank( |
|
|
"How does the `DPMSolverMultistepInverse` scheduler relate to DDIM inversion and DPM-Solver's forward and reverse processes?", |
|
|
[ |
|
|
'DPMSolverMultistepInverseis the inverted scheduler fromDPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 StepsandDPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Modelsby Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. The implementation is mostly based on the DDIM inversion definition ofNull-text Inversion for Editing Real Images using Guided Diffusion Modelsand notebook implementation of theDiffEditlatent inversion fromXiang-cd/DiffEdit-stable-diffusion.', |
|
|
'The model usually performs well without requiring any finetuning. The architecture follows a classic encoder-decoder architecture, which means that it relies on thegenerate()function for inference. One can useWhisperProcessorto prepare audio for the model, and decode the predicted ID’s back into text. To convert the model and the processor, we recommend using the following: The script will automatically determine all necessary parameters from the OpenAI checkpoint. Atiktokenlibrary needs to be installed to perform the conversion of the OpenAI tokenizer to thetokenizersversion.', |
|
|
'() Attention processor used in Mochi.', |
|
|
'The code snippet below shows how to compute image & text features and similarities: Currently, following scales of pretrained Chinese-CLIP models are available on 🤗 Hub:', |
|
|
'To generate a video from prompt, run the following Python code: You can change these parameters in the pipeline call: We can also generate longer videos by doing the processing in a chunk-by-chunk manner:', |
|
|
] |
|
|
) |
|
|
# [{'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.* |
|
|
--> |
|
|
|
|
|
## Evaluation |
|
|
|
|
|
### Metrics |
|
|
|
|
|
#### Cross Encoder Binary Classification |
|
|
|
|
|
* Dataset: `Quora-dev` |
|
|
* Evaluated with [<code>CEBinaryClassificationEvaluator</code>](https://sbert.net/docs/package_reference/cross_encoder/evaluation.html#sentence_transformers.cross_encoder.evaluation.CEBinaryClassificationEvaluator) |
|
|
|
|
|
| Metric | Value | |
|
|
|:----------------------|:-----------| |
|
|
| accuracy | 0.9118 | |
|
|
| accuracy_threshold | -0.3893 | |
|
|
| f1 | 0.8254 | |
|
|
| f1_threshold | -1.1288 | |
|
|
| precision | 0.7898 | |
|
|
| recall | 0.8643 | |
|
|
| **average_precision** | **0.8781** | |
|
|
|
|
|
<!-- |
|
|
## 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: 25,200 training samples |
|
|
* Columns: <code>sentence_0</code>, <code>sentence_1</code>, and <code>label</code> |
|
|
* Approximate statistics based on the first 1000 samples: |
|
|
| | sentence_0 | sentence_1 | label | |
|
|
|:--------|:------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------|:------------------------------------------------| |
|
|
| type | string | string | int | |
|
|
| details | <ul><li>min: 19 characters</li><li>mean: 114.7 characters</li><li>max: 785 characters</li></ul> | <ul><li>min: 9 characters</li><li>mean: 700.88 characters</li><li>max: 11836 characters</li></ul> | <ul><li>0: ~76.50%</li><li>1: ~23.50%</li></ul> | |
|
|
* Samples: |
|
|
| sentence_0 | sentence_1 | label | |
|
|
|:-----------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------| |
|
|
| <code>How does the `DPMSolverMultistepInverse` scheduler relate to DDIM inversion and DPM-Solver's forward and reverse processes?</code> | <code>DPMSolverMultistepInverseis the inverted scheduler fromDPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 StepsandDPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Modelsby Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. The implementation is mostly based on the DDIM inversion definition ofNull-text Inversion for Editing Real Images using Guided Diffusion Modelsand notebook implementation of theDiffEditlatent inversion fromXiang-cd/DiffEdit-stable-diffusion.</code> | <code>1</code> | |
|
|
| <code>How can I optimize AudioLDM prompt engineering and inference for faster, higher-quality audio generation?</code> | <code>The model usually performs well without requiring any finetuning. The architecture follows a classic encoder-decoder architecture, which means that it relies on thegenerate()function for inference. One can useWhisperProcessorto prepare audio for the model, and decode the predicted ID’s back into text. To convert the model and the processor, we recommend using the following: The script will automatically determine all necessary parameters from the OpenAI checkpoint. Atiktokenlibrary needs to be installed to perform the conversion of the OpenAI tokenizer to thetokenizersversion.</code> | <code>0</code> | |
|
|
| <code>What AuraFlow-related attention processing tasks does the `AuraFlowAttnProcessor2_0` model excel at?</code> | <code>() Attention processor used in Mochi.</code> | <code>0</code> | |
|
|
* Loss: [<code>FitMixinLoss</code>](https://sbert.net/docs/package_reference/cross_encoder/losses.html#fitmixinloss) |
|
|
|
|
|
### Training Hyperparameters |
|
|
#### Non-Default Hyperparameters |
|
|
|
|
|
- `eval_strategy`: steps |
|
|
- `per_device_train_batch_size`: 32 |
|
|
- `per_device_eval_batch_size`: 32 |
|
|
- `num_train_epochs`: 2 |
|
|
|
|
|
#### All Hyperparameters |
|
|
<details><summary>Click to expand</summary> |
|
|
|
|
|
- `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`: 2 |
|
|
- `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} |
|
|
- `tp_size`: 0 |
|
|
- `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 |
|
|
|
|
|
</details> |
|
|
|
|
|
### Training Logs |
|
|
| Epoch | Step | Training Loss | Quora-dev_average_precision | |
|
|
|:------:|:----:|:-------------:|:---------------------------:| |
|
|
| 0.1269 | 100 | - | 0.7617 | |
|
|
| 0.2538 | 200 | - | 0.7991 | |
|
|
| 0.3807 | 300 | - | 0.8186 | |
|
|
| 0.5076 | 400 | - | 0.8476 | |
|
|
| 0.6345 | 500 | 0.327 | 0.8500 | |
|
|
| 0.7614 | 600 | - | 0.8518 | |
|
|
| 0.8883 | 700 | - | 0.8616 | |
|
|
| 1.0 | 788 | - | 0.8599 | |
|
|
| 1.0152 | 800 | - | 0.8537 | |
|
|
| 1.1421 | 900 | - | 0.8542 | |
|
|
| 1.2690 | 1000 | 0.267 | 0.8663 | |
|
|
| 1.3959 | 1100 | - | 0.8662 | |
|
|
| 1.5228 | 1200 | - | 0.8781 | |
|
|
|
|
|
|
|
|
### Framework Versions |
|
|
- Python: 3.11.10 |
|
|
- Sentence Transformers: 4.0.1 |
|
|
- Transformers: 4.50.3 |
|
|
- PyTorch: 2.5.1+cu124 |
|
|
- Accelerate: 1.6.0 |
|
|
- Datasets: 3.5.0 |
|
|
- Tokenizers: 0.21.1 |
|
|
|
|
|
## 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", |
|
|
} |
|
|
``` |
|
|
|
|
|
<!-- |
|
|
## 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.* |
|
|
--> |