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

This is a sentence-transformers model finetuned from BAAI/bge-small-en-v1.5. 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: BAAI/bge-small-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 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': 384, '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("smokxy/embedding_finetuned")
# Run inference
sentences = [
    'What is the requirement of Aadhaar for crop loan or Kisan Credit Card (KCC) under the Interest Subvention Scheme?',
    "'6.3.1   Aadhaar has been made mandatory for availing Crop insurance from Kharif 2017 season onwards.    Therefore, all banks are advised to mandatorily obtain Aadhaar number of their farmers and the same    applies  for  non-loanee  farmers  enrolled  through  banks/Insurance  companies/insurance    intermediaries.  6.3.2   Farmers not having Aadhaar ID may also enrol under PMFBY subject to their enrolment for    Aadhaar and submission of proof of such enrolment as per notification No. 334.dated 8th February,    2017 issued by GOI under Section 7 of Aadhaar Act 2016(Targeted Delivery of Financial and other    Subsidies, Benefits and Services). Copy of the notification may be perused on www.pmfby.gov.in. This    may be  subject to further directions issued by Govt. from time to time.  6.3.3    All banks have to compulsorily take Aadhaar/Aadhaar enrolment number as per notification under  Aadhaar Act before sanction of crop loan/KCC under Interest Subvention Scheme. Hence the coverage    of loanee farmers without Aadhaar does not arise and such accounts need to be reviewed by the    concerned bank branch regularly.'",
    "' Date………………………………   ……………………………… Signature of Branch Manager with branch seal  Name…………………………………… … Designation …………………………………… ………………………………  ……………………………… Signature of Authorized Person in zonal office Name………………………………… Designation ……………………………………  5. Promoter's request letter  List of Enclosures  1. Recommendation  9. List of shareholders  addressed to the Bank Manager on original letter head of FPO  confirmed by promoter and bank  with amount of CGC  sought on Bank's  Original letterhead with date and dispatch number duly signed by the Branch Manager on each page.  2. Sanction letter of  6. Implementation Schedule  10. Affidavit of promoters that  confirmed by the bank.  they have not availed CGC  from any other institution for  sanctioned Credit Facility.  sanctioning authority  addressed to recommending  branch.  3. Bank's approved  7. Up-to-date statement of account of  11. Field inspection report of  Term loan and Cash Credit (if Sanctioned).  Bank official as on recent date.  Appraisal/Process note bearing signature of sanctioning authority.  4. Potential Impact on  8. a).Equity Certificate, C.A/CS  * Pin Code at Column No. 1. a),  certificate/RCS certificate  2. b), 2. c), 4. a) and 9. a) is Mandatory  b). FORM-2, FORM-5 and FORM-23  filed with ROC for Company/RCS.  small farmer producers  1. Social Impact,  2. Environmental  Impact  3.'",
]
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.51
cosine_accuracy@5 0.89
cosine_accuracy@10 0.93
cosine_precision@1 0.51
cosine_precision@5 0.178
cosine_precision@10 0.093
cosine_recall@1 0.51
cosine_recall@5 0.89
cosine_recall@10 0.93
cosine_ndcg@5 0.7199
cosine_ndcg@10 0.7332
cosine_ndcg@100 0.7507
cosine_mrr@5 0.6627
cosine_mrr@10 0.6684
cosine_mrr@100 0.6731
cosine_map@100 0.6731
dot_accuracy@1 0.51
dot_accuracy@5 0.89
dot_accuracy@10 0.93
dot_precision@1 0.51
dot_precision@5 0.178
dot_precision@10 0.093
dot_recall@1 0.51
dot_recall@5 0.89
dot_recall@10 0.93
dot_ndcg@5 0.7199
dot_ndcg@10 0.7332
dot_ndcg@100 0.7507
dot_mrr@5 0.6627
dot_mrr@10 0.6684
dot_mrr@100 0.6731
dot_map@100 0.6731

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • gradient_accumulation_steps: 4
  • learning_rate: 1e-05
  • weight_decay: 0.01
  • num_train_epochs: 1.0
  • warmup_ratio: 0.1
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 1e-05
  • weight_decay: 0.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1.0
  • 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: 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
  • 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
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss val_evaluator_cosine_map@100
0.531 15 0.5565 0.0661 0.6731
0.9912 28 - 0.0661 0.6731
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.0.1
  • Transformers: 4.43.4
  • PyTorch: 2.4.0+cu121
  • Accelerate: 0.33.0
  • 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",
}

GISTEmbedLoss

@misc{solatorio2024gistembed,
    title={GISTEmbed: Guided In-sample Selection of Training Negatives for Text Embedding Fine-tuning}, 
    author={Aivin V. Solatorio},
    year={2024},
    eprint={2402.16829},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
Downloads last month
18
Safetensors
Model size
33.4M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for smokxy/embedding_finetuned

Finetuned
(136)
this model

Evaluation results