fm1 / README.md
vineet10's picture
Add new SentenceTransformer model.
e2644f6 verified
metadata
base_model: BAAI/bge-base-en-v1.5
datasets: []
language: []
library_name: sentence-transformers
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:48
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: >-
      Users are entitled to a refund for excess payments after necessary
      deductions, provided that payments were not processed to a wrong account
      due to user error.
    sentences:
      - >-
        What is the timeline for the delivery of the documentary film as
        outlined in this contract?
      - >-
        Under what circumstances can a user receive a refund for multiple
        payments made for a single order?
      - What are the Payment Terms for the Batteries?
  - source_sentence: >-
      Users can contact Customer Care before confirmation to request a refund
      for offline services or reschedule for online services, subject to the
      platform's discretion.
    sentences:
      - >-
        How does Paratalks handle refund requests made before a service
        professional confirms a booking?
      - >-
        How should proprietary and confidential information disclosed under the
        Agreement be treated by the Parties?
      - When does this Agreement terminate?
  - source_sentence: >-
      If there is any unreasonable delay in the refund process, the User can
      report it to Customer Care at contact@paratalks.in or +91-9116768791.
    sentences:
      - >-
        What should a User do if there is an unreasonable delay in the refund
        process?
      - What are the confidentiality provisions in this contract?
      - >-
        What are the specified payment terms for the photography services under
        this contract?
  - source_sentence: >-
      The refund (if permitted by the Platform) shall be processed after
      deductions, which may include transaction charges levied by the bank
      and/or the payment gateway, as well as any other charges incurred by the
      Platform for facilitating the payment or refund.
    sentences:
      - >-
        What are the conditions under which a user is not entitled to a refund
        according to Paratalks' refund policy?
      - What is the jurisdiction and governing law applicable to this contract?
      - How are refunds processed if permitted by the Platform?
  - source_sentence: >-
      This Agreement shall be governed by and construed in accordance with the
      laws of Indiana. Any dispute arising out of or in connection with this
      Agreement shall be resolved through good faith negotiations between the
      Parties and will be subject to the jurisdiction of the courts of Dania.
    sentences:
      - >-
        Under what condition will the User not be entitled to a refund if the
        payment is processed to a wrong Account?
      - What events constitute Force Majeure under this Agreement?
      - >-
        Under which laws is the Battery Supply Agreement governed and how are
        disputes resolved?
model-index:
  - name: SentenceTransformer based on BAAI/bge-base-en-v1.5
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 768
          type: dim_768
        metrics:
          - type: cosine_accuracy@1
            value: 0.8333333333333334
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8333333333333334
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8333333333333334
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.8333333333333334
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27777777777777773
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16666666666666666
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.8333333333333334
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8333333333333334
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8333333333333334
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.892701197851337
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8611111111111112
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8611111111111112
            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.8333333333333334
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8333333333333334
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8333333333333334
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.8333333333333334
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27777777777777773
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16666666666666666
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.8333333333333334
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8333333333333334
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8333333333333334
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.892701197851337
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8611111111111112
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8611111111111112
            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.8333333333333334
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8333333333333334
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8333333333333334
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.8333333333333334
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27777777777777773
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16666666666666666
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.8333333333333334
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8333333333333334
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8333333333333334
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.892701197851337
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8611111111111112
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8611111111111112
            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.8333333333333334
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8333333333333334
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8333333333333334
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.8333333333333334
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27777777777777773
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16666666666666666
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.8333333333333334
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8333333333333334
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8333333333333334
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8859108127976215
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8541666666666666
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8541666666666666
            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.8333333333333334
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8333333333333334
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8333333333333334
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.8333333333333334
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.27777777777777773
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16666666666666666
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.8333333333333334
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8333333333333334
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8333333333333334
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8835049992773302
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8518518518518517
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8518518518518517
            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("vineet10/fm1")
# Run inference
sentences = [
    'This Agreement shall be governed by and construed in accordance with the laws of Indiana. Any dispute arising out of or in connection with this Agreement shall be resolved through good faith negotiations between the Parties and will be subject to the jurisdiction of the courts of Dania.',
    'Under which laws is the Battery Supply Agreement governed and how are disputes resolved?',
    'What events constitute Force Majeure under this Agreement?',
]
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.8333
cosine_accuracy@3 0.8333
cosine_accuracy@5 0.8333
cosine_accuracy@10 1.0
cosine_precision@1 0.8333
cosine_precision@3 0.2778
cosine_precision@5 0.1667
cosine_precision@10 0.1
cosine_recall@1 0.8333
cosine_recall@3 0.8333
cosine_recall@5 0.8333
cosine_recall@10 1.0
cosine_ndcg@10 0.8927
cosine_mrr@10 0.8611
cosine_map@100 0.8611

Information Retrieval

Metric Value
cosine_accuracy@1 0.8333
cosine_accuracy@3 0.8333
cosine_accuracy@5 0.8333
cosine_accuracy@10 1.0
cosine_precision@1 0.8333
cosine_precision@3 0.2778
cosine_precision@5 0.1667
cosine_precision@10 0.1
cosine_recall@1 0.8333
cosine_recall@3 0.8333
cosine_recall@5 0.8333
cosine_recall@10 1.0
cosine_ndcg@10 0.8927
cosine_mrr@10 0.8611
cosine_map@100 0.8611

Information Retrieval

Metric Value
cosine_accuracy@1 0.8333
cosine_accuracy@3 0.8333
cosine_accuracy@5 0.8333
cosine_accuracy@10 1.0
cosine_precision@1 0.8333
cosine_precision@3 0.2778
cosine_precision@5 0.1667
cosine_precision@10 0.1
cosine_recall@1 0.8333
cosine_recall@3 0.8333
cosine_recall@5 0.8333
cosine_recall@10 1.0
cosine_ndcg@10 0.8927
cosine_mrr@10 0.8611
cosine_map@100 0.8611

Information Retrieval

Metric Value
cosine_accuracy@1 0.8333
cosine_accuracy@3 0.8333
cosine_accuracy@5 0.8333
cosine_accuracy@10 1.0
cosine_precision@1 0.8333
cosine_precision@3 0.2778
cosine_precision@5 0.1667
cosine_precision@10 0.1
cosine_recall@1 0.8333
cosine_recall@3 0.8333
cosine_recall@5 0.8333
cosine_recall@10 1.0
cosine_ndcg@10 0.8859
cosine_mrr@10 0.8542
cosine_map@100 0.8542

Information Retrieval

Metric Value
cosine_accuracy@1 0.8333
cosine_accuracy@3 0.8333
cosine_accuracy@5 0.8333
cosine_accuracy@10 1.0
cosine_precision@1 0.8333
cosine_precision@3 0.2778
cosine_precision@5 0.1667
cosine_precision@10 0.1
cosine_recall@1 0.8333
cosine_recall@3 0.8333
cosine_recall@5 0.8333
cosine_recall@10 1.0
cosine_ndcg@10 0.8835
cosine_mrr@10 0.8519
cosine_map@100 0.8519

Training Details

Training Dataset

Unnamed Dataset

  • Size: 48 training samples
  • Columns: context and question
  • Approximate statistics based on the first 1000 samples:
    context question
    type string string
    details
    • min: 18 tokens
    • mean: 39.58 tokens
    • max: 85 tokens
    • min: 8 tokens
    • mean: 17.9 tokens
    • max: 32 tokens
  • Samples:
    context question
    The Client will pay a flat fee of Rs. 52,000/-, with 50% (Rs. 26,000/-) due upon signing the agreement and the remaining 50% due one week after completion of pre-production. Payment delays will result in proportional delays in data delivery and editing. What are the specified payment terms for the photography services under this contract?
    Users can report delays to Customer Care and expect an automatic refund within 3-4 business days if services are canceled or rescheduled by the platform. What actions can a user take if the platform is unable to fulfill a successfully placed order?
    Signed by James Hira, Managing Director of Electric Vehicle Battery Supplier Pvt. Ltd, and Managing Director of Best Car Manufacturer Pvt. Ltd Who signed the Battery Supply Agreement on behalf of the Supplier and the Manufacturer?
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 5
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • 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
  • learning_rate: 5e-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: 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: False
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step 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 0 0.8542 0.8611 0.8611 0.8519 0.8611

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.4
  • PyTorch: 2.3.1+cu121
  • Accelerate: 0.32.1
  • Datasets: 2.20.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",
}

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