korruz's picture
Add new SentenceTransformer model.
6362a69 verified
metadata
base_model: BAAI/bge-base-en-v1.5
datasets: []
language:
  - en
library_name: sentence-transformers
license: apache-2.0
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: >-
      Tesla has implemented various remedial measures, including conducting
      training and audits, and enhancements to its site waste management
      programs, and settlement discussions are ongoing.
    sentences:
      - >-
        What regulatory body primarily regulates product safety, efficacy, and
        other aspects in the U.S.?
      - >-
        What remedial measures has Tesla implemented in response to the
        investigation of its waste segregation practices?
      - What were the main drivers behind the sales growth of TREMFYA?
  - source_sentence: >-
      Sales of Alphagan/Combigan in the United States decreased by 40.1% from
      $373 million in 2021 to $121 million in 2023.
    sentences:
      - What were the total revenues from unaffiliated customers in 2021?
      - >-
        What was the percentage decrease in sales for Alphagan/Combigan in the
        United States from 2021 to 2023?
      - >-
        What percent excess of fair value over carrying value did the Compute
        reporting unit have as of the annual test date in 2023?
  - source_sentence: >-
      Long-lived and intangible assets are reviewed for impairment based on
      indicators of impairment and the evaluation involves estimating the future
      undiscounted cash flows attributable to the asset groups.
    sentences:
      - How are long-lived and intangible assets evaluated for impairment?
      - >-
        What strategies are being adopted to enhance revenue through acquisition
        according to the business plans described?
      - >-
        How is impairment evaluated for long-lived assets such as leases,
        property, and equipment?
  - source_sentence: >-
      Our 2023 operating income was $5.5 billion, an improvement of $1.9 billion
      compared to 2022.
    sentences:
      - >-
        What was the total unrecognized compensation cost related to unvested
        stock-based awards as of October 29, 2023?
      - >-
        What significant financial activity occurred in continuing investing
        activities in 2023?
      - What was the operating income for 2023, and how did it compare to 2022?
  - source_sentence: >-
      We use raw materials that are subject to price volatility caused by
      weather, supply conditions, political and economic variables and other
      unpredictable factors. We may use futures, options and swap contracts to
      manage the volatility related to the above exposures.
    sentences:
      - >-
        What financial instruments does the company use to manage commodity
        price exposure?
      - What types of legal proceedings is the company currently involved in?
      - >-
        What was the net impact of fair value hedging instruments on earnings in
        2023?
model-index:
  - name: BGE base Financial Matryoshka
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 768
          type: dim_768
        metrics:
          - type: cosine_accuracy@1
            value: 0.6814285714285714
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.82
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8614285714285714
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8942857142857142
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6814285714285714
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2733333333333333
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17228571428571426
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08942857142857141
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6814285714285714
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.82
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8614285714285714
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8942857142857142
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7922308461157294
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7589693877551015
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7633405151451278
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 512
          type: dim_512
        metrics:
          - type: cosine_accuracy@1
            value: 0.68
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8214285714285714
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8614285714285714
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8957142857142857
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.68
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2738095238095238
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17228571428571426
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08957142857142855
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.68
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8214285714285714
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8614285714285714
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8957142857142857
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7914243245771438
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7576258503401355
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7617439775393929
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 256
          type: dim_256
        metrics:
          - type: cosine_accuracy@1
            value: 0.69
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8271428571428572
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8571428571428571
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8928571428571429
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.69
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2757142857142857
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1714285714285714
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08928571428571426
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.69
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8271428571428572
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8571428571428571
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8928571428571429
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7943028094464931
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7623684807256232
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7661836876217925
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 128
          type: dim_128
        metrics:
          - type: cosine_accuracy@1
            value: 0.6657142857142857
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8042857142857143
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8457142857142858
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8871428571428571
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6657142857142857
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2680952380952381
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16914285714285712
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08871428571428569
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6657142857142857
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8042857142857143
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8457142857142858
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8871428571428571
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7784460550829944
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7434297052154194
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.74745032636981
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 64
          type: dim_64
        metrics:
          - type: cosine_accuracy@1
            value: 0.6342857142857142
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.7771428571428571
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8157142857142857
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8642857142857143
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6342857142857142
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.259047619047619
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16314285714285712
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08642857142857142
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6342857142857142
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.7771428571428571
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8157142857142857
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8642857142857143
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7508028784634385
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7143225623582764
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7188596090649563
            name: Cosine Map@100

BGE base Financial Matryoshka

This is a sentence-transformers model finetuned from 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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Language: en
  • License: apache-2.0

Model Sources

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:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("korruz/bge-base-financial-matryoshka")
# Run inference
sentences = [
    'We use raw materials that are subject to price volatility caused by weather, supply conditions, political and economic variables and other unpredictable factors. We may use futures, options and swap contracts to manage the volatility related to the above exposures.',
    'What financial instruments does the company use to manage commodity price exposure?',
    'What types of legal proceedings is the company currently involved in?',
]
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]

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.6814
cosine_accuracy@3 0.82
cosine_accuracy@5 0.8614
cosine_accuracy@10 0.8943
cosine_precision@1 0.6814
cosine_precision@3 0.2733
cosine_precision@5 0.1723
cosine_precision@10 0.0894
cosine_recall@1 0.6814
cosine_recall@3 0.82
cosine_recall@5 0.8614
cosine_recall@10 0.8943
cosine_ndcg@10 0.7922
cosine_mrr@10 0.759
cosine_map@100 0.7633

Information Retrieval

Metric Value
cosine_accuracy@1 0.68
cosine_accuracy@3 0.8214
cosine_accuracy@5 0.8614
cosine_accuracy@10 0.8957
cosine_precision@1 0.68
cosine_precision@3 0.2738
cosine_precision@5 0.1723
cosine_precision@10 0.0896
cosine_recall@1 0.68
cosine_recall@3 0.8214
cosine_recall@5 0.8614
cosine_recall@10 0.8957
cosine_ndcg@10 0.7914
cosine_mrr@10 0.7576
cosine_map@100 0.7617

Information Retrieval

Metric Value
cosine_accuracy@1 0.69
cosine_accuracy@3 0.8271
cosine_accuracy@5 0.8571
cosine_accuracy@10 0.8929
cosine_precision@1 0.69
cosine_precision@3 0.2757
cosine_precision@5 0.1714
cosine_precision@10 0.0893
cosine_recall@1 0.69
cosine_recall@3 0.8271
cosine_recall@5 0.8571
cosine_recall@10 0.8929
cosine_ndcg@10 0.7943
cosine_mrr@10 0.7624
cosine_map@100 0.7662

Information Retrieval

Metric Value
cosine_accuracy@1 0.6657
cosine_accuracy@3 0.8043
cosine_accuracy@5 0.8457
cosine_accuracy@10 0.8871
cosine_precision@1 0.6657
cosine_precision@3 0.2681
cosine_precision@5 0.1691
cosine_precision@10 0.0887
cosine_recall@1 0.6657
cosine_recall@3 0.8043
cosine_recall@5 0.8457
cosine_recall@10 0.8871
cosine_ndcg@10 0.7784
cosine_mrr@10 0.7434
cosine_map@100 0.7475

Information Retrieval

Metric Value
cosine_accuracy@1 0.6343
cosine_accuracy@3 0.7771
cosine_accuracy@5 0.8157
cosine_accuracy@10 0.8643
cosine_precision@1 0.6343
cosine_precision@3 0.259
cosine_precision@5 0.1631
cosine_precision@10 0.0864
cosine_recall@1 0.6343
cosine_recall@3 0.7771
cosine_recall@5 0.8157
cosine_recall@10 0.8643
cosine_ndcg@10 0.7508
cosine_mrr@10 0.7143
cosine_map@100 0.7189

Training Details

Training Dataset

Unnamed Dataset

  • Size: 6,300 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 8 tokens
    • mean: 45.15 tokens
    • max: 281 tokens
    • min: 7 tokens
    • mean: 20.65 tokens
    • max: 42 tokens
  • Samples:
    positive anchor
    The sale and donation transactions closed in June 2022. Total proceeds from the sale were approximately $6,300 (net of transaction and closing costs), resulting in a loss of $13,568, which was recorded in the SM&A expense caption within the Consolidated Statements of Income. What were Hershey's total proceeds from the sale of a building portion in June 2022, and what was the resulting financial impact?
    Operating income margin increased to 7.9% in fiscal 2022 compared to 6.9% in fiscal 2021. What was the operating income margin for fiscal year 2022 compared to fiscal year 2021?
    iPhone® is the Company’s line of smartphones based on its iOS operating system. The iPhone line includes iPhone 15 Pro, iPhone 15, iPhone 14, iPhone 13 and iPhone SE®. What operating system is used for the Company's iPhone line?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            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: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • tf32: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • 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: 4
  • 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: True
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: True
  • 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_fused
  • 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
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss dim_128_cosine_map@100 dim_256_cosine_map@100 dim_512_cosine_map@100 dim_64_cosine_map@100 dim_768_cosine_map@100
0.9697 6 - 0.7248 0.7459 0.7534 0.6859 0.7549
1.6162 10 2.3046 - - - - -
1.9394 12 - 0.7456 0.7601 0.7590 0.7111 0.7599
2.9091 18 - 0.7470 0.7652 0.7618 0.7165 0.7622
3.2323 20 1.0018 - - - - -
3.8788 24 - 0.7475 0.7662 0.7617 0.7189 0.7633
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.44.0
  • PyTorch: 2.4.0+cu121
  • Accelerate: 0.33.0
  • Datasets: 2.21.0
  • Tokenizers: 0.19.1

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

MatryoshkaLoss

@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

@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}
}