--- language: - en license: apache-2.0 tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:6300 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: BAAI/bge-base-en-v1.5 widget: - source_sentence: The audit on Equifax Inc.'s internal control over financial reporting and consolidated financial statements as of December 31, 2023, was conducted by Ernst & Young LLP. sentences: - What percentage of HP's full-time leadership positions were held by women in the fiscal year 2023? - What accounting firm conducted the audit on Equifax Inc.'s internal control over financial reporting and consolidated financial statements as of December 31, 2023? - What was the total net sales reported by Costco Wholesale Corporation for the 53-week period ended September 3, 2023? - source_sentence: The company recruits and hires using local job fairs, social media, and community service partners, and supports employees through competitive pay, benefits, and human capital programs focused on professional growth, diversity, equity, and inclusion. sentences: - What position did Jon Faust hold before becoming the Global Controller at HP? - How does the company recruit and support its employees? - What was the main driver behind the increase in the provision for credit losses at Bank of America in 2023? - source_sentence: Management’s Report on Internal Control Over Financial Reporting outlines the responsibility of management in maintaining effective internal controls over financial reporting. This involves setting policies, using advanced systems for processing transactions, and maintaining a qualified staff to handle financial procedures. Regular assessments and corrective measures ensure these controls remain effective. sentences: - What is the role of management in maintaining internal control over financial reporting at a company? - How much cash and cash equivalents did the company have at the end of 2023, and how does this compare to the end of 2022? - How does AT&T emphasize diversity in its hiring practices? - source_sentence: Net cash provided by operating activities increased from $1,681 million in 2022 to $1,946 million in 2023, marking a 15.8% increase. sentences: - Are the consolidated financial statements and accompanying notes part of ITEM 8 in the Annual Report on Form 10-K? - What is the expected benefit of the Pasadena Refinery project for Chevron? - What was the percentage increase in net cash provided by operating activities from 2022 to 2023? - source_sentence: As of August 26, 2023, approximately 60 percent of AutoZoners were employed full-time. sentences: - What percentage of AutoZone employees were employed full-time as of August 26, 2023? - What type of information can be found under Item 8? - What type of fees are typically included in the management and franchise contracts for hotels, and how are they structured? pipeline_tag: sentence-similarity library_name: sentence-transformers metrics: - cosine_accuracy@1 - cosine_accuracy@3 - cosine_accuracy@5 - cosine_accuracy@10 - cosine_precision@1 - cosine_precision@3 - cosine_precision@5 - cosine_precision@10 - cosine_recall@1 - cosine_recall@3 - cosine_recall@5 - cosine_recall@10 - cosine_ndcg@10 - cosine_mrr@10 - cosine_map@100 model-index: - name: BGE base Financial Matryoshka results: - task: type: information-retrieval name: Information Retrieval dataset: name: dim 768 type: dim_768 metrics: - type: cosine_accuracy@1 value: 0.69 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8228571428571428 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8614285714285714 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8957142857142857 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.69 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2742857142857143 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17228571428571426 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08957142857142857 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.69 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8228571428571428 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8614285714285714 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8957142857142857 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7945358470918553 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.761935941043084 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7657245273513861 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 512 type: dim_512 metrics: - type: cosine_accuracy@1 value: 0.6857142857142857 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8157142857142857 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8542857142857143 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.89 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6857142857142857 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.27190476190476187 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17085714285714285 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.089 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6857142857142857 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8157142857142857 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8542857142857143 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.89 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7904913359354251 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7583202947845803 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7625604889486977 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 256 type: dim_256 metrics: - type: cosine_accuracy@1 value: 0.6885714285714286 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8214285714285714 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8471428571428572 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8842857142857142 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6885714285714286 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2738095238095238 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16942857142857143 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08842857142857143 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6885714285714286 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8214285714285714 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8471428571428572 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8842857142857142 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7896289953264028 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7590345804988659 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7635502971962614 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 128 type: dim_128 metrics: - type: cosine_accuracy@1 value: 0.6585714285714286 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.7928571428571428 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8385714285714285 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8714285714285714 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6585714285714286 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.26428571428571423 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16771428571428573 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08714285714285715 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6585714285714286 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.7928571428571428 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8385714285714285 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8714285714285714 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.769471630453507 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7362562358276643 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7413221179326462 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 64 type: dim_64 metrics: - type: cosine_accuracy@1 value: 0.6214285714285714 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.7714285714285715 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8071428571428572 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8657142857142858 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6214285714285714 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2571428571428571 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16142857142857142 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08657142857142856 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6214285714285714 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.7714285714285715 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8071428571428572 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8657142857142858 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7444608164978749 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7056712018140587 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7097197315690517 name: Cosine Map@100 --- # BGE base Financial Matryoshka This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-base-en-v1.5](https://huggingface.co/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](https://huggingface.co/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](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) ### 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: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("ducmai-4203/bge-base-financial-matryoshka") # Run inference sentences = [ 'As of August 26, 2023, approximately 60 percent of AutoZoners were employed full-time.', 'What percentage of AutoZone employees were employed full-time as of August 26, 2023?', 'What type of information can be found under Item 8?', ] 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_128` and `dim_64` * Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator) | Metric | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 | |:--------------------|:-----------|:-----------|:-----------|:-----------|:-----------| | cosine_accuracy@1 | 0.69 | 0.6857 | 0.6886 | 0.6586 | 0.6214 | | cosine_accuracy@3 | 0.8229 | 0.8157 | 0.8214 | 0.7929 | 0.7714 | | cosine_accuracy@5 | 0.8614 | 0.8543 | 0.8471 | 0.8386 | 0.8071 | | cosine_accuracy@10 | 0.8957 | 0.89 | 0.8843 | 0.8714 | 0.8657 | | cosine_precision@1 | 0.69 | 0.6857 | 0.6886 | 0.6586 | 0.6214 | | cosine_precision@3 | 0.2743 | 0.2719 | 0.2738 | 0.2643 | 0.2571 | | cosine_precision@5 | 0.1723 | 0.1709 | 0.1694 | 0.1677 | 0.1614 | | cosine_precision@10 | 0.0896 | 0.089 | 0.0884 | 0.0871 | 0.0866 | | cosine_recall@1 | 0.69 | 0.6857 | 0.6886 | 0.6586 | 0.6214 | | cosine_recall@3 | 0.8229 | 0.8157 | 0.8214 | 0.7929 | 0.7714 | | cosine_recall@5 | 0.8614 | 0.8543 | 0.8471 | 0.8386 | 0.8071 | | cosine_recall@10 | 0.8957 | 0.89 | 0.8843 | 0.8714 | 0.8657 | | **cosine_ndcg@10** | **0.7945** | **0.7905** | **0.7896** | **0.7695** | **0.7445** | | cosine_mrr@10 | 0.7619 | 0.7583 | 0.759 | 0.7363 | 0.7057 | | cosine_map@100 | 0.7657 | 0.7626 | 0.7636 | 0.7413 | 0.7097 | ## Training Details ### Training Dataset #### json * Dataset: json * Size: 6,300 training samples * Columns: positive and anchor * Approximate statistics based on the first 1000 samples: | | positive | anchor | |:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | positive | anchor | |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------| | Income before income taxes for the 52-weeks ended December 30, 2023 was $1,200,356. | What was the total income before income taxes for the fiscal year ended December 30, 2023? | | The Global Supply Chain program was announced in the second quarter of 2018 and was completed in the fiscal fourth quarter of 2022. | What significant change was made to the global supply chain program in the second quarter of 2018? | | The benefits of uncertain tax positions are recorded in our financial statements only after determining a more likely than not probability that the uncertain tax positions will withstand challenge, if any, from taxing authorities. | Under what condition does a company record the benefits of uncertain tax positions in its financial statements? | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "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`: 16 - `learning_rate`: 2e-05 - `num_train_epochs`: 4 - `lr_scheduler_type`: cosine - `warmup_ratio`: 0.1 - `tf32`: False - `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`: 16 - `eval_accumulation_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`: 4 - `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`: False - `fp16`: False - `fp16_opt_level`: O1 - `half_precision_backend`: auto - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: False - `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 - `prompts`: None - `batch_sampler`: no_duplicates - `multi_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.6143 | - | - | - | - | - | | 0.9746 | 12 | - | 0.7814 | 0.7768 | 0.7692 | 0.7546 | 0.7218 | | 1.6244 | 20 | 0.6542 | - | - | - | - | - | | 1.9492 | 24 | - | 0.7930 | 0.7882 | 0.7868 | 0.7674 | 0.7410 | | 2.4365 | 30 | 0.5233 | - | - | - | - | - | | **2.9239** | **36** | **-** | **0.7941** | **0.7899** | **0.7893** | **0.7699** | **0.7448** | | 3.2487 | 40 | 0.4162 | - | - | - | - | - | | 3.8985 | 48 | - | 0.7945 | 0.7905 | 0.7896 | 0.7695 | 0.7445 | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.10.12 - Sentence Transformers: 3.4.1 - Transformers: 4.41.2 - PyTorch: 2.5.1+cu121 - Accelerate: 1.2.1 - Datasets: 2.19.1 - Tokenizers: 0.19.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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 ```bibtex @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 ```bibtex @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} } ```