bge-finetuned-train / README.md
chinchilla04's picture
Add new SentenceTransformer model
f36f848 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:15002
  - loss:MultipleNegativesRankingLoss
base_model: BAAI/bge-large-en-v1.5
widget:
  - source_sentence: >-
      what kind of oil and how much do i need for my toyota tacoma truck and how
      do i do it
    sentences:
      - >-
        Requests to change the system or application's language settings. Users
        may ask to switch to a specific language, such as English, or adjust the
        language preferences to enhance usability.
      - >-
        Requests for step-by-step instructions or guidance on how to change the
        oil in a car. Users seek detailed procedures, tools needed, and tips for
        performing this maintenance task.
      - >-
        Requests to make a reservation at a specific restaurant for a specified
        number of people, time, and under a provided name. Users expect
        confirmation of the booking details.
  - source_sentence: please double check my reservations for six at mani
    sentences:
      - >-
        Requests to verify or confirm existing reservations, typically for
        dining or events. Users provide details about the reservation and ask
        for confirmation that it is correctly recorded.
      - >-
        Requests for details about an insurance policy, including coverage,
        benefits, and exclusions. Users may inquire about specific aspects like
        health benefits or policy terms.
      - >-
        Requests to create, manage, or customize timers for various tasks or
        activities. Users can define the duration, purpose, or type of the timer
        and receive notifications or alerts when the timer reaches its set time.
  - source_sentence: what are some good ethiopian restaurants in queens
    sentences:
      - >-
        Requests for the meaning or definition of words. Users may inquire about
        the definitions of uncommon, complex, or unfamiliar terms, aiming to
        gain a clear understanding or contextual usage of the word in question.
      - >-
        Requests to assist with paying bills, such as utilities, credit cards,
        or other services. Users may specify the bill type, amount, and source
        account for the payment.
      - >-
        Requests for recommendations or suggestions for dining options. Users
        may ask for specific cuisine types, locations, or general ideas on where
        to eat.
  - source_sentence: are there any expected delays for flight dl123
    sentences:
      - >-
        Requests for travel time or distance to a specific location. Users
        typically seek estimates based on current traffic, routes, or modes of
        transportation to determine the time needed to reach their destination.
      - >-
        Requests for information about flight details, such as boarding times,
        delays, or schedules. Users typically inquire to ensure they are updated
        about their flight's status.
      - >-
        Requests for advice or strategies to improve credit scores. Users may
        seek a detailed plan, tips, or insights into financial habits that can
        lead to a better credit rating.
  - source_sentence: how do i ask about the weather in chinese
    sentences:
      - >-
        Requests related to translating words, phrases, or sentences from one
        language to another. The user may specify the source and target
        languages, and the goal is to provide an accurate and
        context-appropriate translation.
      - >-
        Requests for information about a vehicle's miles per gallon (MPG)
        rating, either in specific conditions like city driving or as an overall
        performance metric. Users may seek guidance on fuel efficiency for their
        car.
      - >-
        Requests for information about a vehicle's miles per gallon (MPG)
        rating, either in specific conditions like city driving or as an overall
        performance metric. Users may seek guidance on fuel efficiency for their
        car.
pipeline_tag: sentence-similarity
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
model-index:
  - name: SentenceTransformer based on BAAI/bge-large-en-v1.5
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: Unknown
          type: unknown
        metrics:
          - type: cosine_accuracy@1
            value: 0.9706666666666667
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9886666666666667
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.992
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9956666666666667
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9706666666666667
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3295555555555556
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.19840000000000002
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09956666666666668
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9706666666666667
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9886666666666667
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.992
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9956666666666667
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9841961906084298
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9804173280423282
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9806052445247627
            name: Cosine Map@100

SentenceTransformer based on BAAI/bge-large-en-v1.5

This is a sentence-transformers model finetuned from BAAI/bge-large-en-v1.5. It maps sentences & paragraphs to a 1024-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-large-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 dimensions
  • 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': 1024, '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("chinchilla04/bge-finetuned-train")
# Run inference
sentences = [
    'how do i ask about the weather in chinese',
    'Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation.',
    "Requests for information about a vehicle's miles per gallon (MPG) rating, either in specific conditions like city driving or as an overall performance metric. Users may seek guidance on fuel efficiency for their car.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# 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.9707
cosine_accuracy@3 0.9887
cosine_accuracy@5 0.992
cosine_accuracy@10 0.9957
cosine_precision@1 0.9707
cosine_precision@3 0.3296
cosine_precision@5 0.1984
cosine_precision@10 0.0996
cosine_recall@1 0.9707
cosine_recall@3 0.9887
cosine_recall@5 0.992
cosine_recall@10 0.9957
cosine_ndcg@10 0.9842
cosine_mrr@10 0.9804
cosine_map@100 0.9806

Training Details

Training Dataset

Unnamed Dataset

  • Size: 15,002 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 4 tokens
    • mean: 10.66 tokens
    • max: 28 tokens
    • min: 25 tokens
    • mean: 42.6 tokens
    • max: 58 tokens
    • min: 29 tokens
    • mean: 41.95 tokens
    • max: 58 tokens
  • Samples:
    anchor positive negative
    what expression would i use to say i love you if i were an italian Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation. Requests involving financial operations, such as transferring money between bank accounts, credit cards, or other financial instruments. Users typically specify the amount, the source account, and the target account, ensuring that the transfer is executed correctly and securely.
    can you tell me how to say 'i do not speak much spanish', in spanish Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation. Requests involving financial operations, such as transferring money between bank accounts, credit cards, or other financial instruments. Users typically specify the amount, the source account, and the target account, ensuring that the transfer is executed correctly and securely.
    what is the equivalent of, 'life is good' in french Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation. Requests involving financial operations, such as transferring money between bank accounts, credit cards, or other financial instruments. Users typically specify the amount, the source account, and the target account, ensuring that the transfer is executed correctly and securely.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 3,000 evaluation samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 3 tokens
    • mean: 11.06 tokens
    • max: 29 tokens
    • min: 26 tokens
    • mean: 36.16 tokens
    • max: 58 tokens
  • Samples:
    anchor positive
    in spanish, meet me tomorrow is said how Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation.
    in french, how do i say, see you later Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation.
    how do you say hello in japanese Requests related to translating words, phrases, or sentences from one language to another. The user may specify the source and target languages, and the goal is to provide an accurate and context-appropriate translation.
  • 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: 32
  • learning_rate: 1e-05
  • num_train_epochs: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.2
  • load_best_model_at_end: True
  • optim: adamw_torch_fused

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 8
  • 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: 1e-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.2
  • 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: False
  • 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_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
  • include_for_metrics: []
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss cosine_ndcg@10
None 0 - 0.2730 0.9055
0.3198 150 - 0.0698 0.9633
0.6397 300 - 0.0642 0.9683
0.9595 450 - 0.0603 0.9763
1.0661 500 1.0338 - -
1.2793 600 - 0.0612 0.9762
1.5991 750 - 0.0602 0.9802
1.9190 900 - 0.0571 0.9820
2.1322 1000 0.787 - -
2.2388 1050 - 0.0585 0.9819
2.5586 1200 - 0.0565 0.9842
2.8785 1350 - 0.0578 0.9837
3.1983 1500 0.6768 0.0570 0.9844
3.5181 1650 - 0.0587 0.9837
3.8380 1800 - 0.0584 0.9837
None 0 - 0.0565 0.9842
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.3.1
  • Transformers: 4.46.3
  • PyTorch: 2.4.0
  • Accelerate: 1.1.1
  • Datasets: 3.1.0
  • Tokenizers: 0.20.3

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