Matryoshka Representation Learning
Paper
• 2205.13147 • Published
• 25
This is a sentence-transformers model finetuned from Qwen/Qwen3-Embedding-0.6B. It maps sentences & paragraphs to a 1024-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': 192, 'do_lower_case': False, 'architecture': 'Qwen3Model'})
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': True, '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("sentence_transformers_model_id")
# Run inference
sentences = [
'What is the procedure for increasing or decreasing penalties in cases like those described in the text?',
'العلانية، ما لفلان هذا عليك ولا قبلك هذا المال الذي ادعاه، وهو كذا وكذا، ولا شيء منه. وللقاضي أن يزيد على هذا في التغليظ وينقص، وليس عندهم التغليظ بالزمان والمكان؛ لأن المقصود تعظيم المقسم به، وهو حاصل بدون ذلك. وفي إيجاب التغليظ حرج على القاضي. وهم مجمعون على أن من وجهت إليه اليمين لا يعتبر ناكلا إن أبى التغليظ(). \\n\\nالتحالف: \\n\\n27 - مصدر تحالف، ومن معانيه في اللغة: طلب كل من المتداعيين يمين الآخر. وهذا المعنى هو الموافق للشرع. غاية الأمر أن التحالف يكون أمام القضاء(). \\n\\nوالمراد هنا حلف المتخاصمين في مجلس القضاء. \\n\\nإذا اختلف البائع والمشتري في مقدار الثمن أو المبيع أو',
'المحتاج شرح المنهاج»؛ و «الإيعاب شرح العباب المحيط بمعظم نصوص الشافعية والأصحاب»؛ و «الصواعق المحرقة في الرد على أهل البدع والزندقة»؛ و «إتحاف أهل الإسلام بخصوصيات الصيام». \\n\\n(البدر الطالع 1 \\\\ 109؛ ومعجم المؤلفين 2 \\\\ 152؛ والأعلام للزركلي 1 \\\\ 223) \\n\\nابن حزم (384 -456 ه) \\n\\nهو علي بن أحمد بن سعيد بن حزم الظاهري. أبو محمد. عالم الأندلس في عصره. أصله من الفرس. أول من أسلم من أسلافه جد له كان يدعى يزيد مولى ليزيد بن أبي سفيان . كانت لابن حزم الوزارة وتدبير المملكة، فانصرف عنها إلى التأليف والعلم. كان فقيها حافظا يستنبط الأحكام من الكتاب والسنة على طريقة أهل الظاهر، بعيدا عن',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.2793, -0.0995],
# [ 0.2793, 1.0000, -0.1603],
# [-0.0995, -0.1603, 1.0000]])
dim_1024InformationRetrievalEvaluator with these parameters:{
"truncate_dim": 1024
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.341 |
| cosine_accuracy@3 | 0.5064 |
| cosine_accuracy@5 | 0.5721 |
| cosine_accuracy@10 | 0.6553 |
| cosine_precision@1 | 0.341 |
| cosine_precision@3 | 0.1688 |
| cosine_precision@5 | 0.1144 |
| cosine_precision@10 | 0.0655 |
| cosine_recall@1 | 0.341 |
| cosine_recall@3 | 0.5064 |
| cosine_recall@5 | 0.5721 |
| cosine_recall@10 | 0.6553 |
| cosine_ndcg@10 | 0.4919 |
| cosine_mrr@10 | 0.4404 |
| cosine_map@100 | 0.4486 |
dim_256InformationRetrievalEvaluator with these parameters:{
"truncate_dim": 256
}
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.2982 |
| cosine_accuracy@3 | 0.4491 |
| cosine_accuracy@5 | 0.5165 |
| cosine_accuracy@10 | 0.6008 |
| cosine_precision@1 | 0.2982 |
| cosine_precision@3 | 0.1497 |
| cosine_precision@5 | 0.1033 |
| cosine_precision@10 | 0.0601 |
| cosine_recall@1 | 0.2982 |
| cosine_recall@3 | 0.4491 |
| cosine_recall@5 | 0.5165 |
| cosine_recall@10 | 0.6008 |
| cosine_ndcg@10 | 0.4414 |
| cosine_mrr@10 | 0.3913 |
| cosine_map@100 | 0.4002 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
What are the differences in the rulings regarding the recitation of the verse "Sajdah" between different Islamic schools of thought? |
في القرآن الكريم أربع عشرة آية فيها السجود: في الأعراف، والرعد، والنحل، والإسراء، ومريم، والحج، وفيها سجدتان في بعض المذاهب، وفي الفرقان، والنمل، والسجدة الم تنزيل و ص وفصلت، والنجم، والانشقاق، واقرأ، وزاد بعضهم آخر \n\nالحجر، والسجود عند الجمهور بقراءة آيات السجدة مسنون، وواجب عند الحنفية(). \n\nوتفصيل مواضع السجود، وعلى من يجب، وشروط السجود، كل ذلك تفصيله في مصطلح (سجود التلاوة). \n\n\n\n\n\n\n \n\nتلبية \n\nالتعريف: \n\n1 - التلبية لغة: إجابة المنادي، وهي إما في الحج وإما في غيره كالوليمة والتلبية في غير الحج. \n\nوقد سبق الكلام عنها في مصطلح (إجابة) ج 1 ص 251 وأما في الحج فالمراد بها |
Who were some of the notable companions of Abu al-Sha'ra al-Darami mentioned in the text? |
ترجمته في ج 1 ص 337. \n\n\n\nأبو العشراء الدارمي (؟ -؟) \n\nقيل: اسمه يسار بن بكر بن مسعود بن خولي بن حرملة، أبو العشراء، الدارمي، التميمي. روى عن أبيه، وعنه حماد بن سلمة. وذكر أبو موسى المديني أنه وقع له من روايته عن النبي خمسة عشر حديثا. قال ابن حجر: وقفت على جمع حديثه وكلها بأسانيد مظلمة. ذكره ابن حبان في الثقات. وقال ابن سعد: هو مجهول. قال البخاري: في اسمه وحديثه وسماعه من أبيه نظر. \n\n(تهذيب التهذيب 12/167). \n\nأبو القاسم القشيري: ر: القشيري. \n\n\n\nأبو قتادة: هو الحارث بن ربعي: \n\nتقدمت ترجمته في ج 2 ص 404. \n\n\n\nأبو الليث السمرقندي: هو نصر بن محمد: \n\nتقدمت ترجمته في ج 1 ص |
What is the difference between using "أي" and "كل" or "كلما" in conditional statements regarding legal rulings? |
أن حكم (أي) في التعليق كحكم (متى ومن وكلما) \n\nبمعنى أنه لو علق التصرف بنفي فعل بأي، كما لو علق الطلاق على نفي الدخول بأي، بأن قال: أي وقت لم تدخلي فيه الدار فأنت طالق، فإنه إن مضى زمن يمكنها فيه الدخول - ولم تدخل - فإنه يقع الطلاق بعده على الفور. \n\nوأما لو علق الطلاق على إيجاد فعل بأي، فلا تفيد الفور كغيرها من أدوات التعليق(). \n\nوجاء في تبيين الحقائق أن (أي) لا تعم بعموم الصفة فلو قال: أي امرأة أتزوجها فهي طالق، فإن ذلك يتحقق في امرأة واحدة فقط. \n\nبخلاف كلمتي (كل وكلما) فإنهما تفيدان عموم ما دخلتا عليه كما سيأتي(). \n\nز - كل وكلما : \n\n17 - كلمة (كل) تستعمل بمعنى |
MatryoshkaLoss with these parameters:{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
1024,
256
],
"matryoshka_weights": [
1,
1
],
"n_dims_per_step": -1
}
eval_strategy: stepsper_device_train_batch_size: 64per_device_eval_batch_size: 32gradient_accumulation_steps: 4learning_rate: 2e-05num_train_epochs: 2lr_scheduler_type: cosinewarmup_ratio: 0.1bf16: Truetf32: Trueload_best_model_at_end: Truegradient_checkpointing: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 32per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 4eval_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: 2max_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: Truelocal_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}parallelism_config: Nonedeepspeed: 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: Truegradient_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: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | dim_1024_cosine_ndcg@10 | dim_256_cosine_ndcg@10 |
|---|---|---|---|---|
| 0.0321 | 10 | 2.4674 | - | - |
| 0.0642 | 20 | 2.2763 | - | - |
| 0.0963 | 30 | 1.9145 | - | - |
| 0.1284 | 40 | 1.6864 | - | - |
| 0.1605 | 50 | 1.5235 | 0.4153 | 0.3539 |
| 0.1926 | 60 | 1.4239 | - | - |
| 0.2247 | 70 | 1.3109 | - | - |
| 0.2568 | 80 | 1.2667 | - | - |
| 0.2889 | 90 | 1.2602 | - | - |
| 0.3210 | 100 | 1.2305 | 0.4525 | 0.3919 |
| 0.3531 | 110 | 1.1687 | - | - |
| 0.3852 | 120 | 1.147 | - | - |
| 0.4173 | 130 | 1.0961 | - | - |
| 0.4494 | 140 | 1.0522 | - | - |
| 0.4815 | 150 | 1.0472 | 0.4714 | 0.4134 |
| 0.5136 | 160 | 1.0128 | - | - |
| 0.5457 | 170 | 1.0101 | - | - |
| 0.5778 | 180 | 1.0731 | - | - |
| 0.6100 | 190 | 1.0003 | - | - |
| 0.6421 | 200 | 1.0544 | 0.4748 | 0.4251 |
| 0.6742 | 210 | 0.9778 | - | - |
| 0.7063 | 220 | 1.013 | - | - |
| 0.7384 | 230 | 1.0015 | - | - |
| 0.7705 | 240 | 0.9881 | - | - |
| 0.8026 | 250 | 1.0132 | 0.4822 | 0.4296 |
| 0.8347 | 260 | 0.96 | - | - |
| 0.8668 | 270 | 0.9993 | - | - |
| 0.8989 | 280 | 1.0048 | - | - |
| 0.9310 | 290 | 0.8957 | - | - |
| 0.9631 | 300 | 0.9568 | 0.4858 | 0.4352 |
| 0.9952 | 310 | 0.9017 | - | - |
| 1.0257 | 320 | 0.8178 | - | - |
| 1.0578 | 330 | 0.7772 | - | - |
| 1.0899 | 340 | 0.7431 | - | - |
| 1.1220 | 350 | 0.8291 | 0.4897 | 0.4395 |
| 1.1541 | 360 | 0.7911 | - | - |
| 1.1862 | 370 | 0.76 | - | - |
| 1.2183 | 380 | 0.7424 | - | - |
| 1.2504 | 390 | 0.7667 | - | - |
| 1.2825 | 400 | 0.8333 | 0.4916 | 0.4401 |
| 1.3146 | 410 | 0.6788 | - | - |
| 1.3467 | 420 | 0.7553 | - | - |
| 1.3788 | 430 | 0.7871 | - | - |
| 1.4109 | 440 | 0.7872 | - | - |
| 1.4430 | 450 | 0.7906 | 0.4921 | 0.4411 |
| 1.4751 | 460 | 0.7503 | - | - |
| 1.5072 | 470 | 0.7462 | - | - |
| 1.5393 | 480 | 0.7318 | - | - |
| 1.5714 | 490 | 0.7799 | - | - |
| 1.6035 | 500 | 0.7838 | 0.4913 | 0.4410 |
| 1.6356 | 510 | 0.7711 | - | - |
| 1.6677 | 520 | 0.7397 | - | - |
| 1.6998 | 530 | 0.7849 | - | - |
| 1.7319 | 540 | 0.8791 | - | - |
| 1.7640 | 550 | 0.7549 | 0.4919 | 0.4409 |
| 1.7961 | 560 | 0.7487 | - | - |
| 1.8283 | 570 | 0.7711 | - | - |
| 1.8604 | 580 | 0.7262 | - | - |
| 1.8925 | 590 | 0.7597 | - | - |
| 1.9246 | 600 | 0.7358 | 0.4919 | 0.4414 |
@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}
}
Totally Free + Zero Barriers + No Login Required