BGE base Financial Matryoshka

This is a sentence-transformers model finetuned from BAAI/bge-base-en on the json dataset. 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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json
  • Language: en
  • License: apache-2.0

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("RK-1235/bge-base-FIR-matryoshka-BASELINE-10ep")
# Run inference
sentences = [
    "on two motorcycles. The informant pointed out that the person wearing jeans and vest was the one. The police waited standing in the shade of Karra Power House for the approaching person. The informant left after pointing. When the person came within the police's sight, they caught him about 20 steps away from Karra Power House with a single warning shot. Upon searching the arrested person and asking for his name and address, he said his name was Sikandar Khan, age around 32 years, residing in Mo Baradari, Shah0 Sadar Bazaar Police Station. During the search conducted by No. 2156, a country-made 315 bore gun was found sewn inside the right pocket of the jeans he was wearing, with a barrel length of 11 inches and a stock length of 7 inches, having a hammer trigger attached, the trigger guard being aluminum, and a plate attached to open and close the barrel with a spring of 4 inches attached on both sides with girlie caps screwed with two screws. From the left pocket of the jeans, one",
    'What was the name and age of the person caught by the police near Karra Power House?',
    'Where did Monica SLO Jayprakash say she was calling from when she spoke to her mother?',
]
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]

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 5,251 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 14 tokens
    • mean: 211.86 tokens
    • max: 391 tokens
    • min: 11 tokens
    • mean: 19.91 tokens
    • max: 52 tokens
  • Samples:
    positive anchor
    First Information Report: Officer Thanadhiksh Thahbarpur Ajmer respectfully submits that the petitioner Manju Yadav states that my husband Santosh Yadav, son Sw. Harikesh Yadav, brother-in-law Mayank Yadav, son Sw. Heetikesh Yadav, and mother-in-law Radhika, wife of Sw. Harikesh Yadav, these three people have beaten me together. If the villagers had not intervened, these three would have killed me and my son. The constant intention of my mother-in-law Radhika, wife of Sw. Harikesh Yadav, is to beat me to death. My husband Santosh Yadav and brother-in-law Mayank Yadav have been indecent with me. My husband cut off my ear while my brother-in-law Mayank Yadav tore my sari and tried to undress me, which is why I was trying to protect myself with bricks. If the villagers had not intervened, these people would have undressed and killed me. These three come every day asking for dowry from me and beat me, insult me, and abuse me. There is a danger to my life and my son's life from these three Who are the three individuals mentioned in the report who have beaten Manju Yadav?
    First Information Report: Officer Thanadhiksh Thahbarpur Ajmer respectfully submits that the petitioner Manju Yadav states that my husband Santosh Yadav, son Sw. Harikesh Yadav, brother-in-law Mayank Yadav, son Sw. Heetikesh Yadav, and mother-in-law Radhika, wife of Sw. Harikesh Yadav, these three people have beaten me together. If the villagers had not intervened, these three would have killed me and my son. The constant intention of my mother-in-law Radhika, wife of Sw. Harikesh Yadav, is to beat me to death. My husband Santosh Yadav and brother-in-law Mayank Yadav have been indecent with me. My husband cut off my ear while my brother-in-law Mayank Yadav tore my sari and tried to undress me, which is why I was trying to protect myself with bricks. If the villagers had not intervened, these people would have undressed and killed me. These three come every day asking for dowry from me and beat me, insult me, and abuse me. There is a danger to my life and my son's life from these three What actions did Manju Yadav's husband Santosh Yadav and brother-in-law Mayank Yadav take against her?
    to my life and my son's life from these three people. Therefore, I request you to grant justice. Petitioner Manju Yadav, husband Santosh Yadav, village Sikandarpur, post Dharmdaspur, Nawada district-Ajmer, mobile number-8423229252, date-16/02/2024 HMICM 4 N.C R.B (N.C.R.B). I.F.- (Unified Investigation Form-l) Register the case according to the rules. Signature illegible, Thanadhiksh Officer 16.2.2024 Where does the petitioner Manju Yadav reside?
  • 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: 32
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 8
  • learning_rate: 2e-05
  • num_train_epochs: 25
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • tf32: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 8
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-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: 25
  • max_steps: -1
  • lr_scheduler_type: cosine
  • 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: True
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: True
  • 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: None
  • 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
  • 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: no_duplicates
  • multi_dataset_batch_sampler: proportional

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 4.1.0
  • Transformers: 4.52.2
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.7.0
  • Datasets: 3.6.0
  • Tokenizers: 0.21.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 Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for RK-1235/bge-base-FIR-matryoshka-BASELINE-10ep

Base model

BAAI/bge-base-en
Finetuned
(30)
this model