CatSchroedinger's picture
Add new SentenceTransformer model
eab3029 verified
metadata
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 model finetuned from 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
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json
  • Language: en
  • License: apache-2.0

Model Sources

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:

pip install -U sentence-transformers

Then you can load this model and run inference.

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

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
    • min: 9 tokens
    • mean: 20.49 tokens
    • max: 51 tokens
    • min: 6 tokens
    • mean: 45.72 tokens
    • max: 687 tokens
  • 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 with these parameters:
    {
        "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

@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

@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

@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}
}