nomic v2 tuned

This is a sentence-transformers model finetuned from nomic-ai/nomic-embed-text-v2-moe 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-v2-moe
  • Maximum Sequence Length: 512 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': 512, '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})
  (2): Normalize()
)

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("DGSMsRzJ6xC2JthtHG9W/nomic-v2-tuned-1.3")
# Run inference
sentences = [
    'Влияет ли дата составления передаточного акта на определение правопреемства по обязательствам?',
    '1. Передаточный акт должен содержать положения о правопреемстве по всем обязательствам реорганизованного юридического лица в отношении всех его кредиторов и должников, включая обязательства, оспариваемые сторонами, а также порядок определения правопреемства в связи с изменением вида, состава, стоимости имущества, возникновением, изменением, прекращением прав и обязанностей реорганизуемого юридического лица, которые могут произойти после даты, на которую составлен передаточный акт. 2. Передаточный акт утверждается учредителями (участниками) юридического лица или органом, принявшим решение о реорганизации юридического лица, и представляется вместе с учредительными документами для государственной регистрации юридических лиц, создаваемых в результате реорганизации, или внесения изменений в учредительные документы существующих юридических лиц. Непредставление вместе с учредительными документами передаточного акта, отсутствие в нем положений о правопреемстве по всем обязательствам реорганизованного юридического лица влекут отказ в государственной регистрации юридических лиц, создаваемых в результате реорганизации. (Статья в редакции Федерального закона от 05.05.2014 № 99-ФЗ )',
    'Стоимость имущества, передаваемого личному фонду (за исключением наследственного фонда) его учредителем при создании личного фонда, не может быть менее ста миллионов рублей, при этом стоимость этого имущества определяется на основании оценки его рыночной стоимости. 5. Личный фонд вправе заниматься предпринимательской деятельностью, соответствующей целям, определенным уставом личного фонда, и необходимой для достижения этих целей. Для осуществления предпринимательской деятельности личный фонд вправе создавать хозяйственные общества или участвовать в них. 6. Учредитель личного фонда несет субсидиарную ответственность по обязательствам этого личного фонда при недостаточности его имущества, а личный фонд, за исключением наследственного фонда, несет субсидиарную ответственность своим имуществом по обязательствам учредителя личного фонда в течение трех лет со дня его создания. В исключительных случаях, если кредиторы личного фонда или учредителя личного фонда по уважительным причинам не имели возможности обратиться с требованиями к учредителю личного фонда или личному фонду в течение указанного срока, этот срок может быть продлен судом, но не более чем на пять лет со дня создания личного фонда. 7. Решение учредителя личного фонда об учреждении личного фонда подлежит нотариальному удостоверению. Завещание, условия которого предусматривают создание наследственного фонда, должно включать в себя решение завещателя об учреждении наследственного фонда, устав фонда, а также условия управления наследственным фондом. Такое завещание подлежит нотариальному удостоверению. 8. Учредительным документом личного фонда является его устав. Учредитель личного фонда вправе утвердить условия управления личным фондом и иные внутренние документы личного фонда, обязательные для всех органов личного фонда. Устав личного фонда и условия управления личным фондом подлежат нотариальному удостоверению.',
]
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.0109 0.0088 0.0073 0.0083 0.0094
cosine_accuracy@3 0.0254 0.0222 0.0214 0.0205 0.0214
cosine_accuracy@5 0.051 0.0485 0.0476 0.0442 0.0414
cosine_accuracy@10 0.1663 0.1629 0.1563 0.1476 0.1365
cosine_precision@1 0.0109 0.0088 0.0073 0.0083 0.0094
cosine_precision@3 0.0085 0.0074 0.0071 0.0068 0.0071
cosine_precision@5 0.0102 0.0097 0.0095 0.0088 0.0083
cosine_precision@10 0.0166 0.0163 0.0156 0.0148 0.0136
cosine_recall@1 0.0109 0.0088 0.0073 0.0083 0.0094
cosine_recall@3 0.0254 0.0222 0.0214 0.0205 0.0214
cosine_recall@5 0.051 0.0485 0.0476 0.0442 0.0414
cosine_recall@10 0.1663 0.1629 0.1563 0.1476 0.1365
cosine_ndcg@10 0.0657 0.063 0.0602 0.0573 0.0545
cosine_mrr@10 0.0369 0.0344 0.0326 0.0314 0.0311
cosine_map@100 0.0776 0.0749 0.073 0.0705 0.0675

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 42,140 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 9 tokens
    • mean: 41.24 tokens
    • max: 139 tokens
    • min: 37 tokens
    • mean: 226.53 tokens
    • max: 464 tokens
  • Samples:
    anchor positive
    Найдите в документе информацию о том, кто подписал данный документ и где это произошло. Не подлежат возврату в качестве неосновательного обогащения: 1) имущество, переданное во исполнение обязательства до наступления срока исполнения, если обязательством не предусмотрено иное; 2) имущество, переданное во исполнение обязательства по истечении срока исковой давности; 3) заработная плата и приравненные к ней платежи, пенсии, пособия, стипендии, возмещение вреда, причиненного жизни или здоровью, алименты и иные денежные суммы, предоставленные гражданину в качестве средства к существованию, при отсутствии недобросовестности с его стороны и счетной ошибки; 4) денежные суммы и иное имущество, предоставленные во исполнение несуществующего обязательства, если приобретатель докажет, что лицо, требующее возврата имущества, знало об отсутствии обязательства либо предоставило имущество в целях благотворительности. Президент Российской Федерации Б.Ельцин Москва, Кремль 26 января 1996 года № 14-ФЗ
    Заявитель хочет добавить в заявку на полезную модель новый, незначительный элемент, не влияющий на основной функционал. Изменит ли добавление этого элемента заявку на полезную модель по существу? Как это соотносится с пунктом 3? указание на технический результат, который обеспечивается изобретением или полезной моделью и не связан с техническим результатом, содержащимся в тех же документах. 3. Дополнительные материалы изменяют заявку на промышленный образец по существу, если они содержат изображения изделия, на которых: представлен иной промышленный образец, не удовлетворяющий требованию единства промышленного образца в отношении промышленного образца или группы промышленных образцов, раскрытых на изображениях, принятых к рассмотрению; представлены существенные признаки промышленного образца, отсутствующие на изображениях, представленных на дату подачи заявки, либо представлены изображения изделия, с которых удалены существенные признаки промышленного образца, имеющиеся на изображениях, представленных на дату подачи заявки. 4. Изменения сведений об авторе, о заявителе, в том числе при передаче права на получение патента другому лицу либо вследствие изменения имени автора, имени или наименования заявителя, а та...
    Предположим, патент на изобретение был выдан 1 января 2020 года. Какова максимальная дата окончания действия этого патента, учитывая возможность продления? У патентообладателя могут быть запрошены дополнительные материалы, если без них рассмотрение заявления невозможно. Дополнительные материалы должны быть представлены в течение трех месяцев со дня направления такого запроса. Если патентообладатель в этот срок не представит запрошенные материалы или не подаст ходатайство о продлении срока, заявление не удовлетворяется. Срок, установленный для представления дополнительных материалов, может быть продлен федеральным органом исполнительной власти по интеллектуальной собственности не более чем на десять месяцев. При продлении на основании абзаца первого настоящего пункта срока действия исключительного права выдается дополнительный патент с формулой, содержащей совокупность признаков запатентованного изобретения, характеризующую продукт, на применение которого получено разрешение. 3. Срок действия исключительного права на промышленный образец и удостоверяющего это право патента по заявлению патентообладателя может быть неоднократно продлен на п...
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesSymmetricRankingLoss",
        "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
  • 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: 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
  • eval_on_start: False
  • eval_use_gather_object: 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.1215 10 2.5137 - - - - -
0.2430 20 1.6684 - - - - -
0.3645 30 1.2518 - - - - -
0.4860 40 1.0449 - - - - -
0.6074 50 0.8091 - - - - -
0.7289 60 0.8413 - - - - -
0.8504 70 0.7185 - - - - -
0.9719 80 0.6312 - - - - -
0.9962 82 - 0.0598 0.0602 0.0589 0.0543 0.0482
1.0934 90 0.5904 - - - - -
1.2149 100 0.5254 - - - - -
1.3364 110 0.5023 - - - - -
1.4579 120 0.4618 - - - - -
1.5793 130 0.5092 - - - - -
1.7008 140 0.4446 - - - - -
1.8223 150 0.4493 - - - - -
1.9438 160 0.4418 - - - - -
1.9924 164 - 0.0635 0.0638 0.0622 0.0573 0.0535
2.0645 170 0.3665 - - - - -
2.1860 180 0.3319 - - - - -
2.3075 190 0.3337 - - - - -
2.4290 200 0.314 - - - - -
2.5505 210 0.3328 - - - - -
2.6720 220 0.3325 - - - - -
2.7935 230 0.3731 - - - - -
2.9150 240 0.3215 - - - - -
3.0 247 - 0.0622 0.0618 0.0629 0.0572 0.0556
3.0364 250 0.3023 - - - - -
3.1579 260 0.2794 - - - - -
3.2794 270 0.26 - - - - -
3.4009 280 0.2776 - - - - -
3.5224 290 0.2832 - - - - -
3.6439 300 0.2976 - - - - -
3.7654 310 0.2848 - - - - -
3.8869 320 0.2794 - - - - -
3.9841 328 - 0.0657 0.0630 0.0602 0.0573 0.0545
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 3.4.1
  • Transformers: 4.43.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.4.0
  • Tokenizers: 0.19.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}
}
Downloads last month
4
Safetensors
Model size
475M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DGSMsRzJ6xC2JthtHG9W/nomic-v2-tuned-1.3

Evaluation results