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("SamagraDataGov/embedding_finetuned_test")
# Run inference
sentences = [
    'Who is considered as the nodal agency for engagement with the Ministry of Agriculture and Farmers Welfare and Insurance Companies?',
    "'8.1    CSCs under Ministry of Electronics and Information Technology (MeITY) have been engaged to enrol    non-loanee farmers. The Insurance Companies are required to enter into a separate agreement with    CSC and pay service charges as fixed by DAC&FW, GOI per farmer per village per season. No other    agreement or payment is required to be made for this purpose. Nodal agency for engagement with    Ministry of Agriculture and Farmers Welfare and Insurance Companies will be CSC-SPV, a company    established under MeITY for carrying out e-governance initiatives of GoI.  8.2    No charges/fee shall be borne or paid by the farmers being enrolled through CSCs i.e. CSC-SPV and    CSC-VLE  8.3    As per IRDA circular, no separate qualification/certification will be required for the VLEs of CSCs to    facilitate enrolment of non-loanee farmers.  8.4    All empanelled Insurance Companies will compulsorily be required to enter into an agreement with    CSC for enrolment of non-loanee farmers and for provision of other defined services to farmers.   8.5    Other designated intermediaries may be linked with the Portal in due course.   8.6    Empanelled Insurance Companies have to necessarily register on the portal and submit list and details    of agents/intermediaries engaged for enrolment of non-loanee farmers in the beginning of each    season  within 10 days of award of work in the State.  Further all agents/intermediaries have to work    strictly as per the provisions of the Scheme and IRDA regulations'",
    "' 13.4 Laxmanrao  Imandar  National  Academy  for  Co-operative  Research  &  Development (LINAC), Gurugram promoted by NCDC is designated as Nodal Training Institution at central level for FPOs registered under Co-operative Societies Act and promoted by NCDC. The LINAC will work in partnership with other reputed national and regional training institutions like NIAM, VAMNICOM, MANAGE, NIRD, NCCT, IRMA, ASCI, State and Central Agriculture Universities,  KVK, very reputed National level Management and Skill Development Institutions/Universities etc.  The LINAC in consultation with NCDC and DAC&FW will prepare a training module and training schedule for the ensuing year, which will be got approved by N-PMAFSC. As regards training expenses, in case of LINAC being nodal agency, the LINAC through NCDC will claim the expenses from DAC&FW and will also submit the utilization certificate through NCDC after the training programme is over.  13.5 DAC&FW in due course may also identify and designate other training institute(s)  as additional Nodal Training Institute at central level, which will undertake training and skill development partnering with other national and regional level institutes.   13.6 The central Nodal Training Institutes will ensure that training programme be held  preferably in same State/UT wherein FPO trainees located are proposed to participate to reduce the burden on transportation(TA/DA) cost. While formulating the training schedule, Nodal Training Institutes will ensure that BoDs, CEOs/Managers and other stakeholders etc. are trained twice in a year. Nodal Training Institutes will have to make boarding and lodging arrangements for the  trainees and will also reimburse to and fro journey tickets to the extent of sleeper class train tickets and/or ordinary bus fare. Nodal Training Institutions will also evolve methodology to monitor and track the performance of trainees and their FPO organization to ensure effectiveness of training being provided.'",
]
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.9
cosine_accuracy@10 0.96
cosine_precision@1 0.51
cosine_precision@5 0.18
cosine_precision@10 0.096
cosine_recall@1 0.51
cosine_recall@5 0.9
cosine_recall@10 0.96
cosine_ndcg@5 0.7319
cosine_ndcg@10 0.7503
cosine_ndcg@100 0.759
cosine_mrr@5 0.6745
cosine_mrr@10 0.6815
cosine_mrr@100 0.6834
cosine_map@100 0.6834
dot_accuracy@1 0.51
dot_accuracy@5 0.9
dot_accuracy@10 0.96
dot_precision@1 0.51
dot_precision@5 0.18
dot_precision@10 0.096
dot_recall@1 0.51
dot_recall@5 0.9
dot_recall@10 0.96
dot_ndcg@5 0.7319
dot_ndcg@10 0.7503
dot_ndcg@100 0.759
dot_mrr@5 0.6745
dot_mrr@10 0.6815
dot_mrr@100 0.6834
dot_map@100 0.6834

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • 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: 32
  • per_device_eval_batch_size: 32
  • 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.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.5172 15 2.0908 1.008 0.6834
1.0 29 - 1.0080 0.6834
  • 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.1+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
24
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 SamagraDataGov/embedding_finetuned_test

Finetuned
(135)
this model

Evaluation results