juanpablomesa's picture
Add new SentenceTransformer model.
cdbd278 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:9600
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: The median home value in San Carlos, CA is $2,350,000.
    sentences:
      - >-
        What does the console property of the WorkerGlobalScope interface
        provide access to?
      - >-
        What is the last sold price and date for the property at 4372 W 14th
        Street Dr, Greeley, CO 80634?
      - What is the median home value in San Carlos, CA?
  - source_sentence: >-
      The four new principals hired by Superintendent of Schools Ken Kenworthy
      for the Okeechobee school system are Joseph Stanley at Central Elementary,
      Jody Hays at Yearling Middle School, Tuuli Robinson at North Elementary,
      and Dr. Thelma Jackson at Seminole Elementary School.
    sentences:
      - >-
        Who won the gold medal in the men's 1,500m final at the speed skating
        World Cup?
      - What is the purpose of the 1,2,3 bowling activity for toddlers?
      - >-
        Who are the four new principals hired by Superintendent of Schools Ken
        Kenworthy for the Okeechobee school system?
  - source_sentence: >-
      Twitter Audit is used to scan your followers and find out what percentage
      of them are real people.
    sentences:
      - What is the main product discussed in the context of fair trade?
      - What is the software mentioned in the context suitable for?
      - What is the purpose of the Twitter Audit tool?
  - source_sentence: >-
      Michael Czysz made the 2011 E1pc lighter and more powerful than the 2010
      version, and also improved the software controlling the bike’s D1g1tal
      powertrain.
    sentences:
      - >-
        What changes did Michael Czysz make to the 2011 E1pc compared to the
        2010 version?
      - >-
        What is the author's suggestion for leaving a legacy for future
        generations?
      - >-
        What is the most affordable and reliable option to fix a MacBook
        according to the technician?
  - source_sentence: HTC called the Samsung Galaxy S4 “mainstream”.
    sentences:
      - >-
        What is the essential aspect of the vocation to marriage according to
        Benedict XVI's message on the 40th Anniversary of Humanae Vitae?
      - What did HTC announce about the Samsung Galaxy S4?
      - >-
        What was Allan Cox's First Class Delivery launched on for his Level 1
        certification flight?
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.9675
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9791666666666666
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9829166666666667
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.98875
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9675
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3263888888888889
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1965833333333333
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09887499999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9675
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9791666666666666
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9829166666666667
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.98875
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9776735843960416
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9741727843915341
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.974471752833939
            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.9641666666666666
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9775
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9816666666666667
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.98875
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9641666666666666
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3258333333333333
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1963333333333333
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09887499999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9641666666666666
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9775
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9816666666666667
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.98875
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9758504869144781
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9717977843915344
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9720465527215371
            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.9620833333333333
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9741666666666666
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9804166666666667
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.98625
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9620833333333333
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.32472222222222225
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1960833333333333
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09862499999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9620833333333333
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9741666666666666
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9804166666666667
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.98625
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9737941784937224
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9698406084656085
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9702070899963996
            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.9554166666666667
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.97
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9766666666666667
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.98375
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9554166666666667
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3233333333333333
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1953333333333333
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09837499999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9554166666666667
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.97
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9766666666666667
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.98375
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.969307497603498
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9647410714285715
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9652034022263717
            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.9391666666666667
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9616666666666667
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9666666666666667
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9758333333333333
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9391666666666667
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3205555555555556
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1933333333333333
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09758333333333333
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9391666666666667
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9616666666666667
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9666666666666667
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9758333333333333
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9577277779716886
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9519417989417989
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9525399354798056
            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("juanpablomesa/bge-base-financial-matryoshka")
# Run inference
sentences = [
    'HTC called the Samsung Galaxy S4 “mainstream”.',
    'What did HTC announce about the Samsung Galaxy S4?',
    "What is the essential aspect of the vocation to marriage according to Benedict XVI's message on the 40th Anniversary of Humanae Vitae?",
]
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.9675
cosine_accuracy@3 0.9792
cosine_accuracy@5 0.9829
cosine_accuracy@10 0.9888
cosine_precision@1 0.9675
cosine_precision@3 0.3264
cosine_precision@5 0.1966
cosine_precision@10 0.0989
cosine_recall@1 0.9675
cosine_recall@3 0.9792
cosine_recall@5 0.9829
cosine_recall@10 0.9888
cosine_ndcg@10 0.9777
cosine_mrr@10 0.9742
cosine_map@100 0.9745

Information Retrieval

Metric Value
cosine_accuracy@1 0.9642
cosine_accuracy@3 0.9775
cosine_accuracy@5 0.9817
cosine_accuracy@10 0.9888
cosine_precision@1 0.9642
cosine_precision@3 0.3258
cosine_precision@5 0.1963
cosine_precision@10 0.0989
cosine_recall@1 0.9642
cosine_recall@3 0.9775
cosine_recall@5 0.9817
cosine_recall@10 0.9888
cosine_ndcg@10 0.9759
cosine_mrr@10 0.9718
cosine_map@100 0.972

Information Retrieval

Metric Value
cosine_accuracy@1 0.9621
cosine_accuracy@3 0.9742
cosine_accuracy@5 0.9804
cosine_accuracy@10 0.9862
cosine_precision@1 0.9621
cosine_precision@3 0.3247
cosine_precision@5 0.1961
cosine_precision@10 0.0986
cosine_recall@1 0.9621
cosine_recall@3 0.9742
cosine_recall@5 0.9804
cosine_recall@10 0.9862
cosine_ndcg@10 0.9738
cosine_mrr@10 0.9698
cosine_map@100 0.9702

Information Retrieval

Metric Value
cosine_accuracy@1 0.9554
cosine_accuracy@3 0.97
cosine_accuracy@5 0.9767
cosine_accuracy@10 0.9838
cosine_precision@1 0.9554
cosine_precision@3 0.3233
cosine_precision@5 0.1953
cosine_precision@10 0.0984
cosine_recall@1 0.9554
cosine_recall@3 0.97
cosine_recall@5 0.9767
cosine_recall@10 0.9838
cosine_ndcg@10 0.9693
cosine_mrr@10 0.9647
cosine_map@100 0.9652

Information Retrieval

Metric Value
cosine_accuracy@1 0.9392
cosine_accuracy@3 0.9617
cosine_accuracy@5 0.9667
cosine_accuracy@10 0.9758
cosine_precision@1 0.9392
cosine_precision@3 0.3206
cosine_precision@5 0.1933
cosine_precision@10 0.0976
cosine_recall@1 0.9392
cosine_recall@3 0.9617
cosine_recall@5 0.9667
cosine_recall@10 0.9758
cosine_ndcg@10 0.9577
cosine_mrr@10 0.9519
cosine_map@100 0.9525

Training Details

Training Dataset

Unnamed Dataset

  • Size: 9,600 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 3 tokens
    • mean: 50.19 tokens
    • max: 435 tokens
    • min: 3 tokens
    • mean: 18.66 tokens
    • max: 43 tokens
  • Samples:
    positive anchor
    The Berry Export Summary 2028 is a dedicated export plan for the Australian strawberry, raspberry, and blackberry industries. It maps the sectors’ current position, where they want to be, high-opportunity markets, and next steps. The purpose of this plan is to grow their global presence over the next 10 years. What is the Berry Export Summary 2028 and what is its purpose?
    Benefits reported from having access to Self-supply water sources include convenience, less time spent for fetching water and access to more and better quality water. In some areas, Self-supply sources offer important added values such as water for productive use, income generation, family safety and improved food security. What are some of the benefits reported from having access to Self-supply water sources?
    The unique features of the Coolands for Twitter app include Real-Time updates without the need for a refresh button, Avatar Indicator which shows small avatars on the title bar for new messages, Direct Link for intuitive and convenient link opening, Smart Bookmark to easily return to previous reading position, and User Level Notification which allows customized notification settings for different users. What are the unique features of the Coolands for Twitter app?
  • 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.5333 10 0.6065 - - - - -
0.96 18 - 0.9583 0.9674 0.9695 0.9372 0.9708
1.0667 20 0.3313 - - - - -
1.6 30 0.144 - - - - -
1.9733 37 - 0.9630 0.9699 0.9716 0.9488 0.9745
2.1333 40 0.1317 - - - - -
2.6667 50 0.0749 - - - - -
2.9867 56 - 0.9650 0.9701 0.9721 0.9522 0.9747
3.2 60 0.088 - - - - -
3.7333 70 0.0598 - - - - -
3.84 72 - 0.9652 0.9702 0.972 0.9525 0.9745
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.5
  • 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}
}