--- 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: Americas | $ | 7,631,647 | | | $ | 6,817,454 | | 79.3 | % | 84.1 | % sentences: - What therapeutic area does the folate receptor alpha antibody drug conjugate MBK-103 target? - What was the proportion of Americas' net revenue to the company's total net revenue in 2023, and how did it change from 2022? - What was the Company's income tax provision for the year ended December 31, 2022? - source_sentence: The Company establishes SSP based on observable prices of products or services sold or priced separately in comparable circumstances to similar customers. sentences: - What were the lease terms and discount rates for operating leases as of March 31, 2023 and 2022? - What factors influence the Company's ability to establish Standalone Selling Prices (SSP) based on observable prices? - What number is associated with Item 8 in the document? - source_sentence: Our effective tax rates could be affected by numerous factors, such as changes in our business operations, acquisitions, investments, entry into new businesses and geographies, intercompany transactions, the relative amount of our foreign earnings, including earnings being lower than anticipated in jurisdictions where we have lower statutory rates and higher than anticipated in jurisdictions where we have higher statutory rates, losses incurred in jurisdictions for which we are not able to realize related tax benefits, the applicability of special tax regimes, changes in foreign exchange rates, changes in our stock price, changes to our forecasts of income and loss and the mix of jurisdictions to which they relate, changes in our deferred tax assets and liabilities and their valuation, changes in the laws, regulations, administrative practices, principles, and interpretations related to tax, including changes to the global tax framework, competition, and other laws and accounting rules in various jurisdictions. sentences: - What impact do tax laws and economic conditions have on the company's effective tax rates? - What is the purpose of Alphabet Inc.'s annual review of methodologies used in monitoring advertising metrics? - From which sources does Apple obtain certain essential components? - source_sentence: (Decrease) increase in cash, cash equivalents and restricted cash for fiscal year 2023 was a decrease of $182 million, starting with $4,763 million at the beginning and ending with $4,581 million. sentences: - What is the minimum project cost for the development described in the Second Development Agreement involving MBS? - What does the No Surprises Act require providers to develop and disclose? - What was the change in cash and cash equivalents for Hewlett Packard Enterprise from the beginning to the end of the fiscal year 2023? - source_sentence: The total amount of gross unrecognized tax benefits as of December 30, 2023 was $13,571. sentences: - What was the total amount of gross unrecognized tax benefits as of December 30, 2023? - What percentage of Kenvue Common Stock did Johnson & Johnson own as of the closing of the IPO? - What was the percentage change in sales from 2022 to 2023 for the Trauma segment in the U.S.? 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.6928571428571428 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8142857142857143 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8471428571428572 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9014285714285715 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6928571428571428 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2714285714285714 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.1694285714285714 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09014285714285714 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6928571428571428 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8142857142857143 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8471428571428572 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9014285714285715 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7960400928582716 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7625391156462585 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7656459931357954 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.7 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8142857142857143 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.85 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8928571428571429 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2714285714285714 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16999999999999998 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08928571428571426 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8142857142857143 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.85 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8928571428571429 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7962092633155669 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7652437641723353 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7690571344301111 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.8085714285714286 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8485714285714285 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8928571428571429 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6885714285714286 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2695238095238095 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16971428571428568 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08928571428571427 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6885714285714286 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8085714285714286 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8485714285714285 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8928571428571429 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.790294082455236 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7575634920634915 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7608461966590305 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.6771428571428572 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.7971428571428572 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.83 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.89 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6771428571428572 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.26571428571428574 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16599999999999998 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.089 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6771428571428572 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.7971428571428572 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.83 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.89 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7811390356263523 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7466921768707482 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7500930927741866 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.6457142857142857 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.7685714285714286 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8114285714285714 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8628571428571429 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6457142857142857 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2561904761904762 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16228571428571428 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08628571428571427 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6457142857142857 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.7685714285714286 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8114285714285714 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8628571428571429 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7526448867884948 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7175549886621314 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.721601645358737 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("michalwilkosz/bge-base-financial-matryoshka") # Run inference sentences = [ 'The total amount of gross unrecognized tax benefits as of December 30, 2023 was $13,571.', 'What was the total amount of gross unrecognized tax benefits as of December 30, 2023?', 'What percentage of Kenvue Common Stock did Johnson & Johnson own as of the closing of the IPO?', ] 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.6929 | 0.7 | 0.6886 | 0.6771 | 0.6457 | | cosine_accuracy@3 | 0.8143 | 0.8143 | 0.8086 | 0.7971 | 0.7686 | | cosine_accuracy@5 | 0.8471 | 0.85 | 0.8486 | 0.83 | 0.8114 | | cosine_accuracy@10 | 0.9014 | 0.8929 | 0.8929 | 0.89 | 0.8629 | | cosine_precision@1 | 0.6929 | 0.7 | 0.6886 | 0.6771 | 0.6457 | | cosine_precision@3 | 0.2714 | 0.2714 | 0.2695 | 0.2657 | 0.2562 | | cosine_precision@5 | 0.1694 | 0.17 | 0.1697 | 0.166 | 0.1623 | | cosine_precision@10 | 0.0901 | 0.0893 | 0.0893 | 0.089 | 0.0863 | | cosine_recall@1 | 0.6929 | 0.7 | 0.6886 | 0.6771 | 0.6457 | | cosine_recall@3 | 0.8143 | 0.8143 | 0.8086 | 0.7971 | 0.7686 | | cosine_recall@5 | 0.8471 | 0.85 | 0.8486 | 0.83 | 0.8114 | | cosine_recall@10 | 0.9014 | 0.8929 | 0.8929 | 0.89 | 0.8629 | | **cosine_ndcg@10** | **0.796** | **0.7962** | **0.7903** | **0.7811** | **0.7526** | | cosine_mrr@10 | 0.7625 | 0.7652 | 0.7576 | 0.7467 | 0.7176 | | cosine_map@100 | 0.7656 | 0.7691 | 0.7608 | 0.7501 | 0.7216 | ## 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 | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------| | Almost all FedEx Office locations provide local pickup-and-delivery service for print jobs completed by FedEx Office. A FedEx courier picks up a customer’s print job at the customer’s location and then returns the finished product to the customer. | What service does almost all FedEx Office locations provide for completed print jobs? | | Non-compliance with government laws and regulations may result in fines, limits on the ability to sell products, suspension of business activities, reputational damage, and legal liabilities. | What are the consequences of failing to comply with government laws and regulations? | | Item 8 is labeled as Financial Statements and Supplementary Data. | What is the title of Item 8 in the financial document? | * 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`: 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`: 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`: 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`: 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.5678 | - | - | - | - | - | | 0.9746 | 12 | - | 0.7840 | 0.7835 | 0.7763 | 0.7656 | 0.7360 | | 1.6244 | 20 | 0.6336 | - | - | - | - | - | | 1.9492 | 24 | - | 0.7960 | 0.7950 | 0.7903 | 0.7783 | 0.7500 | | 2.4365 | 30 | 0.464 | - | - | - | - | - | | **2.9239** | **36** | **-** | **0.7965** | **0.7969** | **0.7912** | **0.7825** | **0.7525** | | 3.2487 | 40 | 0.3768 | - | - | - | - | - | | 3.8985 | 48 | - | 0.7960 | 0.7962 | 0.7903 | 0.7811 | 0.7526 | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.11.11 - 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 ```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} } ```