bhawanahettiarachchi's picture
Upload folder using huggingface_hub
bf1639b verified
metadata
base_model: sentence-transformers/all-mpnet-base-v2
datasets: []
language: []
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:80
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: What is the short title of this Act?
    sentences:
      - The Banking (Amendment) Act, No. 24 of 2024
      - >-
        The Central Bank can assess whether granting a license is in the
        interest of the banking system and national economy
      - >-
        They must conduct offshore banking business only with non-residents and
        certain residents as determined by the Central Bank
  - source_sentence: >-
      What new power does the Central Bank have regarding excess accommodations
      to related parties?
    sentences:
      - Accommodation and all financial investments
      - >-
        The Central Bank can assess a bank's track record for operating with
        good governance and integrity
      - >-
        The Central Bank may require the bank to deduct such excess from
        regulatory capital calculations
  - source_sentence: >-
      What new requirement is there for licensed commercial banks regarding the
      disclosure of audit information?
    sentences:
      - >-
        Auditors must immediately report findings that could materially affect
        the bank's safety and soundness
      - >-
        They must prepare financial statements that represent a true and fair
        view of the bank's financial position
      - >-
        To the Governor, Deputy Governor, Assistant Governor, Director of Bank
        Supervision, or other high-ranking officers
  - source_sentence: >-
      Who approves the appointment, election, or nomination of directors for
      licensed commercial banks?
    sentences:
      - The Central Bank
      - >-
        The Central Bank can designate foreign currencies for offshore banking
        business
      - >-
        The Central Bank can request information or documents from any person
        other than a licensed bank
  - source_sentence: >-
      What new power does the Central Bank have regarding the number of
      directors on a bank's board?
    sentences:
      - Within fifteen days of becoming aware of such facts
      - Transparency in ownership structure and beneficial ownership
      - >-
        The Central Bank can determine the number of board members, which shall
        not be less than seven

SentenceTransformer based on sentence-transformers/all-mpnet-base-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-mpnet-base-v2. 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: sentence-transformers/all-mpnet-base-v2
  • Maximum Sequence Length: 384 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 384, 'do_lower_case': False}) with Transformer model: MPNetModel 
  (1): Pooling({'word_embedding_dimension': 768, '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})
  (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("sentence_transformers_model_id")
# Run inference
sentences = [
    "What new power does the Central Bank have regarding the number of directors on a bank's board?",
    'The Central Bank can determine the number of board members, which shall not be less than seven',
    'Within fifteen days of becoming aware of such facts',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 80 training samples
  • Columns: query and answer
  • Approximate statistics based on the first 1000 samples:
    query answer
    type string string
    details
    • min: 8 tokens
    • mean: 16.82 tokens
    • max: 22 tokens
    • min: 3 tokens
    • mean: 16.85 tokens
    • max: 28 tokens
  • Samples:
    query answer
    What new power does the Central Bank have regarding corrective action for misleading disclosures? The Central Bank can require banks to publish corrected disclosure statements
    What new requirement is there for licensed commercial banks regarding corporate governance? The Board of Directors is ultimately responsible for ensuring compliance with laws and sound banking practices
    Who is responsible for overseeing the management of a licensed commercial bank? The Board of Directors
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 20 evaluation samples
  • Columns: query and answer
  • Approximate statistics based on the first 1000 samples:
    query answer
    type string string
    details
    • min: 11 tokens
    • mean: 17.4 tokens
    • max: 23 tokens
    • min: 5 tokens
    • mean: 17.2 tokens
    • max: 29 tokens
  • Samples:
    query answer
    What new power does the Central Bank have regarding the assessment of bank license applications? The Central Bank can assess whether granting a license is in the interest of the banking system and national economy
    What new definition is provided for 'unlawful activity' in the Act? It has the same meaning as in the Prevention of Money Laundering Act, No. 5 of 2006
    What new requirement is there for licensed commercial banks regarding offshore banking? They must conduct offshore banking business only with non-residents and certain residents as determined by the Central Bank
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_eval_batch_size: 16
  • learning_rate: 3e-05
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True
  • ddp_find_unused_parameters: False

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 3e-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: 3
  • max_steps: -1
  • lr_scheduler_type: linear
  • 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: True
  • 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: False
  • 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
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss
0.2 2 1.1686 -
0.4 4 1.0061 -
0.6 6 0.8377 -
0.8 8 0.8121 -
1.0 10 0.267 0.8161
1.2 12 0.3282 -
1.4 14 0.1546 -
1.6 16 0.3546 -
1.8 18 0.0544 -
2.0 20 0.0271 0.6723
2.2 22 0.1496 -
2.4 24 0.0569 -
2.6 26 0.1682 -
2.8 28 0.0452 -
3.0 30 0.0261 0.6644

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.0.1
  • Transformers: 4.43.1
  • PyTorch: 2.3.0
  • Accelerate: 0.32.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",
}

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