--- 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: Capital expenditures, which primarily reflected investments in technical infrastructure, were $32.3 billion for the year ended December 31, 2023. sentences: - Where can you find the consolidated financial statements in the Annual Report on Form 10-K? - What were the total capital expenditures for Alphabet Inc. in 2023? - How did Chevron's development strategy in the Permian Basin contribute to its productivity? - source_sentence: You can identify forward-looking statements by the use of forward-looking terminology including “believes,” “expects,” “may,” “will,” “should,” “seeks,” “intends,” “plans,” “pro forma,” “estimates,” “anticipates,” or the negative of these words and phrases, other variations of these words and phrases or comparable terminology. sentences: - What does the forward-looking terminology in financial documents imply? - What seasons have higher domestic advertising revenue and what influences these patterns? - What is the role of Bank of America Corporation's management in relation to internal control over financial reporting? - source_sentence: For the year ended December 31, 2023, we recorded $3.6 million of foreign currency transaction losses. sentences: - What was the total foreign currency transaction loss recorded for the year ended December 31, 2023? - What credit ratings were assigned to the company by Standard & Poor’s and Moody’s at the end of 2022? - What are The Home Depot's strategies for increasing diversity, equity, and inclusion? - source_sentence: Gross margin contraction of 310 basis points primarily due to higher product costs, reflecting higher input costs and inbound freight and logistics costs and product mix, lower margins in NIKE Direct due to higher promotional activity and a lower mix of full-price sales. sentences: - What fiduciary duties might a company have under ERISA? - What were the significant contributors to the gross margin contraction and by how many basis points did it contract? - What typical reimbursement methods are used in the company's contracts with hospitals for inpatient and outpatient services? - source_sentence: As of December 31, 2023, we employed about 113,200 full-time persons of whom approximately 62,400 were located outside the United States. In the United States, we employed approximately 50,800 full-time persons. sentences: - What types of categories did eBay focus on in 2023, and how did they contribute to the company's gross merchandise volume? - What challenges do solar power system owners face with traditional string inverters? - How many full-time employees were employed by the company as of December 31, 2023, and how are they distributed geographically? 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 384 type: dim_384 metrics: - type: cosine_accuracy@1 value: 0.7157142857142857 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8485714285714285 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8742857142857143 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9171428571428571 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7157142857142857 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.28285714285714286 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17485714285714282 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09171428571428569 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7157142857142857 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8485714285714285 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8742857142857143 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9171428571428571 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8198819637056249 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7885175736961447 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7918328646013278 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.7157142857142857 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8485714285714285 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8785714285714286 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9142857142857143 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7157142857142857 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.28285714285714286 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17571428571428568 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09142857142857141 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7157142857142857 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8485714285714285 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8785714285714286 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9142857142857143 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8187635355625659 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7878270975056689 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7911673353002208 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.7057142857142857 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8371428571428572 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8642857142857143 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9085714285714286 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7057142857142857 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.27904761904761904 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17285714285714285 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09085714285714284 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7057142857142857 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8371428571428572 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8642857142857143 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9085714285714286 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8090255333396114 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.777143424036281 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7807082191352167 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.6728571428571428 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8128571428571428 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.85 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8814285714285715 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6728571428571428 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.27095238095238094 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16999999999999998 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08814285714285712 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6728571428571428 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8128571428571428 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.85 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8814285714285715 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.782934506961568 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7507721088435368 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7551335288460688 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 32 type: dim_32 metrics: - type: cosine_accuracy@1 value: 0.5957142857142858 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.7414285714285714 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.7828571428571428 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8314285714285714 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.5957142857142858 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2471428571428571 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.15657142857142856 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08314285714285713 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.5957142857142858 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.7414285714285714 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.7828571428571428 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8314285714285714 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7158751864189645 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.6787687074829931 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.6839925227099907 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("moresearch/bge-base-financial-matryoshka") # Run inference sentences = [ 'As of December 31, 2023, we employed about 113,200 full-time persons of whom approximately 62,400 were located outside the United States. In the United States, we employed approximately 50,800 full-time persons.', 'How many full-time employees were employed by the company as of December 31, 2023, and how are they distributed geographically?', 'What challenges do solar power system owners face with traditional string inverters?', ] 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_384`, `dim_256`, `dim_128`, `dim_64` and `dim_32` * Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator) | Metric | dim_384 | dim_256 | dim_128 | dim_64 | dim_32 | |:--------------------|:-----------|:-----------|:----------|:-----------|:-----------| | cosine_accuracy@1 | 0.7157 | 0.7157 | 0.7057 | 0.6729 | 0.5957 | | cosine_accuracy@3 | 0.8486 | 0.8486 | 0.8371 | 0.8129 | 0.7414 | | cosine_accuracy@5 | 0.8743 | 0.8786 | 0.8643 | 0.85 | 0.7829 | | cosine_accuracy@10 | 0.9171 | 0.9143 | 0.9086 | 0.8814 | 0.8314 | | cosine_precision@1 | 0.7157 | 0.7157 | 0.7057 | 0.6729 | 0.5957 | | cosine_precision@3 | 0.2829 | 0.2829 | 0.279 | 0.271 | 0.2471 | | cosine_precision@5 | 0.1749 | 0.1757 | 0.1729 | 0.17 | 0.1566 | | cosine_precision@10 | 0.0917 | 0.0914 | 0.0909 | 0.0881 | 0.0831 | | cosine_recall@1 | 0.7157 | 0.7157 | 0.7057 | 0.6729 | 0.5957 | | cosine_recall@3 | 0.8486 | 0.8486 | 0.8371 | 0.8129 | 0.7414 | | cosine_recall@5 | 0.8743 | 0.8786 | 0.8643 | 0.85 | 0.7829 | | cosine_recall@10 | 0.9171 | 0.9143 | 0.9086 | 0.8814 | 0.8314 | | **cosine_ndcg@10** | **0.8199** | **0.8188** | **0.809** | **0.7829** | **0.7159** | | cosine_mrr@10 | 0.7885 | 0.7878 | 0.7771 | 0.7508 | 0.6788 | | cosine_map@100 | 0.7918 | 0.7912 | 0.7807 | 0.7551 | 0.684 | ## 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 | |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------| | The company maintains a revolving credit facility that, unless extended, terminates on July 6, 2026. | What is the expiration date of the company's revolving credit facility, unless extended? | | The management of Bank of America Corporation is responsible for establishing and maintaining adequate internal control over financial reporting. The Corporation’s internal control over financial reporting is designed to provide reasonable assurance about the reliability of financial reporting and the preparation of financial statements in accordance with accounting principles generally accepted in the United States of America. Management's responsibilities include maintaining records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the Corporation; ensuring that transactions are recorded as necessary for the preparation of financial statements; and preventing or detecting unauthorized acquisition, use, or disposition of the Corporation’s assets that could have a material effect on the financial statements. | What is the role of Bank of America Corporation's management in relation to internal control over financial reporting? | | In 2020, Gilead implemented multiple programs to train managers on inclusion and diversity topics and created strategies and initiatives focused on attracting, developing and retaining diverse talent and driving an inclusive culture in our workplace. | What initiatives has Gilead undertaken to promote workplace diversity? | * 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 - `bf16`: True - `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 - `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`: 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`: True - `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 - `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 - `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 - `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
### Training Logs | Epoch | Step | Training Loss | dim_384_cosine_ndcg@10 | dim_256_cosine_ndcg@10 | dim_128_cosine_ndcg@10 | dim_64_cosine_ndcg@10 | dim_32_cosine_ndcg@10 | |:----------:|:------:|:-------------:|:----------------------:|:----------------------:|:----------------------:|:---------------------:|:---------------------:| | 0.8122 | 10 | 1.5733 | - | - | - | - | - | | 0.9746 | 12 | - | 0.8075 | 0.8045 | 0.7876 | 0.7643 | 0.6844 | | 1.6244 | 20 | 0.6549 | - | - | - | - | - | | 1.9492 | 24 | - | 0.8188 | 0.8169 | 0.8035 | 0.7789 | 0.7107 | | 2.4365 | 30 | 0.4373 | - | - | - | - | - | | 2.9239 | 36 | - | 0.8210 | 0.8183 | 0.8079 | 0.7835 | 0.7161 | | 3.2487 | 40 | 0.3951 | - | - | - | - | - | | **3.8985** | **48** | **-** | **0.8199** | **0.8188** | **0.809** | **0.7829** | **0.7159** | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.10.12 - Sentence Transformers: 3.3.1 - Transformers: 4.46.3 - PyTorch: 2.5.1+cu124 - Accelerate: 1.1.1 - Datasets: 3.1.0 - Tokenizers: 0.20.3 ## 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} } ```