Edit model card

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("kr-manish/fine-tuned-bge-base-raw_pdf-v1")
# Run inference
sentences = [
    'One potential inhibitor of the NEAR technology is human gDNA.  When  a  throat  swab  sample  is  collected  from  a patient  symptomatic  for  GAS  infection,  it  is  possible  that human gDNA is  also  collected on the  swab  (from immune cells such as white blood cells or from local epithelial cells). In order to  assess the  impact that human gDNA has on the GAS  assay,  a  study  was  performed  using  three  different levels  of GAS  gDNA  (25,  250  and  1000  copies)  in  the presence of 0,  10,  50,  100,  250,  500  or  1000 ng  of human gDNA. As  shown in FIG.  6,  the presence of human gDNA does  have  an  impact  on GAS  assay  performance,  and  the impact is  GAS  target concentration dependent.  When there is  a low copy number of target GAS present in the reaction, 10  ng  of human  gDNA  or  more  significantly  inhibits  the assay. At 250 copies  of GAS target,  the impact of 10 ng of 60  human gDNA is  less, and at 1,000 copies of GAS target, the effect of 10 ng of human gDNA on the assay is  significantly less.  In fact,  when  1,000  copies  of target  is  present  in the assay, up to  100 ng of human gDNA can be tolerated, albeit with a slower amplification speed and reduced fluorescence signal.  Testing  of the  501  (IC  only)  mix  showed  a  more robust  response  to  human  gDNA.  When  the  501  mix  was tested in the presence of O copies  of target  GAS  and up  to US  10,329,601  B2 23 1,000 ng of human gDNA, the assay still produced a clearly positive signal at 500 ng of human gDNA (even at 1,000 ng of human  gDNA  the  fluorescence  signal  was  still  above background). Other Embodiments It  is  to  be understood  that  while  the  invention has  been described  in  conjunction  with  the  detailed  description 24 thereof,  the  foregoing  description  is  intended  to  illustrate and not limit the scope of the invention, which is  defined by the scope of the appended claims. Other aspects, advantages, and  modifications  are  within  the  scope  of the  following claims.',
    'Impact  of Human Genomic  DNA (gDNA)  on GAS Assay',
    'TGTAGCTGACACCACCAAGCTACA',
]
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.625
cosine_accuracy@3 0.875
cosine_accuracy@5 1.0
cosine_accuracy@10 1.0
cosine_precision@1 0.625
cosine_precision@3 0.2917
cosine_precision@5 0.2
cosine_precision@10 0.1
cosine_recall@1 0.625
cosine_recall@3 0.875
cosine_recall@5 1.0
cosine_recall@10 1.0
cosine_ndcg@10 0.8202
cosine_mrr@10 0.7604
cosine_map@100 0.7604

Information Retrieval

Metric Value
cosine_accuracy@1 0.625
cosine_accuracy@3 0.875
cosine_accuracy@5 0.875
cosine_accuracy@10 1.0
cosine_precision@1 0.625
cosine_precision@3 0.2917
cosine_precision@5 0.175
cosine_precision@10 0.1
cosine_recall@1 0.625
cosine_recall@3 0.875
cosine_recall@5 0.875
cosine_recall@10 1.0
cosine_ndcg@10 0.8109
cosine_mrr@10 0.75
cosine_map@100 0.75

Information Retrieval

Metric Value
cosine_accuracy@1 0.625
cosine_accuracy@3 0.875
cosine_accuracy@5 0.875
cosine_accuracy@10 1.0
cosine_precision@1 0.625
cosine_precision@3 0.2917
cosine_precision@5 0.175
cosine_precision@10 0.1
cosine_recall@1 0.625
cosine_recall@3 0.875
cosine_recall@5 0.875
cosine_recall@10 1.0
cosine_ndcg@10 0.8058
cosine_mrr@10 0.7448
cosine_map@100 0.7448

Information Retrieval

Metric Value
cosine_accuracy@1 0.75
cosine_accuracy@3 0.875
cosine_accuracy@5 1.0
cosine_accuracy@10 1.0
cosine_precision@1 0.75
cosine_precision@3 0.2917
cosine_precision@5 0.2
cosine_precision@10 0.1
cosine_recall@1 0.75
cosine_recall@3 0.875
cosine_recall@5 1.0
cosine_recall@10 1.0
cosine_ndcg@10 0.8609
cosine_mrr@10 0.8167
cosine_map@100 0.8167

Information Retrieval

Metric Value
cosine_accuracy@1 0.75
cosine_accuracy@3 0.875
cosine_accuracy@5 1.0
cosine_accuracy@10 1.0
cosine_precision@1 0.75
cosine_precision@3 0.2917
cosine_precision@5 0.2
cosine_precision@10 0.1
cosine_recall@1 0.75
cosine_recall@3 0.875
cosine_recall@5 1.0
cosine_recall@10 1.0
cosine_ndcg@10 0.8609
cosine_mrr@10 0.8167
cosine_map@100 0.8167

Training Details

Training Dataset

Unnamed Dataset

  • Size: 76 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 8 tokens
    • mean: 148.89 tokens
    • max: 512 tokens
    • min: 3 tokens
    • mean: 6.54 tokens
    • max: 18 tokens
  • Samples:
    positive anchor
    1 (AGACTCCATATGGAGTCTAGC CAAACAGGAACA); a reverse template comprising a nucleotide sequence having at least 80, 85 or 95% identity 55 (CGACTCCATATGGAGTC to GAAAGCAATCTGAGGA); and a probe oligonucleotide comprising a nucleotide sequence at least 80, 85 or 95% to SEQ ID NO
    One potential inhibitor of the NEAR technology is human gDNA. When a throat swab sample is collected from a patient symptomatic for GAS infection, it is possible that human gDNA is also collected on the swab (from immune cells such as white blood cells or from local epithelial cells). In order to assess the impact that human gDNA has on the GAS assay, a study was performed using three different levels of GAS gDNA (25, 250 and 1000 copies) in the presence of 0, 10, 50, 100, 250, 500 or 1000 ng of human gDNA. As shown in FIG. 6, the presence of human gDNA does have an impact on GAS assay performance, and the impact is GAS target concentration dependent. When there is a low copy number of target GAS present in the reaction, 10 ng of human gDNA or more significantly inhibits the assay. At 250 copies of GAS target, the impact of 10 ng of 60 human gDNA is less, and at 1,000 copies of GAS target, the effect of 10 ng of human gDNA on the assay is significantly less. In fact, when 1,000 copies of target is present in the assay, up to 100 ng of human gDNA can be tolerated, albeit with a slower amplification speed and reduced fluorescence signal. Testing of the 501 (IC only) mix showed a more robust response to human gDNA. When the 501 mix was tested in the presence of O copies of target GAS and up to US 10,329,601 B2 23 1,000 ng of human gDNA, the assay still produced a clearly positive signal at 500 ng of human gDNA (even at 1,000 ng of human gDNA the fluorescence signal was still above background). Other Embodiments It is to be understood that while the invention has been described in conjunction with the detailed description 24 thereof, the foregoing description is intended to illustrate and not limit the scope of the invention, which is defined by the scope of the appended claims. Other aspects, advantages, and modifications are within the scope of the following claims. Impact of Human Genomic DNA (gDNA) on GAS Assay
    25C-4x lyophilization mix, single tube assay format; 50C-2x lyophilization mix, single tube assay format; 25T-4x lyophilization mix, target assay only; 50T-2x lyophilization mix, target assay only; 25I- 4x lyophilization mix, IC assay only; 50I-2x lyophilization mix, internal control (IC) assay only. The GAS NEAR assay can be run on an appropriate platform. For example, the GAS NEAR assay can be run on an Al ere i platform (www.alere.com/ww/en/product-details/ alere-i-strep-a.html). AnA!ere i system consists of an instru ment which provides heating, mixing and fluorescence detection with automated result output, and a set of dispos ables, consisting of the sample receiver (where the elution buffer is stored), a test base ( containing two tubes of lyophilized NEAR reagents) and a transfer device ( designed to transfer 100 µI aliquots of eluted sample from the sample receiver to each of the two tubes containing lyophilized NEAR reagents located in the test base). Suitable dispos ables for use with the Alere i GAS NEAR test include those 60 described in, for example U.S. application Ser. No. 13/242, 999, incorporated herein by reference in its entirety. In addition to containing the reagents necessary for driv ing the GAS NEAR assay, the lyophilized material also contains the lytic agent for GAS, the protein plyC; therefore, 65 GAS lysis does not occur until the lyophilized material is re-suspended. In some cases, the lyophilized material does not contain a lytic agent for GAS, for example, in some US 10,329,601 B2 19 examples, the lyophilized material does not contain the protein plyC. The elution buffer was designed to allow for the rapid release of GAS organisms from clinical sample throat swabs as well as to provide the necessary salts for driving the NEAR assay (both MgSO4 and (NH4)2SO4), in 5 a slightly basic environment. In some examples, the elution buffer also includes an anti-microbial agent or preservative (e.g., ProClin® 950). For the present examples, GAS assay was performed as a two tube assay-a GAS target specific assay in one tube, and an internal control (IC) assay in a second tube (tested side by side on the Alere i). annotated as follows
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 16
  • learning_rate: 3e-05
  • num_train_epochs: 40
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.2
  • fp16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • 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: 16
  • eval_accumulation_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: 40
  • 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: 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_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
  • 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: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss 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.2103 0.1702 0.1888 0.1783 0.1815
1.0 1 - 0.2102 0.1702 0.1888 0.1783 0.1815
2.0 2 - 0.2104 0.1705 0.1890 0.1797 0.1815
3.0 3 - 0.2841 0.1733 0.2524 0.1997 0.2465
4.0 5 - 0.3285 0.2747 0.2865 0.3281 0.2901
5.0 6 - 0.3311 0.3045 0.2996 0.3930 0.3001
6.0 7 - 0.3948 0.3808 0.3193 0.4576 0.3147
7.0 9 - 0.5308 0.4366 0.4222 0.5445 0.4367
8.0 10 3.233 0.5352 0.5240 0.5224 0.5867 0.4591
9.0 11 - 0.5438 0.5864 0.5228 0.6519 0.6475
10.0 13 - 0.6540 0.5906 0.6554 0.6684 0.6511
11.0 14 - 0.6585 0.6020 0.6684 0.6857 0.6621
12.0 15 - 0.6632 0.6661 0.6798 0.7063 0.6685
13.0 17 - 0.7292 0.7210 0.6971 0.7396 0.7062
14.0 18 - 0.7396 0.7375 0.7229 0.8333 0.7068
15.0 19 - 0.75 0.7438 0.7021 0.8333 0.7083
16.0 20 1.4113 0.7604 0.7292 0.7042 0.8229 0.7104
17.0 21 - 0.7542 0.7262 0.7095 0.8229 0.7158
18.0 22 - 0.7438 0.7344 0.7054 0.8167 0.7188
19.0 23 - 0.8063 0.7344 0.7125 0.8125 0.7021
20.0 25 - 0.7958 0.7344 0.7262 0.8125 0.7333
21.0 26 - 0.8021 0.7344 0.7470 0.8095 0.7333
22.0 27 - 0.8021 0.7344 0.7470 0.8095 0.7333
23.0 29 - 0.8021 0.7344 0.7470 0.8095 0.7438
24.0 30 0.6643 0.8021 0.7448 0.7470 0.8125 0.7438
25.0 31 - 0.8125 0.7448 0.7470 0.8125 0.7604
26.0 33 - 0.8125 0.7448 0.75 0.8167 0.7604
27.0 34 - 0.8125 0.7448 0.75 0.8167 0.7604
28.0 35 - 0.8125 0.7448 0.75 0.8167 0.7604
29.0 37 - 0.8167 0.7448 0.75 0.8167 0.7604
30.0 38 - 0.8167 0.7448 0.75 0.8167 0.7604
31.0 39 - 0.8167 0.7448 0.75 0.8167 0.7604
32.0 40 0.4648 0.8167 0.7448 0.75 0.8167 0.7604
  • The bold row denotes the saved checkpoint.

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

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning}, 
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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}
}
Downloads last month
2
Safetensors
Model size
109M 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 kr-manish/fine-tuned-bge-base-raw_pdf-v1

Finetuned
(256)
this model

Evaluation results