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

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

This is a sentence-transformers 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

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

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

Evaluation

Metrics

Information Retrieval

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

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: 4 tokens
    • mean: 46.01 tokens
    • max: 205 tokens
    • min: 7 tokens
    • mean: 20.43 tokens
    • max: 46 tokens
  • Samples:
    positive anchor
    The company's SEC filings are available to the public over the internet at the SEC's website at www.sec.gov. The SEC filings are also available free of charge on the company's website at ir.hilton.com as soon as reasonably practicable after they are filed with or furnished to the SEC. Where can public access the company's SEC filings?
    Garmin’s operations are subject to various environmental laws, including laws addressing air and water pollution and management of hazardous substances and wastes. What aspects of Garmin's business are subject to environmental laws?
    Adjusted EBITDA does not reflect certain litigation expenses, consisting of legal settlements and related fees for specific proceedings that we have determined arise outside of the ordinary course of business. How does Adjusted EBITDA treat expenses related to litigation?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            512
        ],
        "matryoshka_weights": [
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

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

All Hyperparameters

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: 5
  • max_steps: -1
  • lr_scheduler_type: cosine
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step dim_512_cosine_map@100
0 0 0.7260
0.9746 12 0.7815
1.9492 24 0.7872
2.9239 36 0.7899
3.9797 49 0.7926
4.8731 60 0.7932
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.8
  • Sentence Transformers: 3.1.1
  • Transformers: 4.45.2
  • PyTorch: 2.4.1
  • Accelerate: 0.34.2
  • Datasets: 3.2.0
  • Tokenizers: 0.20.0

Citation

BibTeX

Sentence Transformers

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