sintuk's picture
Add new SentenceTransformer model
44d5f3a verified
metadata
language:
  - en
license: apache-2.0
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:6300
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
base_model: BAAI/bge-base-en-v1.5
widget:
  - source_sentence: >-
      As of December 30, 2023, about 92% of securities in the Company's
      portfolio were at an unrealized loss position.
    sentences:
      - >-
        What additional document is included in the financial document apart
        from the Consolidated Financial Statements?
      - >-
        What percentage of the Company's portfolio of securities was in an
        unrealized loss position as of December 30, 2023?
      - >-
        What was the total loss the company incurred in association with the
        sale of the eOne Music business in 2021?
  - source_sentence: >-
      Revenue Recognition Product Sales We recognize revenue from product sales
      when control of the product transfers to the customer, which is generally
      upon shipment or delivery, or in certain cases, upon the corresponding
      sales by our customer to a third party. Revenues are recognized net of
      estimated rebates and chargebacks, patient co-pay assistance, prompt pay
      discounts, distributor fees, sales return provisions and other related
      deductions. These deductions to product sales are referred to as
      gross-to-net deductions and are estimated and recorded in the period in
      which the related product sales occur.
    sentences:
      - >-
        What is the expiration date for the federal research and development tax
        credits as of 2023?
      - >-
        How are revenue recognition and Gross-to-Net deductions related in the
        context of product sales?
      - >-
        What is the approval status of Tirzepatide (Mounjaro, Zepbound®) for the
        treatment of obesity as of 2023?
  - source_sentence: >-
      The expected long-term rate of return assumption used in computing 2023
      net periodic benefit income for the U.S. pension plans was 6.75%.
    sentences:
      - >-
        What is the expected long-term rate of return on plan assets used in
        computing the 2023 net periodic benefit income for U.S. pension plans?
      - >-
        What was the increase in postpaid phone subscribers at AT&T Inc. from
        2021 to 2023?
      - How does Chipotle ensure pay equity among its employees?
  - source_sentence: >-
      In an Annual Report on Form 10-K, 'Litigation and Other Legal Matters' are
      detailed under 'Note 13 — Commitments and Contingencies' in Part IV, Item
      15 of the consolidated financial statements.
    sentences:
      - >-
        What is Apple's commitment to workplace practices and policies
        concerning harassment or discrimination?
      - By what percentage did net income increase in 2023 compared to 2022?
      - >-
        In the structure of an Annual Report on Form 10-K, where does one find
        details about 'Litigation and Other Legal Matters'?
  - source_sentence: >-
      Any such inquiries or investigations (including the IDPC proceedings)
      could subject us to substantial fines and costs, require us to change our
      business practices, divert resources and the attention of management from
      our business, or adversely affect our business.
    sentences:
      - >-
        What are some of the potential consequences for Meta Platforms, Inc.
        from inquiries or investigations as noted in the provided text?
      - >-
        What was the quarterly dividend declared by Bank of America's board of
        directors on January 31, 2024?
      - >-
        What recent technological advancements has the company implemented in
        set-top box (STB) solutions?
pipeline_tag: sentence-similarity
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
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.7357142857142858
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8557142857142858
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8957142857142857
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9285714285714286
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7357142857142858
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.28523809523809524
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1791428571428571
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09285714285714286
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.7357142857142858
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8557142857142858
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8957142857142857
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9285714285714286
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8337852464509243
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8032046485260771
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8062343226371107
            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.7271428571428571
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8628571428571429
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.89
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9328571428571428
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7271428571428571
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2876190476190476
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17799999999999996
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09328571428571426
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.7271428571428571
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8628571428571429
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.89
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9328571428571428
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8315560673246299
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7989370748299317
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.801544102570532
            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.73
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8428571428571429
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8842857142857142
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9242857142857143
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.73
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.28095238095238095
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17685714285714282
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09242857142857142
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.73
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8428571428571429
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8842857142857142
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9242857142857143
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8268873311527957
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7956485260770971
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.798561528530067
            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.7157142857142857
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8414285714285714
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8671428571428571
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9185714285714286
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7157142857142857
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.28047619047619043
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1734285714285714
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09185714285714283
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.7157142857142857
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8414285714285714
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8671428571428571
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9185714285714286
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8170171494742537
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.784555555555555
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7871835671545038
            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.6928571428571428
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8171428571428572
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8471428571428572
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8928571428571429
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6928571428571428
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2723809523809524
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16942857142857143
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08928571428571426
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6928571428571428
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8171428571428572
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8471428571428572
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8928571428571429
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7945818011619106
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7630130385487527
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7667826657397622
            name: Cosine Map@100

BGE base Financial Matryoshka

This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5 on the json dataset. 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 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json
  • 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("sintuk/bge-base-financial-matryoshka")
# Run inference
sentences = [
    'Any such inquiries or investigations (including the IDPC proceedings) could subject us to substantial fines and costs, require us to change our business practices, divert resources and the attention of management from our business, or adversely affect our business.',
    'What are some of the potential consequences for Meta Platforms, Inc. from inquiries or investigations as noted in the provided text?',
    "What was the quarterly dividend declared by Bank of America's board of directors on January 31, 2024?",
]
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 dim_768 dim_512 dim_256 dim_128 dim_64
cosine_accuracy@1 0.7357 0.7271 0.73 0.7157 0.6929
cosine_accuracy@3 0.8557 0.8629 0.8429 0.8414 0.8171
cosine_accuracy@5 0.8957 0.89 0.8843 0.8671 0.8471
cosine_accuracy@10 0.9286 0.9329 0.9243 0.9186 0.8929
cosine_precision@1 0.7357 0.7271 0.73 0.7157 0.6929
cosine_precision@3 0.2852 0.2876 0.281 0.2805 0.2724
cosine_precision@5 0.1791 0.178 0.1769 0.1734 0.1694
cosine_precision@10 0.0929 0.0933 0.0924 0.0919 0.0893
cosine_recall@1 0.7357 0.7271 0.73 0.7157 0.6929
cosine_recall@3 0.8557 0.8629 0.8429 0.8414 0.8171
cosine_recall@5 0.8957 0.89 0.8843 0.8671 0.8471
cosine_recall@10 0.9286 0.9329 0.9243 0.9186 0.8929
cosine_ndcg@10 0.8338 0.8316 0.8269 0.817 0.7946
cosine_mrr@10 0.8032 0.7989 0.7956 0.7846 0.763
cosine_map@100 0.8062 0.8015 0.7986 0.7872 0.7668

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 6,300 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 6 tokens
    • mean: 45.64 tokens
    • max: 301 tokens
    • min: 2 tokens
    • mean: 20.4 tokens
    • max: 42 tokens
  • Samples:
    positive anchor
    We later began working with commercial enterprises, who often faced fundamentally similar challenges in working with data. What type of software solutions did Palantir later provide to commercial enterprises?
    General Motors Company was incorporated as a Delaware corporation in 2009. What year was General Motors Company incorporated?
    Companies with which we have strategic partnerships in some areas may be competitors in other areas. What is the nature of IBM's relationship with its strategic partners in competitional terms?
  • 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
  • tf32: False
  • load_best_model_at_end: True
  • 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: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: False
  • 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
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss dim_768_cosine_ndcg@10 dim_512_cosine_ndcg@10 dim_256_cosine_ndcg@10 dim_128_cosine_ndcg@10 dim_64_cosine_ndcg@10
0.8122 10 1.6103 - - - - -
0.9746 12 - 0.8290 0.8247 0.8184 0.8110 0.7726
1.6244 20 0.6597 - - - - -
1.9492 24 - 0.8313 0.8290 0.8264 0.8161 0.7849
2.4365 30 0.5016 - - - - -
2.9239 36 - 0.8340 0.8323 0.8265 0.8170 0.7943
3.2487 40 0.4629 - - - - -
3.8985 48 - 0.8338 0.8316 0.8269 0.817 0.7946
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.9
  • Sentence Transformers: 3.4.1
  • Transformers: 4.41.2
  • PyTorch: 2.2.2
  • Accelerate: 1.5.2
  • 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}
}