nomic-embed-text-v1.5

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("Thejina/nomic-embed-text-finetuned")
# Run inference
sentences = [
    'such an argument, and she does not offer any case law, cites to secondary sources, dictionaries \nor grammatical texts, arguments by analogy, or other citations, except for the mere assertion \nthat defendant failed to move in a timely fashion after he was “on notice” of the ex parte order. \nA reviewing court is entitled to have issues clearly defined with relevant authority cited.',
    'What mere assertion does she make?',
    "What page is Cross-MJAR's emphasis mentioned on?",
]
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 Value
cosine_accuracy@1 0.5487
cosine_accuracy@3 0.5966
cosine_accuracy@5 0.7017
cosine_accuracy@10 0.7697
cosine_precision@1 0.5487
cosine_precision@3 0.524
cosine_precision@5 0.4099
cosine_precision@10 0.2414
cosine_recall@1 0.1905
cosine_recall@3 0.5102
cosine_recall@5 0.6503
cosine_recall@10 0.7595
cosine_ndcg@10 0.6615
cosine_mrr@10 0.6004
cosine_map@100 0.6428

Information Retrieval

Metric Value
cosine_accuracy@1 0.541
cosine_accuracy@3 0.5889
cosine_accuracy@5 0.6924
cosine_accuracy@10 0.7743
cosine_precision@1 0.541
cosine_precision@3 0.5173
cosine_precision@5 0.4034
cosine_precision@10 0.2419
cosine_recall@1 0.1874
cosine_recall@3 0.5054
cosine_recall@5 0.6412
cosine_recall@10 0.7622
cosine_ndcg@10 0.6576
cosine_mrr@10 0.5934
cosine_map@100 0.6355

Information Retrieval

Metric Value
cosine_accuracy@1 0.5085
cosine_accuracy@3 0.5564
cosine_accuracy@5 0.6708
cosine_accuracy@10 0.745
cosine_precision@1 0.5085
cosine_precision@3 0.4874
cosine_precision@5 0.3864
cosine_precision@10 0.2312
cosine_recall@1 0.1767
cosine_recall@3 0.4771
cosine_recall@5 0.6141
cosine_recall@10 0.7258
cosine_ndcg@10 0.6258
cosine_mrr@10 0.563
cosine_map@100 0.6092

Information Retrieval

Metric Value
cosine_accuracy@1 0.4513
cosine_accuracy@3 0.5054
cosine_accuracy@5 0.5889
cosine_accuracy@10 0.6862
cosine_precision@1 0.4513
cosine_precision@3 0.4374
cosine_precision@5 0.3416
cosine_precision@10 0.213
cosine_recall@1 0.157
cosine_recall@3 0.4283
cosine_recall@5 0.5426
cosine_recall@10 0.6721
cosine_ndcg@10 0.568
cosine_mrr@10 0.5039
cosine_map@100 0.5512

Information Retrieval

Metric Value
cosine_accuracy@1 0.3524
cosine_accuracy@3 0.3895
cosine_accuracy@5 0.473
cosine_accuracy@10 0.5641
cosine_precision@1 0.3524
cosine_precision@3 0.339
cosine_precision@5 0.2696
cosine_precision@10 0.1723
cosine_recall@1 0.1217
cosine_recall@3 0.3322
cosine_recall@5 0.4311
cosine_recall@10 0.5447
cosine_ndcg@10 0.452
cosine_mrr@10 0.3966
cosine_map@100 0.4461

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 5,822 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 46 tokens
    • mean: 91.09 tokens
    • max: 324 tokens
    • min: 7 tokens
    • mean: 16.89 tokens
    • max: 43 tokens
  • Samples:
    positive anchor
    functional test, too. Id. at 89–90. Still, the Court made clear that this functional test was “not
    relevant.” Id. at 90. So, just as in Energy Research, its application of the functional test was
    dicta. And because this discussion relied on the dicta from Energy Research, this was dicta
    upon dicta.

    The Government is thus imprecise when it asserts as the “law of the case” that the
    What page is the functional test mentioned as 'not relevant'?
    authenticated through his testimony under Maryland Rule 5-901(b)(1) as a witness with
    personal knowledge of the events.
    - 6 -
    The part of the video depicting the shooting was properly authenticated through
    circumstantial evidence under Maryland Rule 5-901(b)(4), as there was sufficient
    circumstantial evidence from which a reasonable juror could have inferred that the video
    Which part of the video was authenticated?
    KLAN202300916




    9
    Los derechos morales, a su vez, están fundamentalmente
    protegidos por la legislación estatal. Esta reconoce los derechos de
    los autores como exclusivos de estos y los protege no solo en
    beneficio propio, sino también de la sociedad por la contribución
    social y cultural que históricamente se le ha reconocido a la
    ¿En beneficio de quién se protegen los derechos de los autores?
  • 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
  • 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: None
  • 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}
  • tp_size: 0
  • 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
  • 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.8791 10 69.7578 - - - - -
1.0 12 - 0.6178 0.6069 0.5742 0.5088 0.4115
1.7033 20 28.4334 - - - - -
2.0 24 - 0.6589 0.6509 0.6268 0.5616 0.4494
2.5275 30 20.1123 - - - - -
3.0 36 - 0.6621 0.6573 0.6263 0.5677 0.4508
3.3516 40 16.5444 - - - - -
3.7033 44 - 0.6615 0.6576 0.6258 0.568 0.452
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.12
  • Sentence Transformers: 4.1.0
  • Transformers: 4.51.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.6.0
  • Datasets: 3.6.0
  • Tokenizers: 0.21.1

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}
}
Downloads last month
3
Safetensors
Model size
137M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Thejina/nomic-embed-text-finetuned

Finetuned
(20)
this model
Quantizations
1 model

Evaluation results