--- 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: nomic-ai/nomic-embed-text-v1.5 widget: - source_sentence: What contributed to the increase in accounts receivable in 2023 compared to the previous year? sentences: - At December 31, 2023, Caterpillar’s consolidated net worth was $19.55 billion, which was above the $9.00 billion required under the Credit Facility. - Accounts receivable increased to $3,154 million at October 29, 2023 from $2,958 million at October 30, 2022, primarily due to revenue linearity, offset in part by additional receivables sold through factoring arrangements. - The EU adopted the Carbon Border Adjustment Mechanism (CBAM), which subjects certain imported materials such as iron, steel, and aluminum, to a carbon levy linked to the carbon price payable on domestic goods under the European Trading Scheme. The CBAM could increase costs of importing such materials and/or limit the ability to import lower cost materials from non-EU countries. - source_sentence: What primarily constituted marketing expenses for the year ended December 31, 2025? sentences: - This is the world’s first liquefied natural gas (LNG) plant supplied with associated gas, where the natural gas is a byproduct of crude oil production. - Marketing expenses consist primarily of advertising expenses and certain payments made to our marketing and advertising sales partners. - In January 2024, the CFPB proposed a rule that could significantly restrict bank overdraft fees. - source_sentence: What is the total cash flow from operating activities for Airbnb, Inc. in 2023? sentences: - Net cash provided by operating activities | 2,313 | | 3,430 | | 3,884 - Under ASO contracts, self-funded employers generally retain the risk of financing the costs of health benefits, with large group customers retaining a greater share and small group customers a smaller share of the cost of health benefits. - Of the $2.2 billion in revenue that we generated in 2023, 55% came from customers in the government segment, and 45% came from customers in the commercial segment. - source_sentence: What major legislative act mentioned in the text was enacted by the U.S. government on August 16, 2022? sentences: - In July 2022, the borrowing capacity under the back-up facilities expanded from $3.0 billion to $5.0 billion. - The Company manages its investment portfolio to limit its exposure to any one issuer or market sector, and largely limits its investments to investmententious grade quality. - On August 16, 2022, the U.S. government enacted the Inflation Reduction Act of 2022. - source_sentence: What is the maximum duration for patent term restoration for pharmaceutical products in the U.S.? sentences: - Patent term restoration for a single patent for a pharmaceutical product is provided to U.S. patent holders to compensate for a portion of the time invested in clinical trials and the U.S. Food and Drug Administration (FDA). There is a five-year cap on any restoration, and no patent's expiration date may be extended beyond 14 years from FDA approval. - Using AI technologies, our Tax Advisor offering leverages information generated from our ProConnect Tax Online and Lacerte offerings to enable year-round tax planning services and communicate tax savings strategies to clients. - In 2023, catastrophe losses were primarily due to U.S. flooding, hail, tornadoes, and wind events. 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: nomic 1.5 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.7285714285714285 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8514285714285714 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8885714285714286 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.92 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7285714285714285 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.28380952380952384 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17771428571428569 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09199999999999998 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7285714285714285 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8514285714285714 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8885714285714286 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.92 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.82688931465871 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7967777777777774 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.8005981271078951 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.7142857142857143 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8414285714285714 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8857142857142857 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9214285714285714 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7142857142857143 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2804761904761905 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17714285714285713 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09214285714285714 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7142857142857143 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8414285714285714 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8857142857142857 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9214285714285714 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8200375337187854 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7872664399092969 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7910342395417198 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.7014285714285714 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8385714285714285 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.88 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9242857142857143 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7014285714285714 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2795238095238095 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.176 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09242857142857142 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7014285714285714 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8385714285714285 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.88 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9242857142857143 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8144449051665447 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7791428571428568 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7827133843260672 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.7071428571428572 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8342857142857143 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8742857142857143 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.9242857142857143 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.7071428571428572 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.2780952380952381 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17485714285714282 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.09242857142857142 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.7071428571428572 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8342857142857143 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8742857142857143 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.9242857142857143 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.8164938269316206 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.78222052154195 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7855606408045326 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.67 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.8085714285714286 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.8514285714285714 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.8985714285714286 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.67 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.26952380952380955 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.17028571428571426 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.08985714285714284 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.67 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.8085714285714286 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.8514285714285714 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.8985714285714286 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.7841742147445607 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.7477647392290245 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.7519306451620806 name: Cosine Map@100 --- # nomic 1.5 base Financial Matryoshka This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [nomic-ai/nomic-embed-text-v1.5](https://huggingface.co/nomic-ai/nomic-embed-text-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:** [nomic-ai/nomic-embed-text-v1.5](https://huggingface.co/nomic-ai/nomic-embed-text-v1.5) - **Maximum Sequence Length:** 8192 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': 8192, 'do_lower_case': False}) with Transformer model: NomicBertModel (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) ) ``` ## 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("CatSchroedinger/nomic-v1.5-financial-matryoshka") # Run inference sentences = [ 'What is the maximum duration for patent term restoration for pharmaceutical products in the U.S.?', "Patent term restoration for a single patent for a pharmaceutical product is provided to U.S. patent holders to compensate for a portion of the time invested in clinical trials and the U.S. Food and Drug Administration (FDA). There is a five-year cap on any restoration, and no patent's expiration date may be extended beyond 14 years from FDA approval.", 'Using AI technologies, our Tax Advisor offering leverages information generated from our ProConnect Tax Online and Lacerte offerings to enable year-round tax planning services and communicate tax savings strategies to clients.', ] 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.7286 | 0.7143 | 0.7014 | 0.7071 | 0.67 | | cosine_accuracy@3 | 0.8514 | 0.8414 | 0.8386 | 0.8343 | 0.8086 | | cosine_accuracy@5 | 0.8886 | 0.8857 | 0.88 | 0.8743 | 0.8514 | | cosine_accuracy@10 | 0.92 | 0.9214 | 0.9243 | 0.9243 | 0.8986 | | cosine_precision@1 | 0.7286 | 0.7143 | 0.7014 | 0.7071 | 0.67 | | cosine_precision@3 | 0.2838 | 0.2805 | 0.2795 | 0.2781 | 0.2695 | | cosine_precision@5 | 0.1777 | 0.1771 | 0.176 | 0.1749 | 0.1703 | | cosine_precision@10 | 0.092 | 0.0921 | 0.0924 | 0.0924 | 0.0899 | | cosine_recall@1 | 0.7286 | 0.7143 | 0.7014 | 0.7071 | 0.67 | | cosine_recall@3 | 0.8514 | 0.8414 | 0.8386 | 0.8343 | 0.8086 | | cosine_recall@5 | 0.8886 | 0.8857 | 0.88 | 0.8743 | 0.8514 | | cosine_recall@10 | 0.92 | 0.9214 | 0.9243 | 0.9243 | 0.8986 | | **cosine_ndcg@10** | **0.8269** | **0.82** | **0.8144** | **0.8165** | **0.7842** | | cosine_mrr@10 | 0.7968 | 0.7873 | 0.7791 | 0.7822 | 0.7478 | | cosine_map@100 | 0.8006 | 0.791 | 0.7827 | 0.7856 | 0.7519 | ## Training Details ### Training Dataset #### json * Dataset: json * Size: 6,300 training samples * Columns: anchor and positive * Approximate statistics based on the first 1000 samples: | | anchor | positive | |:--------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | anchor | positive | |:-----------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | What limitations are associated with using non-GAAP financial measures such as contribution margin and adjusted income from operations? | Further, these metrics have certain limitations, as they do not include the impact of certain expenses that are reflected in our consolidated statements of operations. | | What type of firm is PricewaterhouseCoopers LLP as mentioned in the financial statements? | PricewaterhouseCoopers LLP, mentioned as the independent registered public accounting firm with PCAOB ID 238, prepared the report on the consolidated financial statements. | | What pages contain the financial Statements and Supplementary Data in IBM's 2023 Annual Report? | The Financial Statements and Supplementary Data for IBM's 2023 Annual Report are found on pages 44 through 121. | * 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`: None - `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_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 | 11.5729 | - | - | - | - | - | | 1.0 | 13 | - | 0.7995 | 0.7976 | 0.7929 | 0.7889 | 0.7646 | | 1.5685 | 20 | 3.4999 | - | - | - | - | - | | 2.0 | 26 | - | 0.8207 | 0.8189 | 0.8099 | 0.8090 | 0.7825 | | 2.3249 | 30 | 2.8578 | - | - | - | - | - | | **3.0** | **39** | **-** | **0.8267** | **0.8218** | **0.8151** | **0.8168** | **0.7826** | | 3.0812 | 40 | 2.0904 | - | - | - | - | - | | 3.7310 | 48 | - | 0.8269 | 0.8200 | 0.8144 | 0.8165 | 0.7842 | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.11.5 - Sentence Transformers: 3.4.1 - Transformers: 4.48.2 - PyTorch: 2.6.0+cu124 - Accelerate: 1.3.0 - Datasets: 2.19.1 - Tokenizers: 0.21.0 ## 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} } ```