BGE base Financial Matryoshka
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
- 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("NickyNicky/bge-base-financial-matryoshka")
# Run inference
sentences = [
'For the fiscal year ended August 26, 2023, we reported net sales of $17.5 billion compared with $16.3 billion for the year ended August 27, 2022, a 7.4% increase from fiscal 2022. This growth was driven primarily by a domestic same store sales increase of 3.4% and net sales of $327.8 million from new domestic and international stores.',
"What drove the 7.4% increase in AutoZone's net sales for fiscal 2023 compared to fiscal 2022?",
"What percentage of HP's external U.S. hires in fiscal year 2023 were racially or ethnically diverse?",
]
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
- Dataset:
dim_768
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.6986 |
cosine_accuracy@3 | 0.8271 |
cosine_accuracy@5 | 0.8629 |
cosine_accuracy@10 | 0.8986 |
cosine_precision@1 | 0.6986 |
cosine_precision@3 | 0.2757 |
cosine_precision@5 | 0.1726 |
cosine_precision@10 | 0.0899 |
cosine_recall@1 | 0.6986 |
cosine_recall@3 | 0.8271 |
cosine_recall@5 | 0.8629 |
cosine_recall@10 | 0.8986 |
cosine_ndcg@10 | 0.8024 |
cosine_mrr@10 | 0.7713 |
cosine_map@100 | 0.7759 |
Information Retrieval
- Dataset:
dim_512
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.69 |
cosine_accuracy@3 | 0.8271 |
cosine_accuracy@5 | 0.86 |
cosine_accuracy@10 | 0.9029 |
cosine_precision@1 | 0.69 |
cosine_precision@3 | 0.2757 |
cosine_precision@5 | 0.172 |
cosine_precision@10 | 0.0903 |
cosine_recall@1 | 0.69 |
cosine_recall@3 | 0.8271 |
cosine_recall@5 | 0.86 |
cosine_recall@10 | 0.9029 |
cosine_ndcg@10 | 0.7999 |
cosine_mrr@10 | 0.7666 |
cosine_map@100 | 0.7707 |
Information Retrieval
- Dataset:
dim_256
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.6957 |
cosine_accuracy@3 | 0.8229 |
cosine_accuracy@5 | 0.86 |
cosine_accuracy@10 | 0.8914 |
cosine_precision@1 | 0.6957 |
cosine_precision@3 | 0.2743 |
cosine_precision@5 | 0.172 |
cosine_precision@10 | 0.0891 |
cosine_recall@1 | 0.6957 |
cosine_recall@3 | 0.8229 |
cosine_recall@5 | 0.86 |
cosine_recall@10 | 0.8914 |
cosine_ndcg@10 | 0.7975 |
cosine_mrr@10 | 0.767 |
cosine_map@100 | 0.7718 |
Information Retrieval
- Dataset:
dim_128
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.6871 |
cosine_accuracy@3 | 0.8129 |
cosine_accuracy@5 | 0.8457 |
cosine_accuracy@10 | 0.8857 |
cosine_precision@1 | 0.6871 |
cosine_precision@3 | 0.271 |
cosine_precision@5 | 0.1691 |
cosine_precision@10 | 0.0886 |
cosine_recall@1 | 0.6871 |
cosine_recall@3 | 0.8129 |
cosine_recall@5 | 0.8457 |
cosine_recall@10 | 0.8857 |
cosine_ndcg@10 | 0.7877 |
cosine_mrr@10 | 0.7562 |
cosine_map@100 | 0.761 |
Information Retrieval
- Dataset:
dim_64
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.6329 |
cosine_accuracy@3 | 0.7771 |
cosine_accuracy@5 | 0.8171 |
cosine_accuracy@10 | 0.8571 |
cosine_precision@1 | 0.6329 |
cosine_precision@3 | 0.259 |
cosine_precision@5 | 0.1634 |
cosine_precision@10 | 0.0857 |
cosine_recall@1 | 0.6329 |
cosine_recall@3 | 0.7771 |
cosine_recall@5 | 0.8171 |
cosine_recall@10 | 0.8571 |
cosine_ndcg@10 | 0.7483 |
cosine_mrr@10 | 0.7131 |
cosine_map@100 | 0.719 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 6,300 training samples
- Columns:
positive
andanchor
- Approximate statistics based on the first 1000 samples:
positive anchor type string string details - min: 2 tokens
- mean: 46.19 tokens
- max: 371 tokens
- min: 2 tokens
- mean: 20.39 tokens
- max: 46 tokens
- Samples:
positive anchor Cash used in financing activities in fiscal 2022 was primarily attributable to settlement of stock-based awards.
Why was there a net outflow of cash in financing activities in fiscal 2022?
Certain vendors have been impacted by volatility in the supply chain financing market.
How have certain vendors been impacted in the supply chain financing market?
In the consolidated financial statements for Visa, the net cash provided by operating activities amounted to 20,755 units in the most recent period, 18,849 units in the previous period, and 15,227 units in the period before that.
How much net cash did Visa's operating activities generate in the most recent period according to the financial statements?
- 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
: epochper_device_train_batch_size
: 32per_device_eval_batch_size
: 16gradient_accumulation_steps
: 16learning_rate
: 2e-05num_train_epochs
: 4lr_scheduler_type
: cosinewarmup_ratio
: 0.1bf16
: Truetf32
: Trueoptim
: adamw_torch_fusedbatch_sampler
: no_duplicates
All Hyperparameters
Click to expand
overwrite_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
: 4max_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
: Falseignore_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
: Falsebatch_sampler
: no_duplicatesmulti_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.8122 | 10 | 1.5643 | - | - | - | - | - |
0.9746 | 12 | - | 0.7349 | 0.7494 | 0.7524 | 0.6987 | 0.7569 |
1.6244 | 20 | 0.6756 | - | - | - | - | - |
1.9492 | 24 | - | 0.7555 | 0.7659 | 0.7683 | 0.7190 | 0.7700 |
2.4365 | 30 | 0.4561 | - | - | - | - | - |
2.9239 | 36 | - | 0.7592 | 0.7698 | 0.7698 | 0.7184 | 0.7741 |
3.2487 | 40 | 0.3645 | - | - | - | - | - |
3.8985 | 48 | - | 0.7610 | 0.7718 | 0.7707 | 0.7190 | 0.7759 |
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.0.1
- Transformers: 4.41.2
- PyTorch: 2.2.0+cu121
- Accelerate: 0.31.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}
}
- Downloads last month
- 12
Inference Providers
NEW
This model is not currently available via any of the supported third-party Inference Providers, and
the model is not deployed on the HF Inference API.
Model tree for NickyNicky/bge-base-financial-matryoshka_test_0
Base model
BAAI/bge-base-en-v1.5Evaluation results
- Cosine Accuracy@1 on dim 768self-reported0.699
- Cosine Accuracy@3 on dim 768self-reported0.827
- Cosine Accuracy@5 on dim 768self-reported0.863
- Cosine Accuracy@10 on dim 768self-reported0.899
- Cosine Precision@1 on dim 768self-reported0.699
- Cosine Precision@3 on dim 768self-reported0.276
- Cosine Precision@5 on dim 768self-reported0.173
- Cosine Precision@10 on dim 768self-reported0.090
- Cosine Recall@1 on dim 768self-reported0.699
- Cosine Recall@3 on dim 768self-reported0.827