bge-micro-v2-esg / README.md
elsayovita's picture
Add new SentenceTransformer model.
fc8db67 verified
|
raw
history blame
29.5 kB
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.7393576666947652
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8871280451825002
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9143555593020315
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9382955407569755
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7393576666947652
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2957093483941667
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1828711118604063
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09382955407569755
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.020537712963743484
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.024642445699513908
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.02539876553616755
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.026063765021027103
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.18655528566337626
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8176322873975245
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.022756262897092067
            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.731602461434713
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8831661468431257
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9111523223467926
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9355137823484785
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.731602461434713
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2943887156143752
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.18223046446935853
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09355137823484787
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.020322290595408698
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.024532392967864608
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.02530978673185536
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.02598649395412441
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.1854736961250685
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8120234114607371
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.022602117473168613
            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.7171035994267891
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8735564359774087
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9012897243530305
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.927927168507123
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7171035994267891
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2911854786591362
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1802579448706061
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09279271685071232
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.019919544428521924
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.02426545655492803
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.025035825676473073
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.025775754680753424
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.18301753980732727
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7997301868287288
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.022264162086570314
            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.6758829975554245
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8359605496080249
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8713647475343504
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9060945797858889
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6758829975554245
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2786535165360083
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1742729495068701
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.0906094579785889
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.018774527709872903
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.0232211263780007
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.024204576320398637
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.025169293882941365
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.17554680827328792
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7621402212294056
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.02123787521914149
            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.575908286268229
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.7347214026806036
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.780156790019388
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.8298069628255922
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.575908286268229
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.24490713422686783
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1560313580038776
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.08298069628255922
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.015997452396339696
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.020408927852238995
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.021671021944983007
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.02305019341182201
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.1551668722356578
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.6648409286443452
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.01858718928494409
            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")
# 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.7394
cosine_accuracy@3 0.8871
cosine_accuracy@5 0.9144
cosine_accuracy@10 0.9383
cosine_precision@1 0.7394
cosine_precision@3 0.2957
cosine_precision@5 0.1829
cosine_precision@10 0.0938
cosine_recall@1 0.0205
cosine_recall@3 0.0246
cosine_recall@5 0.0254
cosine_recall@10 0.0261
cosine_ndcg@10 0.1866
cosine_mrr@10 0.8176
cosine_map@100 0.0228

Information Retrieval

Metric Value
cosine_accuracy@1 0.7316
cosine_accuracy@3 0.8832
cosine_accuracy@5 0.9112
cosine_accuracy@10 0.9355
cosine_precision@1 0.7316
cosine_precision@3 0.2944
cosine_precision@5 0.1822
cosine_precision@10 0.0936
cosine_recall@1 0.0203
cosine_recall@3 0.0245
cosine_recall@5 0.0253
cosine_recall@10 0.026
cosine_ndcg@10 0.1855
cosine_mrr@10 0.812
cosine_map@100 0.0226

Information Retrieval

Metric Value
cosine_accuracy@1 0.7171
cosine_accuracy@3 0.8736
cosine_accuracy@5 0.9013
cosine_accuracy@10 0.9279
cosine_precision@1 0.7171
cosine_precision@3 0.2912
cosine_precision@5 0.1803
cosine_precision@10 0.0928
cosine_recall@1 0.0199
cosine_recall@3 0.0243
cosine_recall@5 0.025
cosine_recall@10 0.0258
cosine_ndcg@10 0.183
cosine_mrr@10 0.7997
cosine_map@100 0.0223

Information Retrieval

Metric Value
cosine_accuracy@1 0.6759
cosine_accuracy@3 0.836
cosine_accuracy@5 0.8714
cosine_accuracy@10 0.9061
cosine_precision@1 0.6759
cosine_precision@3 0.2787
cosine_precision@5 0.1743
cosine_precision@10 0.0906
cosine_recall@1 0.0188
cosine_recall@3 0.0232
cosine_recall@5 0.0242
cosine_recall@10 0.0252
cosine_ndcg@10 0.1755
cosine_mrr@10 0.7621
cosine_map@100 0.0212

Information Retrieval

Metric Value
cosine_accuracy@1 0.5759
cosine_accuracy@3 0.7347
cosine_accuracy@5 0.7802
cosine_accuracy@10 0.8298
cosine_precision@1 0.5759
cosine_precision@3 0.2449
cosine_precision@5 0.156
cosine_precision@10 0.083
cosine_recall@1 0.016
cosine_recall@3 0.0204
cosine_recall@5 0.0217
cosine_recall@10 0.0231
cosine_ndcg@10 0.1552
cosine_mrr@10 0.6648
cosine_map@100 0.0186

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: 2
  • 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: 2
  • 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.0772 - - - - -
0.8625 20 3.2666 - - - - -
1.0350 24 - 0.0221 0.0224 0.0185 0.0226 0.0211
1.2264 30 3.1157 - - - - -
1.6577 40 2.585 - - - - -
1.9164 46 - 0.0223 0.0226 0.0186 0.0228 0.0212
  • 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}
}