sentence-transformers safetensors bert sentence-similarity feature-extraction generated_from_trainer dataset_size:6300 loss:MatryoshkaLoss loss:MultipleNegativesRankingLoss arxiv:1908.10084 arxiv:2205.13147 arxiv:1705.00652 base_model:BAAI/bge-base-en-v1.5 base_model:finetune:BAAI/bge-base-en-v1.5 model-index autotrain_compatible text-embeddings-inference endpoints_compatible region:us
---
base_model: BAAI/bge-base-en-v1.5
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:6300
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
widget:
- source_sentence: The Financial Statements and Supplementary Data are listed under
    'Item 15. Exhibits and Financial Statement Schedules' as part of this Report.
  sentences:
  - Under ASO contracts, who retains the risk of financing health benefits costs?
  - Under which item are the Financial Statements and Supplementary Data listed in
    the report?
  - How much did interest income increase for Enphase Energy in the year ended December
    31, 2023 compared to 2022?
- source_sentence: The company is involved in various legal actions in the ordinary
    course of business, and some of these may be styled as class-action lawsuits.
  sentences:
  - How many Dollar Tree Plus stores were there as of January 28, 2023?
  - Are there any class-action lawsuits among the legal actions faced by the company?
  - What are the components referred to in Item 8 of financial documents?
- source_sentence: In 2021, the net cash provided by operating activities was $3,264
    million and it increased to $6,464 million by 2023.
  sentences:
  - What was the net increase in cash provided by operating activities from 2021 to
    2023?
  - What specific competitive advantages does IBM leverage in the hybrid cloud infrastructure
    market?
  - How many unvested restricted stock awards were there as of December 31, 2022,
    and what was the weighted-average grant price at that time?
- source_sentence: We have assets for foreign net operating losses of $133.5 million,
    with various expiration dates (and in some cases no expiration date), subject
    to a valuation stand
  sentences:
  - What page in IBM’s 2023 Form 10-K is reserved for the Financial Statement Schedule?
  - What were the primary sources and uses of cash that contributed to the $7.8 billion
    increase in cash and cash equivalents during 2023?
  - What is the total value of foreign net operating losses reported, and what is
    the valuation allowance percentage applied to them?
- source_sentence: The Company uses cash flow hedges to minimize the variability in
    cash flows of assets or liabilities or forecasted transactions caused by fluctuations
    in foreign currency exchange rates, commodity prices or interest. The changes
    in the fair values of derivatives designated as cash flow hedges are recorded
    in AOCI and are reclassified into the line item in our consolidated statement
    of income in which the hedged items are recorded in the same period the hedged
    items affect earnings.
  sentences:
  - What financial instruments does the Company use to minimize the variability in
    cash flows due to fluctuations in foreign currency exchange rates, commodity prices,
    or interest rates?
  - Why is the Asia Pacific reporting unit considered at risk of future goodwill impairment?
  - What constituted the majority of the cost of revenues in the discussed financial
    year?
model-index:
- name: SentenceTransformer based on BAAI/bge-base-en-v1.5
  results:
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 512
      type: dim_512
    metrics:
    - type: cosine_accuracy@1
      value: 0.7285714285714285
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.83
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.8685714285714285
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.9128571428571428
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.7285714285714285
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.27666666666666667
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.1737142857142857
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09128571428571428
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.7285714285714285
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.83
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.8685714285714285
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.9128571428571428
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.8196512798721632
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.7899614512471653
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.7931894941486222
      name: Cosine Map@100
---

# SentenceTransformer based on BAAI/bge-base-en-v1.5

This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5). It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

## Model Details

### Model Description
- **Model Type:** Sentence Transformer
- **Base model:** [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) <!-- at revision a5beb1e3e68b9ab74eb54cfd186867f64f240e1a -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 tokens
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->

### Model Sources

- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)

### Full Model Architecture

```
SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)
```

## 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 SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("ppuva1/bge-base-financial-matryoshka-2")
# Run inference
sentences = [
    'The Company uses cash flow hedges to minimize the variability in cash flows of assets or liabilities or forecasted transactions caused by fluctuations in foreign currency exchange rates, commodity prices or interest. The changes in the fair values of derivatives designated as cash flow hedges are recorded in AOCI and are reclassified into the line item in our consolidated statement of income in which the hedged items are recorded in the same period the hedged items affect earnings.',
    'What financial instruments does the Company use to minimize the variability in cash flows due to fluctuations in foreign currency exchange rates, commodity prices, or interest rates?',
    'Why is the Asia Pacific reporting unit considered at risk of future goodwill impairment?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
```

<!--
### 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

#### Information Retrieval
* Dataset: `dim_512`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.7286     |
| cosine_accuracy@3   | 0.83       |
| cosine_accuracy@5   | 0.8686     |
| cosine_accuracy@10  | 0.9129     |
| cosine_precision@1  | 0.7286     |
| cosine_precision@3  | 0.2767     |
| cosine_precision@5  | 0.1737     |
| cosine_precision@10 | 0.0913     |
| cosine_recall@1     | 0.7286     |
| cosine_recall@3     | 0.83       |
| cosine_recall@5     | 0.8686     |
| cosine_recall@10    | 0.9129     |
| cosine_ndcg@10      | 0.8197     |
| cosine_mrr@10       | 0.79       |
| **cosine_map@100**  | **0.7932** |

<!--
## 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: 6,300 training samples
* Columns: <code>positive</code> and <code>anchor</code>
* Approximate statistics based on the first 1000 samples:
  |         | positive                                                                           | anchor                                                                            |
  |:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
  | type    | string                                                                             | string                                                                            |
  | details | <ul><li>min: 4 tokens</li><li>mean: 46.01 tokens</li><li>max: 205 tokens</li></ul> | <ul><li>min: 7 tokens</li><li>mean: 20.43 tokens</li><li>max: 46 tokens</li></ul> |
* Samples:
  | positive                                                                                                                                                                                                                                                                                                   | anchor                                                                            |
  |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
  | <code>The company's SEC filings are available to the public over the internet at the SEC's website at www.sec.gov. The SEC filings are also available free of charge on the company's website at ir.hilton.com as soon as reasonably practicable after they are filed with or furnished to the SEC.</code> | <code>Where can public access the company's SEC filings?</code>                   |
  | <code>Garmin’s operations are subject to various environmental laws, including laws addressing air and water pollution and management of hazardous substances and wastes.</code>                                                                                                                           | <code>What aspects of Garmin's business are subject to environmental laws?</code> |
  | <code>Adjusted EBITDA does not reflect certain litigation expenses, consisting of legal settlements and related fees for specific proceedings that we have determined arise outside of the ordinary course of business.</code>                                                                             | <code>How does Adjusted EBITDA treat expenses related to litigation?</code>       |
* Loss: [<code>MatryoshkaLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
  ```json
  {
      "loss": "MultipleNegativesRankingLoss",
      "matryoshka_dims": [
          512
      ],
      "matryoshka_weights": [
          1
      ],
      "n_dims_per_step": -1
  }
  ```

### Training Hyperparameters
#### Non-Default Hyperparameters

- `eval_strategy`: epoch
- `per_device_train_batch_size`: 32
- `per_device_eval_batch_size`: 16
- `gradient_accumulation_steps`: 16
- `learning_rate`: 2e-05
- `num_train_epochs`: 5
- `lr_scheduler_type`: cosine
- `warmup_ratio`: 0.1
- `load_best_model_at_end`: True
- `batch_sampler`: no_duplicates

#### All Hyperparameters
<details><summary>Click to expand</summary>

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: epoch
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 32
- `per_device_eval_batch_size`: 16
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 16
- `eval_accumulation_steps`: None
- `torch_empty_cache_steps`: None
- `learning_rate`: 2e-05
- `weight_decay`: 0.0
- `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`: 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`: True
- `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`: False
- `hub_always_push`: False
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `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
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional

</details>

### Training Logs
| Epoch      | Step   | dim_512_cosine_map@100 |
|:----------:|:------:|:----------------------:|
| 0          | 0      | 0.7260                 |
| 0.9746     | 12     | 0.7815                 |
| 1.9492     | 24     | 0.7872                 |
| 2.9239     | 36     | 0.7899                 |
| 3.9797     | 49     | 0.7926                 |
| **4.8731** | **60** | **0.7932**             |

* The bold row denotes the saved checkpoint.

### Framework Versions
- Python: 3.11.8
- Sentence Transformers: 3.1.1
- Transformers: 4.45.2
- PyTorch: 2.4.1
- Accelerate: 0.34.2
- Datasets: 3.2.0
- Tokenizers: 0.20.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",
}
```

#### MatryoshkaLoss
```bibtex
@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
```

#### MultipleNegativesRankingLoss
```bibtex
@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
```

<!--
## 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.*
-->