mogmix's picture
Add new SentenceTransformer model
45d5f8b 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: >-
      Balance as of December 31, 2023 for Medicaid and Medicare Rebates was
      $5,297 million, for Managed Care Rebates was $7,020 million, and for
      Wholesaler Chargebacks was $1,172 million.
    sentences:
      - What can Membership Rewards points be redeemed for?
      - >-
        What were the ending balances for Medicaid and Medicare Rebates, Managed
        Care Rebates, and Wholesaler Chargebacks as of December 31, 2023?
      - >-
        What was the percentage increase in the general and administrative
        expenses from the fiscal year ending on October 2, 2022, to the fiscal
        year ending on October 1, 2023?
  - source_sentence: >-
      In analyzing goodwill for potential impairment in the quantitative
      impairment test, the company uses the market approach, when available and
      appropriate, or a combination of the income and market approaches to
      estimate the reporting unit’s fair value.
    sentences:
      - What is the purpose of Visa according to the overview provided?
      - >-
        What approaches does the company use to analyze goodwill for potential
        impairment in the quantitative impairment test?
      - >-
        What method is used to record amortization and costs for owned content
        that is predominantly monetized on an individual basis?
  - source_sentence: >-
      This report includes forward-looking statements within the meaning of the
      Private Securities Litigation Reform Act of 1995, which are subject to
      risks and uncertainties.
    sentences:
      - What are forward-looking statements in financial reports?
      - >-
        What percentage of the Pharmacy & Consumer Wellness segment's revenues
        did the pharmacy category constitute in 2023?
      - >-
        What are the depreciation methods and useful life estimates for
        buildings, furniture, and computer equipment as mentioned in the
        company's accounting policies?
  - source_sentence: >-
      We would use the net proceeds from the sale of any securities offered
      pursuant to the shelf registration statement for general corporate
      purposes, which may include funding for working capital, financing capital
      expenditures, research and development, and potential acquisitions or
      strategic alliances.
    sentences:
      - >-
        What measures does Goldman Sachs employ to handle their cyber incident
        response?
      - >-
        What awards did the company receive in 2022 for environmental and safety
        achievements?
      - >-
        How are the proceeds from the shelf registration statement planned to be
        used?
  - source_sentence: >-
      We use a variety of practices to measure and support progress against
      these growth behaviors and to ensure that our employees are engaged and
      fulfilled at work.
    sentences:
      - >-
        How does the company measure and support employee engagement and
        cultural growth?
      - How does the company's membership format affect its profitability?
      - >-
        What is the maximum additional exclusivity period granted by the FDA for
        approved drugs that undergo pediatric testing?
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.7071428571428572
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8314285714285714
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8728571428571429
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9228571428571428
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7071428571428572
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27714285714285714
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17457142857142854
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09228571428571428
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.7071428571428572
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8314285714285714
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8728571428571429
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9228571428571428
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8152573597721203
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7808815192743759
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7835857411528796
            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.6971428571428572
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8328571428571429
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8742857142857143
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9157142857142857
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6971428571428572
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2776190476190476
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17485714285714285
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09157142857142857
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6971428571428572
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8328571428571429
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8742857142857143
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9157142857142857
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8089182108201057
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7743531746031744
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.777472809187461
            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.6957142857142857
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.83
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.87
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.91
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6957142857142857
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27666666666666667
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.174
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09099999999999998
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6957142857142857
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.83
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.87
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.91
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8052344976922489
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7713877551020404
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7749003964653882
            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.6828571428571428
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8257142857142857
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8528571428571429
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9071428571428571
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6828571428571428
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2752380952380953
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17057142857142854
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09071428571428569
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6828571428571428
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8257142857142857
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8528571428571429
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9071428571428571
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7972100056891113
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7619444444444445
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7654665230481205
            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.6371428571428571
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8042857142857143
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8428571428571429
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8814285714285715
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6371428571428571
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2680952380952381
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16857142857142854
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08814285714285712
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6371428571428571
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8042857142857143
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8428571428571429
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8814285714285715
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7645594630559873
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7265028344671197
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7306525198080603
            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("mogmix/bge-base-financial-matryoshka")
# Run inference
sentences = [
    'We use a variety of practices to measure and support progress against these growth behaviors and to ensure that our employees are engaged and fulfilled at work.',
    'How does the company measure and support employee engagement and cultural growth?',
    "How does the company's membership format affect its profitability?",
]
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.7071 0.6971 0.6957 0.6829 0.6371
cosine_accuracy@3 0.8314 0.8329 0.83 0.8257 0.8043
cosine_accuracy@5 0.8729 0.8743 0.87 0.8529 0.8429
cosine_accuracy@10 0.9229 0.9157 0.91 0.9071 0.8814
cosine_precision@1 0.7071 0.6971 0.6957 0.6829 0.6371
cosine_precision@3 0.2771 0.2776 0.2767 0.2752 0.2681
cosine_precision@5 0.1746 0.1749 0.174 0.1706 0.1686
cosine_precision@10 0.0923 0.0916 0.091 0.0907 0.0881
cosine_recall@1 0.7071 0.6971 0.6957 0.6829 0.6371
cosine_recall@3 0.8314 0.8329 0.83 0.8257 0.8043
cosine_recall@5 0.8729 0.8743 0.87 0.8529 0.8429
cosine_recall@10 0.9229 0.9157 0.91 0.9071 0.8814
cosine_ndcg@10 0.8153 0.8089 0.8052 0.7972 0.7646
cosine_mrr@10 0.7809 0.7744 0.7714 0.7619 0.7265
cosine_map@100 0.7836 0.7775 0.7749 0.7655 0.7307

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: 4 tokens
    • mean: 45.46 tokens
    • max: 439 tokens
    • min: 7 tokens
    • mean: 20.55 tokens
    • max: 41 tokens
  • Samples:
    positive anchor
    We believe our residential connectivity revenue will increase as a result of growth in average domestic broadband revenue per customer, as well as increases in domestic wireless and international connectivity revenue. What are the projected trends for Comcast's residential connectivity revenue in 2023?
    The company's Artificial Intelligence Platform (AIP) leverages machine learning technologies and LLMs within the Gotham and Foundry platforms to connect AI with enterprise data, aiding in decision-making processes. How does the company integrate large language models with its software platforms?
    The impairment charges for Depop and Elo7 were influenced by factors such as macroeconomic conditions including reopening and inflation, as well as management changes and revised projected cash flows affecting their fair values. What factors contributed to the impairment charges for Depop and Elo7 in 2022?
  • 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: 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: 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.5675 - - - - -
1.0 13 - 0.8000 0.7975 0.7897 0.7811 0.7419
1.5685 20 0.6203 - - - - -
2.0 26 - 0.8114 0.8063 0.8044 0.7928 0.7599
2.3249 30 0.4678 - - - - -
3.0 39 - 0.8152 0.8092 0.8046 0.7967 0.7660
3.0812 40 0.4106 - - - - -
3.731 48 - 0.8153 0.8089 0.8052 0.7972 0.7646
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.7
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.2.1
  • Datasets: 3.2.0
  • Tokenizers: 0.21.0

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