bge-micro-v2-esg-v2 / README.md
elsayovita's picture
Add new SentenceTransformer model.
1152e94 verified
metadata
base_model: TaylorAI/bge-micro-v2
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:11863
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: >-
      In the fiscal year 2022, the emissions were categorized into different
      scopes, with each scope representing a specific source of emissions
    sentences:
      - >-
        Question: What is NetLink proactive in identifying to be more efficient
        in? 
      - >-
        What standard is the Environment, Health, and Safety Management System
        (EHSMS) audited to by a third-party accredited certification body at the
        operational assets level of CLI?
      - >-
        What do the different scopes represent in terms of emissions in the
        fiscal year 2022?
  - source_sentence: >-
      NetLink is committed to protecting the security of all information and
      information systems, including both end-user data and corporate data. To
      this end, management ensures that the appropriate IT policies, personal
      data protection policy, risk mitigation strategies, cyber security
      programmes, systems, processes, and controls are in place to protect our
      IT systems and confidential data
    sentences:
      - '"What recognition did NetLink receive in FY22?"'
      - >-
        What measures does NetLink have in place to protect the security of all
        information and information systems, including end-user data and
        corporate data?
      - >-
        Question: What does Disclosure 102-10 discuss regarding the organization
        and its supply chain?
  - source_sentence: >-
      In the domain of economic performance, the focus is on the financial
      health and growth of the organization, ensuring sustainable profitability
      and value creation for stakeholders
    sentences:
      - >-
        What does NetLink prioritize by investing in its network to ensure
        reliability and quality of infrastructure?
      - >-
        What percentage of the total energy was accounted for by heat, steam,
        and chilled water in 2021 according to the given information?
      - >-
        What is the focus in the domain of economic performance, ensuring
        sustainable profitability and value creation for stakeholders?
  - source_sentence: >-
      Disclosure 102-41 discusses collective bargaining agreements and is found
      on page 98
    sentences:
      - What topic is discussed in Disclosure 102-41 on page 98 of the document?
      - >-
        What was the number of cases in 2021, following a decrease from 42 cases
        in 2020?
      - >-
        What type of data does GRI 101 provide in relation to connecting the
        nation?
  - source_sentence: >-
      Employee health and well-being has never been more topical than it was in
      the past year. We understand that people around the world, including our
      employees, have been increasingly exposed to factors affecting their
      physical and mental wellbeing. We are committed to creating an environment
      that supports our employees and ensures they feel valued and have a sense
      of belonging. We utilised
    sentences:
      - >-
        What aspect of the standard covers the evaluation of the management
        approach?
      - >-
        Question: What is the company's commitment towards its employees' health
        and well-being based on the provided context information?
      - >-
        What types of skills does NetLink focus on developing through their
        training and development opportunities for employees?
model-index:
  - name: BGE micro v2 ESG
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 384
          type: dim_384
        metrics:
          - type: cosine_accuracy@1
            value: 0.7549523729242181
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8991823316193206
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9237123830397033
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9447020146674534
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7549523729242181
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2997274438731068
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1847424766079407
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09447020146674537
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.020970899247894956
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.02497728698942558
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.025658677306658433
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.026241722629651493
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.18912117167223944
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8309359566693303
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.023120117824201005
            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.7496417432352693
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8958105032453848
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9187389361881481
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9417516648402596
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7496417432352693
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2986035010817949
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1837477872376296
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09417516648402599
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.020823381756535267
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.02488362509014959
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.025520526005226342
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.026159768467784998
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.188171652806899
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8261983036492017
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.022991454812532088
            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.7355643597740875
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8874652280198938
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9105622523813538
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9341650509989041
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7355643597740875
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2958217426732979
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1821124504762708
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09341650509989044
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.02043234332705799
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.0246518118894415
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.025293395899482058
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.02594902919441401
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.18580500893220617
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8144083444724101
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.022667974495178208
            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.6972098120205682
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8493635673944196
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8830818511337772
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.913175419371154
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6972098120205682
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.28312118913147316
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.17661637022675547
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09131754193711542
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.019366939222793565
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.023593432427622775
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.024530051420382712
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.02536598387142095
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.1787893349481174
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7792686076088251
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.021712360244980362
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 32
          type: dim_32
        metrics:
          - type: cosine_accuracy@1
            value: 0.5974036921520695
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.7523392059344179
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.7970159318890668
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8448115990896063
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.5974036921520695
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.25077973531147263
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.15940318637781337
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08448115990896064
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.016594547004224157
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.02089831127595606
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.022139331441362976
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.023466988863600182
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.15933281345013575
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.6849689711507925
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.019142044257794796
            name: Cosine Map@100

BGE micro v2 ESG

This is a sentence-transformers model finetuned from TaylorAI/bge-micro-v2. It maps sentences & paragraphs to a 384-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: TaylorAI/bge-micro-v2
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 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': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

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("elsayovita/bge-micro-v2-esg-v2")
# Run inference
sentences = [
    'Employee health and well-being has never been more topical than it was in the past year. We understand that people around the world, including our employees, have been increasingly exposed to factors affecting their physical and mental wellbeing. We are committed to creating an environment that supports our employees and ensures they feel valued and have a sense of belonging. We utilised',
    "Question: What is the company's commitment towards its employees' health and well-being based on the provided context information?",
    'What types of skills does NetLink focus on developing through their training and development opportunities for employees?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# 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.755
cosine_accuracy@3 0.8992
cosine_accuracy@5 0.9237
cosine_accuracy@10 0.9447
cosine_precision@1 0.755
cosine_precision@3 0.2997
cosine_precision@5 0.1847
cosine_precision@10 0.0945
cosine_recall@1 0.021
cosine_recall@3 0.025
cosine_recall@5 0.0257
cosine_recall@10 0.0262
cosine_ndcg@10 0.1891
cosine_mrr@10 0.8309
cosine_map@100 0.0231

Information Retrieval

Metric Value
cosine_accuracy@1 0.7496
cosine_accuracy@3 0.8958
cosine_accuracy@5 0.9187
cosine_accuracy@10 0.9418
cosine_precision@1 0.7496
cosine_precision@3 0.2986
cosine_precision@5 0.1837
cosine_precision@10 0.0942
cosine_recall@1 0.0208
cosine_recall@3 0.0249
cosine_recall@5 0.0255
cosine_recall@10 0.0262
cosine_ndcg@10 0.1882
cosine_mrr@10 0.8262
cosine_map@100 0.023

Information Retrieval

Metric Value
cosine_accuracy@1 0.7356
cosine_accuracy@3 0.8875
cosine_accuracy@5 0.9106
cosine_accuracy@10 0.9342
cosine_precision@1 0.7356
cosine_precision@3 0.2958
cosine_precision@5 0.1821
cosine_precision@10 0.0934
cosine_recall@1 0.0204
cosine_recall@3 0.0247
cosine_recall@5 0.0253
cosine_recall@10 0.0259
cosine_ndcg@10 0.1858
cosine_mrr@10 0.8144
cosine_map@100 0.0227

Information Retrieval

Metric Value
cosine_accuracy@1 0.6972
cosine_accuracy@3 0.8494
cosine_accuracy@5 0.8831
cosine_accuracy@10 0.9132
cosine_precision@1 0.6972
cosine_precision@3 0.2831
cosine_precision@5 0.1766
cosine_precision@10 0.0913
cosine_recall@1 0.0194
cosine_recall@3 0.0236
cosine_recall@5 0.0245
cosine_recall@10 0.0254
cosine_ndcg@10 0.1788
cosine_mrr@10 0.7793
cosine_map@100 0.0217

Information Retrieval

Metric Value
cosine_accuracy@1 0.5974
cosine_accuracy@3 0.7523
cosine_accuracy@5 0.797
cosine_accuracy@10 0.8448
cosine_precision@1 0.5974
cosine_precision@3 0.2508
cosine_precision@5 0.1594
cosine_precision@10 0.0845
cosine_recall@1 0.0166
cosine_recall@3 0.0209
cosine_recall@5 0.0221
cosine_recall@10 0.0235
cosine_ndcg@10 0.1593
cosine_mrr@10 0.685
cosine_map@100 0.0191

Training Details

Training Dataset

Unnamed Dataset

  • Size: 11,863 training samples
  • Columns: context and question
  • Approximate statistics based on the first 1000 samples:
    context question
    type string string
    details
    • min: 13 tokens
    • mean: 40.74 tokens
    • max: 277 tokens
    • min: 11 tokens
    • mean: 24.4 tokens
    • max: 62 tokens
  • Samples:
    context question
    The engagement with key stakeholders involves various topics and methods throughout the year Question: What does the engagement with key stakeholders involve throughout the year?
    For unitholders and analysts, the focus is on business and operations, the release of financial results, and the overall performance and announcements Question: What is the focus for unitholders and analysts in terms of business and operations, financial results, performance, and announcements?
    These are communicated through press releases and other required disclosures via SGXNet and NetLink's website What platform is used to communicate press releases and required disclosures for NetLink?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            384,
            256,
            128,
            64,
            32
        ],
        "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: False
  • 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: 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_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
  • eval_on_start: 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_32_cosine_map@100 dim_384_cosine_map@100 dim_64_cosine_map@100
0.4313 10 5.2501 - - - - -
0.8625 20 3.4967 - - - - -
1.0350 24 - 0.0221 0.0224 0.0185 0.0226 0.0210
1.2264 30 3.1196 - - - - -
1.6577 40 2.4428 - - - - -
2.0458 49 - 0.0226 0.0229 0.0189 0.0230 0.0215
2.0216 50 2.2222 - - - - -
2.4528 60 2.3441 - - - - -
2.8841 70 2.0096 - - - - -
3.0566 74 - 0.0227 0.0230 0.0191 0.0231 0.0217
3.2480 80 2.3019 - - - - -
3.6792 90 1.9538 - - - - -
3.7655 92 - 0.0227 0.023 0.0191 0.0231 0.0217
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.4
  • PyTorch: 2.4.0+cu121
  • Accelerate: 0.32.1
  • Datasets: 2.21.0
  • 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}
}