gauravsirola's picture
Add new SentenceTransformer model.
076913b 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: >-
      ITEM 7. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND
      RESULTS OF OPERATIONS The following discussion and analysis should be read
      in conjunction with the consolidated financial statements and the related
      notes included elsewhere in this Annual Report on Form 10-K. For further
      discussion of our products and services, technology and competitive
      strengths, refer to Item 1- Business.
    sentences:
      - >-
        What was the total net automotive cash provided by investing activities
        in 2023?
      - >-
        What is the purpose of the Management's Discussion and Analysis of
        Financial Condition and Results of Operations section in the Annual
        Report on Form 10-K?
      - >-
        What are the components included in the management discussion and
        analysis of financial condition and results of operations?
  - source_sentence: >-
      Kroger is committed to maintaining a net total debt to adjusted EBITDA
      ratio target range of 2.30 to 2.50.
    sentences:
      - >-
        What was the remaining available amount of the share repurchase
        authorization as of January 29, 2023?
      - >-
        What range does Kroger aim for its net total debt to adjusted EBITDA
        ratio?
      - >-
        What was the starting wage for all entry-level positions in the U.S. as
        of September 2023?
  - source_sentence: Google Cloud operating income of $1.7 billion for 2023.
    sentences:
      - What was the operating income for Google Cloud in 2023?
      - What types of products are offered in Garmin's Fitness segment?
      - What was the net sales of the company in fiscal 2022?
  - source_sentence: >-
      The effective income tax rate for Alphabet Inc. at the end of the year
      2023 was 13.9%.
    sentences:
      - >-
        What was the percentage change in Compute & Networking revenue from
        fiscal year 2022 to 2023?
      - >-
        What factors primarily contributed to the increase in non-interest
        revenues across all revenue categories?
      - >-
        What was the effective income tax rate for Alphabet Inc. at the end of
        the year 2023?
  - source_sentence: >-
      State legislation increasingly requires PBMs to conduct audits of network
      pharmacies regarding claims submitted for payment. Non-compliance could
      prevent the recoupment of overpaid amounts, potentially causing financial
      and legal repercussions.
    sentences:
      - >-
        What are the potential consequences for a company if its PBMs fail to
        comply with pharmacy audit regulations?
      - >-
        What pages do the Consolidated Financial Statements and their
        accompanying Notes and reports appear on in the document?
      - >-
        What are the primary services provided by the company under the Xfinity,
        Comcast Business, and Sky brands?
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.6785714285714286
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8342857142857143
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.88
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9085714285714286
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6785714285714286
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2780952380952381
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.176
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09085714285714284
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6785714285714286
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8342857142857143
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.88
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9085714285714286
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7995179593313807
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7638202947845802
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7674168947978975
            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.6685714285714286
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8271428571428572
            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.6685714285714286
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2757142857142857
            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.6685714285714286
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8271428571428572
            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.7954721927324272
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7574353741496596
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7606771546726785
            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.6728571428571428
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8142857142857143
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8642857142857143
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9042857142857142
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6728571428571428
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2714285714285714
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17285714285714285
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09042857142857141
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6728571428571428
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8142857142857143
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8642857142857143
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9042857142857142
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7916203877025221
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7552613378684805
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7590698804335085
            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.6528571428571428
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8114285714285714
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.85
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8885714285714286
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6528571428571428
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2704761904761904
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16999999999999998
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08885714285714286
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6528571428571428
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8114285714285714
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.85
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8885714285714286
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7754227314755763
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.738630385487528
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7431237490151862
            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.6157142857142858
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.7614285714285715
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.81
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8642857142857143
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6157142857142858
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2538095238095238
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16199999999999998
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08642857142857142
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6157142857142858
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.7614285714285715
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.81
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8642857142857143
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7413954849024657
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.701954648526077
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.707051130510896
            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("gauravsirola/bge-base-financial-matryoshka-v1")
# Run inference
sentences = [
    'State legislation increasingly requires PBMs to conduct audits of network pharmacies regarding claims submitted for payment. Non-compliance could prevent the recoupment of overpaid amounts, potentially causing financial and legal repercussions.',
    'What are the potential consequences for a company if its PBMs fail to comply with pharmacy audit regulations?',
    'What pages do the Consolidated Financial Statements and their accompanying Notes and reports appear on in the document?',
]
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.6786
cosine_accuracy@3 0.8343
cosine_accuracy@5 0.88
cosine_accuracy@10 0.9086
cosine_precision@1 0.6786
cosine_precision@3 0.2781
cosine_precision@5 0.176
cosine_precision@10 0.0909
cosine_recall@1 0.6786
cosine_recall@3 0.8343
cosine_recall@5 0.88
cosine_recall@10 0.9086
cosine_ndcg@10 0.7995
cosine_mrr@10 0.7638
cosine_map@100 0.7674

Information Retrieval

Metric Value
cosine_accuracy@1 0.6686
cosine_accuracy@3 0.8271
cosine_accuracy@5 0.8686
cosine_accuracy@10 0.9129
cosine_precision@1 0.6686
cosine_precision@3 0.2757
cosine_precision@5 0.1737
cosine_precision@10 0.0913
cosine_recall@1 0.6686
cosine_recall@3 0.8271
cosine_recall@5 0.8686
cosine_recall@10 0.9129
cosine_ndcg@10 0.7955
cosine_mrr@10 0.7574
cosine_map@100 0.7607

Information Retrieval

Metric Value
cosine_accuracy@1 0.6729
cosine_accuracy@3 0.8143
cosine_accuracy@5 0.8643
cosine_accuracy@10 0.9043
cosine_precision@1 0.6729
cosine_precision@3 0.2714
cosine_precision@5 0.1729
cosine_precision@10 0.0904
cosine_recall@1 0.6729
cosine_recall@3 0.8143
cosine_recall@5 0.8643
cosine_recall@10 0.9043
cosine_ndcg@10 0.7916
cosine_mrr@10 0.7553
cosine_map@100 0.7591

Information Retrieval

Metric Value
cosine_accuracy@1 0.6529
cosine_accuracy@3 0.8114
cosine_accuracy@5 0.85
cosine_accuracy@10 0.8886
cosine_precision@1 0.6529
cosine_precision@3 0.2705
cosine_precision@5 0.17
cosine_precision@10 0.0889
cosine_recall@1 0.6529
cosine_recall@3 0.8114
cosine_recall@5 0.85
cosine_recall@10 0.8886
cosine_ndcg@10 0.7754
cosine_mrr@10 0.7386
cosine_map@100 0.7431

Information Retrieval

Metric Value
cosine_accuracy@1 0.6157
cosine_accuracy@3 0.7614
cosine_accuracy@5 0.81
cosine_accuracy@10 0.8643
cosine_precision@1 0.6157
cosine_precision@3 0.2538
cosine_precision@5 0.162
cosine_precision@10 0.0864
cosine_recall@1 0.6157
cosine_recall@3 0.7614
cosine_recall@5 0.81
cosine_recall@10 0.8643
cosine_ndcg@10 0.7414
cosine_mrr@10 0.702
cosine_map@100 0.7071

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: 7 tokens
    • mean: 44.73 tokens
    • max: 301 tokens
    • min: 8 tokens
    • mean: 20.57 tokens
    • max: 41 tokens
  • Samples:
    positive anchor
    Net loss was $396.6 million and $973.6 million during the years ended December 31, 2023, and December 31, 2022, respectively. What was the net loss for the year ended December 31, 2022?
    Under the 2023 IDA agreement, the service fee on client cash deposits held at the TD Depository Institutions remains at 15 basis points, as it was in the 2019 IDA agreement. How much is the service fee on client cash deposits held at the TD Depository Institutions under the 2023 IDA agreement?
    The total shareholders’ deficit is listed as $7,994.8 million in the latest financial statement. What is the total shareholder's deficit according to the latest financial statement?
  • 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
  • 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
  • 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.8122 10 1.5585 - - - - -
0.9746 12 - 0.7207 0.7441 0.7510 0.6857 0.7493
1.6244 20 0.6691 - - - - -
1.9492 24 - 0.7392 0.7564 0.7601 0.7006 0.7661
2.4365 30 0.4702 - - - - -
2.9239 36 - 0.7430 0.7600 0.7619 0.7065 0.7685
3.2487 40 0.407 - - - - -
3.8985 48 - 0.7431 0.7591 0.7607 0.7071 0.7674
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.6
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.31.0
  • Datasets: 2.19.1
  • 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}
}