CoolFace
Modelpublic

basilisk78/nomic-v2-tuned-1

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
1likes42downloads
Model Card

tuned nomic v2

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 <!-- at revision f6a8873b415144a69ffc529ec1e234d1e00ee765 -->
  • 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:

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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Компания «Альфа» заключила договор с инженером Петровским на разработку нового программного обеспечения.  В процессе работы Петровский создал изобретение, защищаемое патентом. Договор не содержал пунктов, касающихся прав на интеллектуальную собственность.  Кто является правообладателем патента на изобретение, и может ли компания «Альфа» использовать это изобретение без выплаты дополнительного вознаграждения?',
    '<p>1. Право на получение патента и исключительное право на изобретение, полезную модель или промышленный образец, созданные при выполнении договора подряда или договора на выполнение научно-исследовательских, опытно-конструкторских или технологических работ, которые прямо не предусматривали их создание, принадлежат подрядчику (исполнителю), если договором между ним и заказчиком не предусмотрено иное. (В редакции Федерального закона <a href="102171743">от 12.03.2014 № 35-ФЗ</a>)</p><p>В этом случае заказчик вправе, если договором не предусмотрено иное, использовать созданные таким образом изобретение, полезную модель или промышленный образец в целях, для достижения которых был заключен соответствующий договор, на условиях простой (неисключительной) лицензии в течение всего срока действия патента без выплаты за это использование дополнительного вознаграждения. При передаче подрядчиком (исполнителем) права на получение патента или отчуждении самого патента другому лицу заказчик сохраняет право использования изобретения, полезной модели или промышленного образца на указанных условиях.</p><p>2. В случае, когда в соответствии с договором между подрядчиком (исполнителем) и заказчиком право на получение патента или исключительное право на изобретение, полезную модель или промышленный образец передано заказчику либо указанному им третьему лицу, подрядчик (исполнитель) вправе использовать созданные изобретение, полезную модель или промышленный образец для собственных нужд на условиях безвозмездной простой (неисключительной) лицензии в течение всего срока действия патента, если договором не предусмотрено иное.</p><p>3. Автору указанных в пункте 1 настоящей статьи изобретения, полезной модели или промышленного образца, не являющемуся патентообладателем, выплачивается вознаграждение в соответствии с пунктом 4 статьи 1370 настоящего Кодекса.</p>',
    '<p>передаче в порядке, установленном частью 11 статьи 154 Федерального закона <a href="102088491">от 22 августа 2004 года № 122-ФЗ</a> "О внесении изменений в законодательные акты Российской Федерации и признании утратившими силу некоторых законодательных актов Российской Федерации в связи с принятием федеральных законов <a href="102067003">"О внесении изменений и дополнений в Федеральный закон "Об общих принципах организации законодательных (представительных) и исполнительных органов государственной власти субъектов Российской Федерации"</a> и <a href="102083574">"Об общих принципах организации местного самоуправления в Российской Федерации"</a>, акций из федеральной собственности в собственность субъекта Российской Федерации или муниципальную собственность, из собственности субъекта Российской Федерации в федеральную собственность или муниципальную собственность, из муниципальной собственности в федеральную собственность или собственность субъекта Российской Федерации. (Дополнение абзацем - Федеральный закон <a href="102157372">от 14.06.2012 № 77-ФЗ</a>)</p>',
]
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]

<!--

Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details> -->

<!--

Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details> -->

<!--

Out-of-Scope Use

List how the model may foreseeably be misused and address what users ought not to do with the model. -->

Evaluation

Metrics

Information Retrieval
Metricdim_768dim_512dim_256dim_128dim_64
cosine_accuracy@10.00750.00680.00820.00820.0075
cosine_accuracy@30.060.05930.06210.05590.0628
cosine_accuracy@50.43040.43110.41680.3840.3793
cosine_accuracy@100.76190.74490.72710.69510.6412
cosine_precision@10.00750.00680.00820.00820.0075
cosine_precision@30.020.01980.02070.01860.0209
cosine_precision@50.08610.08620.08340.07680.0759
cosine_precision@100.07620.07450.07270.06950.0641
cosine_recall@10.00750.00680.00820.00820.0075
cosine_recall@30.060.05930.06210.05590.0628
cosine_recall@50.43040.43110.41680.3840.3793
cosine_recall@100.76190.74490.72710.69510.6412
cosine_ndcg@100.30.29380.28770.27520.2547
cosine_mrr@100.16040.15740.15480.14820.1378
cosine_map@1000.17310.1710.16930.16390.1541

<!--

Bias, Risks and Limitations

What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->

<!--

Recommendations

What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->

Training Details

Training Dataset

json
  • Dataset: json
  • Size: 13,186 training samples
  • Columns: <code>anchor</code> and <code>positive</code>
  • Approximate statistics based on the first 1000 samples: | | anchor | positive | |:--------|:------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 18 tokens</li><li>mean: 61.09 tokens</li><li>max: 162 tokens</li></ul> | <ul><li>min: 40 tokens</li><li>mean: 258.71 tokens</li><li>max: 512 tokens</li></ul> |
  • Samples: | anchor | positive | |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>Студент разработал базу данных и подал заявку на государственную регистрацию, приложив к ней описание базы данных, реферат и заявление с указанием себя в качестве правообладателя и автора. В заявке он указал две разные базы данных. Соответствует ли заявка студента требованиям статьи закона?</code> | <code><p>1. Правообладатель в течение срока действия исключительного права на программу для ЭВМ или на базу данных может по своему желанию зарегистрировать такую программу или такую базу данных в федеральном органе исполнительной власти по интеллектуальной собственности.</p><p>Программы для ЭВМ и базы данных, в которых содержатся сведения, составляющие государственную тайну, государственной регистрации не подлежат. Лицо, подавшее заявку на государственную регистрацию (заявитель), несет ответственность за разглашение сведений о программах для ЭВМ и базах данных, в которых содержатся сведения, составляющие государственную тайну, в соответствии с законодательством Российской Федерации.</p><p>2. Заявка на государственную регистрацию программы для ЭВМ или базы данных (заявка на регистрацию) должна относиться к одной программе для ЭВМ или к одной базе данных.</p><p>Заявка на регистрацию должна содержать:</p><p>заявление о государственной регистрации программы для ЭВМ или базы данных с указанием пр...</code> | | <code>Предположим, наследственный договор предусматривает переход права собственности на дом к А, но А отказывается от наследства. Может ли Б, другая сторона договора, потребовать исполнения договора в отношении дома, если договор не содержал бы условий о передаче дома Б в случае отказа А?</code> | <code><p>1. Наследодатель вправе заключить с любым из лиц, которые могут призываться к наследованию (статья 1116), договор, условия которого определяют круг наследников и порядок перехода прав на имущество наследодателя после его смерти к пережившим наследодателя сторонам договора или к пережившим третьим лицам, которые могут призываться к наследованию (наследственный договор). Наследственный договор может также содержать условие о душеприказчике и возлагать на участвующих в наследственном договоре лиц, которые могут призываться к наследованию, обязанность совершить какие-либо не противоречащие закону действия имущественного или неимущественного характера, в том числе исполнить завещательные отказы или завещательные возложения.</p><p>Последствия, предусмотренные наследственным договором, могут быть поставлены в зависимость от наступивших ко дню открытия наследства обстоятельств, относительно которых при заключении наследственного договора было неизвестно, наступят они или не наступят, в том ...</code> | | <code>В чем заключается различие в порядке оспаривания патента в зависимости от характера нарушения, указанного в пункте 1 настоящей статьи?</code> | <code><p>2. Патент на изобретение, полезную модель или промышленный образец в течение срока его действия, установленного пунктами 1 - 3 статьи 1363 настоящего Кодекса, может быть оспорен путем подачи возражения в федеральный орган исполнительной власти по интеллектуальной собственности любым лицом, которому стало известно о нарушениях, предусмотренных подпунктами 1 - 4 пункта 1 настоящей статьи.</p><p>Патент на изобретение, полезную модель или промышленный образец в течение срока его действия, установленного пунктами 1 - 3 статьи 1363 настоящего Кодекса, может быть оспорен в судебном порядке любым лицом, которому стало известно о нарушениях, предусмотренных подпунктом 5 пункта 1 настоящей статьи.</p><p>Патент на изобретение, полезную модель или промышленный образец может быть оспорен заинтересованным лицом и по истечении срока его действия по основаниям и в порядке, которые установлены абзацами первым и вторым настоящего пункта.</p></code> |
  • Loss: <code>MatryoshkaLoss</code> 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: 2
  • per_device_eval_batch_size: 2
  • 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: adamwtorchfused
  • batch_sampler: no_duplicates
All Hyperparameters

<details><summary>Click to expand</summary>

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 2
  • per_device_eval_batch_size: 2
  • 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: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamwtorchfused
  • 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

</details>

Training Logs

<details><summary>Click to expand</summary>

EpochStepTraining Lossdim_768_cosine_ndcg@10dim_512_cosine_ndcg@10dim_256_cosine_ndcg@10dim_128_cosine_ndcg@10dim_64_cosine_ndcg@10
0.0243100.2108-----
0.0485200.1169-----
0.0728300.1334-----
0.0971400.0963-----
0.1213500.127-----
0.1456600.1254-----
0.1699700.048-----
0.1941800.0358-----
0.2184900.0673-----
0.24271000.049-----
0.26691100.0222-----
0.29121200.0657-----
0.31551300.0878-----
0.33981400.0396-----
0.36401500.033-----
0.38831600.0562-----
0.41261700.0329-----
0.43681800.0918-----
0.46111900.0198-----
0.48542000.0181-----
0.50962100.0119-----
0.53392200.0139-----
0.55822300.057-----
0.58242400.0293-----
0.60672500.0482-----
0.63102600.017-----
0.65522700.0927-----
0.67952800.0187-----
0.70382900.0553-----
0.72803000.015-----
0.75233100.0438-----
0.77663200.0087-----
0.80083300.038-----
0.82513400.0243-----
0.84943500.015-----
0.87373600.0199-----
0.89793700.0516-----
0.92223800.0561-----
0.94653900.0851-----
0.97074000.0394-----
0.99504100.0114-----
0.9998412-0.28060.27790.27420.25970.2253
1.01934200.0136-----
1.04354300.1219-----
1.06784400.0164-----
1.09214500.0927-----
1.11634600.0268-----
1.14064700.0384-----
1.16494800.0034-----
1.18914900.0183-----
1.21345000.0594-----
1.23775100.0145-----
1.26195200.0768-----
1.28625300.0084-----
1.31055400.0528-----
1.33475500.0619-----
1.35905600.0326-----
1.38335700.0135-----
1.40765800.0143-----
1.43185900.0952-----
1.45616000.0188-----
1.48046100.01-----
1.50466200.091-----
1.52896300.0205-----
1.55326400.0156-----
1.57746500.0101-----
1.60176600.022-----
1.62606700.0135-----
1.65026800.0226-----
1.67456900.0032-----
1.69887000.0071-----
1.72307100.028-----
1.74737200.0351-----
1.77167300.0021-----
1.79587400.0073-----
1.82017500.0103-----
1.84447600.0219-----
1.86867700.0035-----
1.89297800.0579-----
1.91727900.0298-----
1.94158000.0076-----
1.96578100.0038-----
1.99008200.0016-----
1.9997824-0.29450.28860.28560.26420.2411
2.01438300.0715-----
2.03858400.0021-----
2.06288500.0065-----
2.08718600.0105-----
2.11138700.0024-----
2.13568800.0025-----
2.15998900.014-----
2.18419000.0016-----
2.20849100.008-----
2.23279200.0041-----
2.25699300.0308-----
2.28129400.011-----
2.30559500.0207-----
2.32979600.0048-----
2.35409700.0215-----
2.37839800.0061-----
2.40259900.0164-----
2.426810000.0255-----
2.451110100.0062-----
2.475410200.0079-----
2.499610300.005-----
2.523910400.042-----
2.548210500.0057-----
2.572410600.0384-----
2.596710700.009-----
2.621010800.0089-----
2.645210900.0034-----
2.669511000.026-----
2.693811100.0358-----
2.718011200.0033-----
2.742311300.0037-----
2.766611400.0195-----
2.790811500.0024-----
2.815111600.0533-----
2.839411700.0137-----
2.863611800.0125-----
2.887911900.0253-----
2.912212000.0068-----
2.936412100.0436-----
2.960712200.0021-----
2.985012300.0129-----
2.99951236-0.29860.29550.28420.27490.2512
3.009312400.0037-----
3.033512500.0161-----
3.057812600.0164-----
3.082112700.0007-----
3.106312800.0023-----
3.130612900.0073-----
3.154913000.0134-----
3.179113100.0021-----
3.203413200.0571-----
3.227713300.0376-----
3.251913400.0049-----
3.276213500.0151-----
3.300513600.002-----
3.324713700.0276-----
3.349013800.0007-----
3.373313900.0324-----
3.397514000.0043-----
3.421814100.0074-----
3.446114200.005-----
3.470314300.0066-----
3.494614400.0039-----
3.518914500.0056-----
3.543214600.0039-----
3.567414700.0148-----
3.591714800.0029-----
3.616014900.011-----
3.640215000.0029-----
3.664515100.0057-----
3.688815200.0013-----
3.713015300.0618-----
3.737315400.0102-----
3.761615500.0009-----
3.785815600.023-----
3.810115700.0067-----
3.834415800.011-----
3.858615900.0023-----
3.882916000.0154-----
3.907216100.0014-----
3.931416200.0024-----
3.955716300.0034-----
3.980016400.0022-----
3.99941648-0.30.29380.28770.27520.2547
  • The bold row denotes the saved checkpoint. </details>

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.3.2
  • 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}
}

<!--

Glossary

Clearly define terms in order to be accessible across audiences. -->

<!--

Model Card Authors

Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->

<!--

Model Card Contact

Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->