BGE base Financial Matryoshka
This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5 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-v1.5
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
- Training Dataset:
- json
- Language: en
- License: apache-2.0
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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("ChristianBernhard/bge-base-financial-matryoshka-2")
# Run inference
sentences = [
'What was the total long-term debt, including the current portion, for AbbVie as of December 31, 2023?',
"The following table summarizes AbbVie's estimated material contractual obligations as of December 31, 2023, which includes long-term debt, both current and long-term portions, totaling $59,245 million.",
'In the first quarter of 2023, we began production shipments of Enphase branded EV chargers at our existing contract manufacturing facility in Mexico.',
]
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
- Datasets:
dim_768,dim_512,dim_256,dim_128anddim_64 - Evaluated with
InformationRetrievalEvaluator
| Metric | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 |
|---|---|---|---|---|---|
| cosine_accuracy@1 | 0.7329 | 0.73 | 0.7314 | 0.7157 | 0.6843 |
| cosine_accuracy@3 | 0.8429 | 0.85 | 0.8386 | 0.8286 | 0.7971 |
| cosine_accuracy@5 | 0.8857 | 0.8886 | 0.8771 | 0.8657 | 0.8514 |
| cosine_accuracy@10 | 0.9171 | 0.9186 | 0.92 | 0.9143 | 0.8957 |
| cosine_precision@1 | 0.7329 | 0.73 | 0.7314 | 0.7157 | 0.6843 |
| cosine_precision@3 | 0.281 | 0.2833 | 0.2795 | 0.2762 | 0.2657 |
| cosine_precision@5 | 0.1771 | 0.1777 | 0.1754 | 0.1731 | 0.1703 |
| cosine_precision@10 | 0.0917 | 0.0919 | 0.092 | 0.0914 | 0.0896 |
| cosine_recall@1 | 0.7329 | 0.73 | 0.7314 | 0.7157 | 0.6843 |
| cosine_recall@3 | 0.8429 | 0.85 | 0.8386 | 0.8286 | 0.7971 |
| cosine_recall@5 | 0.8857 | 0.8886 | 0.8771 | 0.8657 | 0.8514 |
| cosine_recall@10 | 0.9171 | 0.9186 | 0.92 | 0.9143 | 0.8957 |
| cosine_ndcg@10 | 0.8263 | 0.8269 | 0.8245 | 0.8143 | 0.7898 |
| cosine_mrr@10 | 0.797 | 0.7971 | 0.794 | 0.7825 | 0.7559 |
| cosine_map@100 | 0.8009 | 0.8009 | 0.7977 | 0.786 | 0.7602 |
Training Details
Training Dataset
json
- Dataset: json
- Size: 6,300 training samples
- Columns:
anchorandpositive - Approximate statistics based on the first 1000 samples:
anchor positive type string string details - min: 2 tokens
- mean: 20.58 tokens
- max: 42 tokens
- min: 7 tokens
- mean: 46.12 tokens
- max: 512 tokens
- Samples:
anchor positive How many new stores did the company open in fiscal 2023?We had net new store openings of 197 for fiscal 2023.What can users do with Windows 365?From another internet-connected device, including Android or macOS devices, users can run Windows 365, just like a virtual machine.What is the effective date for the fifteen percent minimum tax based on adjusted financial statement income as specified in the Inflation Reduction Act of 2022?On August 16, 2022, the U.S. government enacted the Inflation Reduction Act of 2022 that includes a fifteen percent minimum tax based on adjusted financial statement income, which is effective for NIKE beginning June 1, 2023. - Loss:
MatryoshkaLosswith 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: epochper_device_train_batch_size: 32per_device_eval_batch_size: 16gradient_accumulation_steps: 16learning_rate: 2e-05num_train_epochs: 10lr_scheduler_type: cosinewarmup_ratio: 0.1bf16: Truetf32: Trueload_best_model_at_end: Trueoptim: adamw_torch_fusedbatch_sampler: no_duplicates
All Hyperparameters
Click to expandoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 16eval_accumulation_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 10max_steps: -1lr_scheduler_type: cosinelr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Truelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional
Training Logs
| Epoch | Step | Training Loss | dim_768_cosine_ndcg@10 | dim_512_cosine_ndcg@10 | dim_256_cosine_ndcg@10 | dim_128_cosine_ndcg@10 | dim_64_cosine_ndcg@10 |
|---|---|---|---|---|---|---|---|
| 0.8122 | 10 | 1.7456 | - | - | - | - | - |
| 0.9746 | 12 | - | 0.7938 | 0.7946 | 0.7889 | 0.7703 | 0.7223 |
| 1.6244 | 20 | 0.7675 | - | - | - | - | - |
| 1.9492 | 24 | - | 0.8159 | 0.8171 | 0.8085 | 0.7989 | 0.7705 |
| 2.4365 | 30 | 0.4625 | - | - | - | - | - |
| 2.9239 | 36 | - | 0.8221 | 0.8223 | 0.8196 | 0.8059 | 0.7776 |
| 3.2487 | 40 | 0.3201 | - | - | - | - | - |
| 3.9797 | 49 | - | 0.8232 | 0.8257 | 0.8221 | 0.8135 | 0.7865 |
| 4.0609 | 50 | 0.2489 | - | - | - | - | - |
| 4.8731 | 60 | 0.196 | - | - | - | - | - |
| 4.9543 | 61 | - | 0.8253 | 0.8255 | 0.8219 | 0.816 | 0.7856 |
| 5.6853 | 70 | 0.1628 | - | - | - | - | - |
| 5.9289 | 73 | - | 0.8259 | 0.8252 | 0.8219 | 0.8155 | 0.7864 |
| 6.4975 | 80 | 0.1605 | - | - | - | - | - |
| 6.9848 | 86 | - | 0.8264 | 0.8250 | 0.8240 | 0.8139 | 0.7887 |
| 7.3096 | 90 | 0.1357 | - | - | - | - | - |
| 7.9594 | 98 | - | 0.8266 | 0.8256 | 0.8240 | 0.8147 | 0.7904 |
| 8.1218 | 100 | 0.1374 | - | - | - | - | - |
| 8.9340 | 110 | 0.1272 | 0.8267 | 0.8254 | 0.8249 | 0.8143 | 0.7882 |
| 9.7462 | 120 | 0.1253 | 0.8263 | 0.8269 | 0.8245 | 0.8143 | 0.7898 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.3.1
- Transformers: 4.41.2
- PyTorch: 2.1.2+cu121
- Accelerate: 1.2.0
- Datasets: 2.19.1
- 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}
}