Downloads · 30 days
6
5% of all-time downloads
iamkpi/modernbert-embed-base-legal-matryoshka-2
modernbert-embed-base-legal-matryoshka-2 is a sentence similarity model from iamkpi. Use it when you need a score for how close two texts are. It is set up for sentence-transformers. The card lists the license as apache-2.0.
This is a sentence-transformers model finetuned from nomic-ai/modernbert-embed-base on the json dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual simi…
Downloads · 30 days
6
5% of all-time downloads
All-time downloads
116
Public
Parameters
149M
596 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors596 MB · 99%
From the Hugging Face model README
This is a sentence-transformers model finetuned from nomic-ai/modernbert-embed-base 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.
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: ModernBertModel
(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()
)
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("iamkpi/modernbert-embed-base-legal-matryoshka-2")
# Run inference
sentences = [
'the dispensary, where he went after he was shot. \nAs a witness for the State, Detective Victor Liu of the Baltimore Police Department \ntestified that, on September 3, 2021, he responded to a report of “a shooting incident in the \n3900 block of Falls Road.” There, Detective Liu saw an SUV with bullet holes in the back',
'What did Detective Liu see at the scene of the shooting incident?',
'Is the Commission considered an agency under § 551(1)?',
]
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.*
-->
dim_768{
"truncate_dim": 768
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.5209 |
| cosine_accuracy@3 | 0.5873 |
| cosine_accuracy@5 | 0.7002 |
| cosine_accuracy@10 | 0.7651 |
| cosine_precision@1 | 0.5209 |
| cosine_precision@3 | 0.4956 |
| cosine_precision@5 | 0.3913 |
| cosine_precision@10 | 0.2331 |
| cosine_recall@1 | 0.1928 |
| cosine_recall@3 | 0.5012 |
| cosine_recall@5 | 0.6439 |
| cosine_recall@10 | 0.7571 |
| cosine_ndcg@10 | 0.6492 |
| cosine_mrr@10 | 0.5807 |
| cosine_map@100 | 0.6256 |
dim_512{
"truncate_dim": 512
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.5317 |
| cosine_accuracy@3 | 0.5765 |
| cosine_accuracy@5 | 0.6739 |
| cosine_accuracy@10 | 0.7558 |
| cosine_precision@1 | 0.5317 |
| cosine_precision@3 | 0.4992 |
| cosine_precision@5 | 0.383 |
| cosine_precision@10 | 0.2295 |
| cosine_recall@1 | 0.1937 |
| cosine_recall@3 | 0.5009 |
| cosine_recall@5 | 0.6256 |
| cosine_recall@10 | 0.7465 |
| cosine_ndcg@10 | 0.6441 |
| cosine_mrr@10 | 0.5823 |
| cosine_map@100 | 0.6232 |
dim_256{
"truncate_dim": 256
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.4853 |
| cosine_accuracy@3 | 0.5363 |
| cosine_accuracy@5 | 0.6306 |
| cosine_accuracy@10 | 0.7156 |
| cosine_precision@1 | 0.4853 |
| cosine_precision@3 | 0.456 |
| cosine_precision@5 | 0.3518 |
| cosine_precision@10 | 0.2133 |
| cosine_recall@1 | 0.1788 |
| cosine_recall@3 | 0.4624 |
| cosine_recall@5 | 0.5791 |
| cosine_recall@10 | 0.6971 |
| cosine_ndcg@10 | 0.5963 |
| cosine_mrr@10 | 0.5358 |
| cosine_map@100 | 0.5799 |
dim_128{
"truncate_dim": 128
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.4142 |
| cosine_accuracy@3 | 0.4683 |
| cosine_accuracy@5 | 0.5502 |
| cosine_accuracy@10 | 0.6476 |
| cosine_precision@1 | 0.4142 |
| cosine_precision@3 | 0.3962 |
| cosine_precision@5 | 0.3116 |
| cosine_precision@10 | 0.1944 |
| cosine_recall@1 | 0.1495 |
| cosine_recall@3 | 0.3967 |
| cosine_recall@5 | 0.5081 |
| cosine_recall@10 | 0.6319 |
| cosine_ndcg@10 | 0.5275 |
| cosine_mrr@10 | 0.4655 |
| cosine_map@100 | 0.5099 |
dim_64{
"truncate_dim": 64
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.2952 |
| cosine_accuracy@3 | 0.3416 |
| cosine_accuracy@5 | 0.4142 |
| cosine_accuracy@10 | 0.493 |
| cosine_precision@1 | 0.2952 |
| cosine_precision@3 | 0.2849 |
| cosine_precision@5 | 0.2291 |
| cosine_precision@10 | 0.1485 |
| cosine_recall@1 | 0.1081 |
| cosine_recall@3 | 0.2885 |
| cosine_recall@5 | 0.3776 |
| cosine_recall@10 | 0.4825 |
| cosine_ndcg@10 | 0.3937 |
| cosine_mrr@10 | 0.3396 |
| cosine_map@100 | 0.385 |
| positive | anchor | |
|---|---|---|
| type | string | string |
| details | <ul><li>min: 26 tokens</li><li>mean: 96.36 tokens</li><li>max: 170 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 16.47 tokens</li><li>max: 32 tokens</li></ul> |
| positive | anchor |
|---|---|
| <code>the same time they would if they were assigned the original requests.” Id. at 11–12. <br>The plaintiff responds by focusing on the factual underpinnings of the CIA’s policy <br>arguments—in particular the CIA’s contentions about “undue burden.” See Pl.’s 443 Cross-Mot. <br>Mem. at 2–7. For example, the plaintiff points out that the CIA waives FOIA fees “‘as an act of</code> | <code>What is one argument the plaintiff critiques regarding the CIA's policy?</code> |
| <code>contends that, “[i]n order to be properly withheld [under Exemption 2], the information must be <br>of a relatively trivial nature.” Id. (citing Dep’t of Air Force v. Rose, 425 U.S. 352, 369–70 <br>(1976) and Lesar v. DOJ, 636 F.2d 472, 485 (D.C. Cir. 1980)). This triviality requirement <br>applies, according to plaintiff, because the rationale for Exemption 2 is “that the very task of</code> | <code>What does the plaintiff assert as the rationale for Exemption 2?</code> |
| <code>the shooting.2 The video was 1 minute and 51 seconds long. <br>Before admission of the video, Mr. Zimmerman testified that, in the months prior <br>to the shooting, he had suspected Mr. Mooney of sleeping with his girlfriend, but Mr. <br>Mooney had denied the allegation. Mr. Zimmerman testified that, on the night of the</code> | <code>What did Mr. Mooney do in response to the allegation?</code> |
{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768,
512,
256,
128,
64
],
"matryoshka_weights": [
1,
1,
1,
1,
1
],
"n_dims_per_step": -1
}
eval_strategy: epochper_device_train_batch_size: 32per_device_eval_batch_size: 16gradient_accumulation_steps: 16learning_rate: 2e-05num_train_epochs: 4lr_scheduler_type: cosinewarmup_ratio: 0.1bf16: Truetf32: Falseload_best_model_at_end: Trueoptim: adamw_torch_fusedbatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 16eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 4max_steps: -1lr_scheduler_type: cosinelr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Falselocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| 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 | 5.4341 | - | - | - | - | - |
| 1.0 | 12 | - | 0.5894 | 0.5880 | 0.5425 | 0.4581 | 0.3261 |
| 1.7033 | 20 | 2.535 | - | - | - | - | - |
| 2.0 | 24 | - | 0.6310 | 0.6275 | 0.5876 | 0.5039 | 0.3711 |
| 2.5275 | 30 | 1.854 | - | - | - | - | - |
| 3.0 | 36 | - | 0.6456 | 0.6400 | 0.5952 | 0.5206 | 0.3938 |
| 3.3516 | 40 | 1.7104 | - | - | - | - | - |
| 4.0 | 48 | - | 0.6492 | 0.6441 | 0.5963 | 0.5275 | 0.3937 |
@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",
}
@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}
}
@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.*
-->