--- 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: As of December 30, 2023, about 92% of securities in the Company's portfolio were at an unrealized loss position. sentences: - What additional document is included in the financial document apart from the Consolidated Financial Statements? - What percentage of the Company's portfolio of securities was in an unrealized loss position as of December 30, 2023? - What was the total loss the company incurred in association with the sale of the eOne Music business in 2021? - source_sentence: Revenue Recognition Product Sales We recognize revenue from product sales when control of the product transfers to the customer, which is generally upon shipment or delivery, or in certain cases, upon the corresponding sales by our customer to a third party. Revenues are recognized net of estimated rebates and chargebacks, patient co-pay assistance, prompt pay discounts, distributor fees, sales return provisions and other related deductions. These deductions to product sales are referred to as gross-to-net deductions and are estimated and recorded in the period in which the related product sales occur. sentences: - What is the expiration date for the federal research and development tax credits as of 2023? - How are revenue recognition and Gross-to-Net deductions related in the context of product sales? - What is the approval status of Tirzepatide (Mounjaro, Zepbound®) for the treatment of obesity as of 2023? - source_sentence: The expected long-term rate of return assumption used in computing 2023 net periodic benefit income for the U.S. pension plans was 6.75%. sentences: - What is the expected long-term rate of return on plan assets used in computing the 2023 net periodic benefit income for U.S. pension plans? - What was the increase in postpaid phone subscribers at AT&T Inc. from 2021 to 2023? - How does Chipotle ensure pay equity among its employees? - source_sentence: In an Annual Report on Form 10-K, 'Litigation and Other Legal Matters' are detailed under 'Note 13 — Commitments and Contingencies' in Part IV, Item 15 of the consolidated financial statements. sentences: - What is Apple's commitment to workplace practices and policies concerning harassment or discrimination? - By what percentage did net income increase in 2023 compared to 2022? - In the structure of an Annual Report on Form 10-K, where does one find details about 'Litigation and Other Legal Matters'? - source_sentence: Any such inquiries or investigations (including the IDPC proceedings) could subject us to substantial fines and costs, require us to change our business practices, divert resources and the attention of management from our business, or adversely affect our business. sentences: - What are some of the potential consequences for Meta Platforms, Inc. from inquiries or investigations as noted in the provided text? - What was the quarterly dividend declared by Bank of America's board of directors on January 31, 2024? - What recent technological advancements has the company implemented in set-top box (STB) solutions? 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.7357142857142858 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8557142857142858 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8957142857142857 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9285714285714286 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7357142857142858 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.28523809523809524 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.1791428571428571 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09285714285714286 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7357142857142858 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8557142857142858 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8957142857142857 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9285714285714286 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8337852464509243 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.8032046485260771 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.8062343226371107 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.7271428571428571 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8628571428571429 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.89 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9328571428571428 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7271428571428571 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2876190476190476 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17799999999999996 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09328571428571426 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7271428571428571 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8628571428571429 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.89 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9328571428571428 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8315560673246299 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7989370748299317 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.801544102570532 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.73 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8428571428571429 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8842857142857142 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9242857142857143 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.73 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.28095238095238095 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17685714285714282 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09242857142857142 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.73 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8428571428571429 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8842857142857142 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9242857142857143 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8268873311527957 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7956485260770971 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.798561528530067 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.7157142857142857 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8414285714285714 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8671428571428571 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9185714285714286 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7157142857142857 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.28047619047619043 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.1734285714285714 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09185714285714283 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7157142857142857 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8414285714285714 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8671428571428571 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9185714285714286 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8170171494742537 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.784555555555555 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7871835671545038 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.6928571428571428 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8171428571428572 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8471428571428572 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8928571428571429 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.6928571428571428 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2723809523809524 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.16942857142857143 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08928571428571426 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.6928571428571428 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8171428571428572 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8471428571428572 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8928571428571429 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7945818011619106 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7630130385487527 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7667826657397622 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("sintuk/bge-base-financial-matryoshka") # Run inference sentences = [ 'Any such inquiries or investigations (including the IDPC proceedings) could subject us to substantial fines and costs, require us to change our business practices, divert resources and the attention of management from our business, or adversely affect our business.', 'What are some of the potential consequences for Meta Platforms, Inc. from inquiries or investigations as noted in the provided text?', "What was the quarterly dividend declared by Bank of America's board of directors on January 31, 2024?", ] 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.7357 | 0.7271 | 0.73 | 0.7157 | 0.6929 | | cosine_accuracy@3 | 0.8557 | 0.8629 | 0.8429 | 0.8414 | 0.8171 | | cosine_accuracy@5 | 0.8957 | 0.89 | 0.8843 | 0.8671 | 0.8471 | | cosine_accuracy@10 | 0.9286 | 0.9329 | 0.9243 | 0.9186 | 0.8929 | | cosine_precision@1 | 0.7357 | 0.7271 | 0.73 | 0.7157 | 0.6929 | | cosine_precision@3 | 0.2852 | 0.2876 | 0.281 | 0.2805 | 0.2724 | | cosine_precision@5 | 0.1791 | 0.178 | 0.1769 | 0.1734 | 0.1694 | | cosine_precision@10 | 0.0929 | 0.0933 | 0.0924 | 0.0919 | 0.0893 | | cosine_recall@1 | 0.7357 | 0.7271 | 0.73 | 0.7157 | 0.6929 | | cosine_recall@3 | 0.8557 | 0.8629 | 0.8429 | 0.8414 | 0.8171 | | cosine_recall@5 | 0.8957 | 0.89 | 0.8843 | 0.8671 | 0.8471 | | cosine_recall@10 | 0.9286 | 0.9329 | 0.9243 | 0.9186 | 0.8929 | | **cosine_ndcg@10** | **0.8338** | **0.8316** | **0.8269** | **0.817** | **0.7946** | | cosine_mrr@10 | 0.8032 | 0.7989 | 0.7956 | 0.7846 | 0.763 | | cosine_map@100 | 0.8062 | 0.8015 | 0.7986 | 0.7872 | 0.7668 | ## 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 | |:----------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------| | We later began working with commercial enterprises, who often faced fundamentally similar challenges in working with data. | What type of software solutions did Palantir later provide to commercial enterprises? | | General Motors Company was incorporated as a Delaware corporation in 2009. | What year was General Motors Company incorporated? | | Companies with which we have strategic partnerships in some areas may be competitors in other areas. | What is the nature of IBM's relationship with its strategic partners in competitional terms? | * 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 - `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 - `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.6103 | - | - | - | - | - | | 0.9746 | 12 | - | 0.8290 | 0.8247 | 0.8184 | 0.8110 | 0.7726 | | 1.6244 | 20 | 0.6597 | - | - | - | - | - | | 1.9492 | 24 | - | 0.8313 | 0.8290 | 0.8264 | 0.8161 | 0.7849 | | 2.4365 | 30 | 0.5016 | - | - | - | - | - | | 2.9239 | 36 | - | 0.8340 | 0.8323 | 0.8265 | 0.8170 | 0.7943 | | 3.2487 | 40 | 0.4629 | - | - | - | - | - | | **3.8985** | **48** | **-** | **0.8338** | **0.8316** | **0.8269** | **0.817** | **0.7946** | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.12.9 - Sentence Transformers: 3.4.1 - Transformers: 4.41.2 - PyTorch: 2.2.2 - Accelerate: 1.5.2 - 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} } ```