Matryoshka Representation Learning
Paper
•
2205.13147
•
Published
•
25
This is a sentence-transformers model finetuned from mixedbread-ai/deepset-mxbai-embed-de-large-v1. 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': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, '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("sentence_transformers_model_id")
# Run inference
sentences = [
'Welche Datenbestände dokumentieren die Fachaufsicht des BMI über Kinderbetreuungseinrichtungen in der Stadt Oberhof?',
'\nDatenbestand\n - titel: Kindertagesstätten der Stadt Oberhof\n - typ: Fachverfahren\n - kurzbeschreibung: Standorte von Kindergärten und Kinderkrippen der Stadt Oberhof.\n - allgemeine_beschreibung: Der Datensatz zeigt die Standorte von Kindergärten und Kinderkrippen der Stadt Oberhof. Es handelt sich um einen Sekundärdatenbestand.\n - fachliche_beschreibung: Der Datensatz wird von der Stadtverwaltung Oberhof verwaltet und dient dazu, Transparenz über die Kinderbetreuungseinrichtungen in Oberhof zu schaffen. Zuständige Behörden sind die Stadtverwaltung Oberhof und das Thüringer Ministerium für Inneres und Kommunales.\n - zweck: Der Datensatz wird erhoben, um den Bürgern von Oberhof Informationen über die verfügbaren Kindertagesstätten und Kinderkrippen bereitzustellen.\n - aktualisierungsfrequenz: http://inspire.ec.europa.eu/metadata-codelist/MaintenanceFrequencyCode/asNeeded\nDatenbestand hat Datenlieferanten\n - name: Stadt Oberhof\nDatenbestand hat Schlagwort\n - name: versorgungswirtschaft-und-staatliche-dienste\n - name: kindertagesstätten\n - name: kindergarten\n - name: kinderbetreuung\n - name: thüringen\n - name: opendata\n - name: kinderkrippe\n - name: kita\nDatenbestand hat Kategorie\n - name: Bildung\n - name: Kultur und Sport\n - name: Regierung und öffentlicher Sektor\n - name: Regionen und Städte\n - name: Bevölkerung und Gesellschaft\nDatenbestand hat Sprache\n - name: Deutsch\nDatenbestand hat Ministerium\nMinisterium\n - bezeichnung: Bundesministerium des Innern und für Heimat\n - kurzbezeichnung: BMI\n - ressorts: Stadt Oberhof\nDatenbestand hat Behörde\nBehoerde\n - bezeichnung: Stadtverwaltung Oberhof\n - kurzbezeichnung: Stadtverwaltung\n - themen: Verwaltung, Bürgerdienste, Stadtrat, Satzungen\n - ministerium_des_geschaeftsbereichs: Thüringer Ministerium für Inneres und Kommunales\n - ressort: Kommunalverwaltung\nDatenbestand hat Gesetze:\nGesetz\n - bezeichnung: Thüringer Kindertageseinrichtungsgesetz\n - kurzbezeichnung: ThürKigaG\nDatenbestand hat Verordnung\nVerordnung\n - referenz: https://www.hfm-weimar.de/fileadmin/user_upload/Gesetze_Ordnungen/Thueringer_Gleichstellungsgesetz.pdf\n - bezeichnung: Thüringer Verordnung zur Bestimmung der zentralen Landesstelle für den automatisierten Datenaustausch\nVerordnung\n - referenz: https://parldok.thueringer-landtag.de/ParlDok/dokument/72529/gesetz_und_verordnungsblatt_nr_11_2019.pdf\n - bezeichnung: Thüringer Verordnung über die Anerkennung der Vereinbarung einer erfüllenden Gemeinde\n',
"\nDatenbestand\n - titel: Luftbild 2002\n - typ: Fachverfahren\n - kurzbeschreibung: Luftbild (Digitales Orthophoto) der Hanse- und Universitätsstadt Rostock und Umgebung von März und April 2002.\n - allgemeine_beschreibung: Der Datensatz 'Luftbild 2002' umfasst das Luftbild (Digitales Orthophoto) der Hanse- und Universitätsstadt Rostock und Umgebung von März und April 2002 mit einer Bodenauflösung von 0,16 Metern. Die Ressourcen werden in der Regel nicht aktualisiert.\n - fachliche_beschreibung: Der Datensatz wird von der Hanse- und Universitätsstadt Rostock bereitgestellt, speziell vom Ressort Kommunalaufsicht. Er dient der Bereitstellung historischer Luftbilder für die Öffentlichkeit.\n - zweck: Der Datensatz wird erhoben, um historische Luftbilder der Hanse- und Universitätsstadt Rostock und Umgebung aus dem Jahr 2002 bereitzustellen.\n - einfuehrungsjahr: 2017\n - zeitliche_abdeckung_start: 2002-03-01T00:00:00+01:00\n - zeitliche_abdeckung_ende: 2002-05-01T00:00:00+02:00\nDatenbestand hat Datenlieferanten\n - name: Hanse- und Universitätsstadt Rostock\nDatenbestand hat Schlagwort\n - name: luftbild\n - name: Historisch\n - name: Digitales Orthophoto\n - name: 2002\n - name: Bodenauflösung\n - name: Rostock\n - name: Luftbild\n - name: Hanse- und Universitätsstadt\nDatenbestand hat Kategorie\n - name: Regierung und öffentlicher Sektor\n - name: Regionen und Städte\nDatenbestand hat politische Ebenen\n - name: Ebene der Landkreise und Regierungsbezirke\nDatenbestand hat politisches Gebiet\n - name: Rostock\n - name: Hanse- und Universitätsstadt\nDatenbestand hat Sprache\n - name: Deutsch\nDatenbestand hat geografische Abdeckung\n - name: Rostock und Umgebung\nDatenbestand hat Ministerium\nMinisterium\n - bezeichnung: Bundesministerium des Innern und für Heimat\n - kurzbezeichnung: BMI\n - ressorts: Hanse- und Universitätsstadt Rostock\nDatenbestand hat Behörde\nBehoerde\n - bezeichnung: Hanse- und Universitätsstadt Rostock\n - kurzbezeichnung: Rostock\n - themen: Kommunalverwaltung, Stadtentwicklung, Öffentliche Ordnung\n - ministerium_des_geschaeftsbereichs: Ministerium für Inneres und Europa Mecklenburg-Vorpommern\n - ressort: Kommunalaufsicht\nDatenbestand hat Gesetze:\nGesetz\n - bezeichnung: Bundesdatenschutzgesetz\n - kurzbezeichnung: BDSG\nDatenbestand hat Verordnung\nVerordnung\n - referenz: https://www.bgbl.de/xaver/bgbl/start.xav?start=%2F%2F*%5B%40attr_id%3D%27bgbl102s0027.pdf%27%5D\n - bezeichnung: Verordnung über Art, Umfang, Beschaffenheit, Zulassung und Ausführung von Luftbildern\nVerordnung\n - referenz: https://stadt.muenchen.de/rathaus/stadtrecht/vorschrift/831.html\n - bezeichnung: Datenschutzrechtliche Belange bei Luftbildern\n",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
dim_512InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.4081 |
| cosine_accuracy@3 | 0.6312 |
| cosine_accuracy@5 | 0.7177 |
| cosine_accuracy@10 | 0.8077 |
| cosine_precision@1 | 0.4081 |
| cosine_precision@3 | 0.2104 |
| cosine_precision@5 | 0.1435 |
| cosine_precision@10 | 0.0808 |
| cosine_recall@1 | 0.4081 |
| cosine_recall@3 | 0.6312 |
| cosine_recall@5 | 0.7177 |
| cosine_recall@10 | 0.8077 |
| cosine_ndcg@10 | 0.6045 |
| cosine_mrr@10 | 0.5399 |
| cosine_map@100 | 0.5472 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Welche Datenbestände decken die Region Rostock und Umgebung ab und enthalten Informationen zu Verkehrswegen und -sicherheit? |
|
Welche Datenbestände bieten Einblicke in die Standorte und Strukturen des THW für Koordinationszwecke im Katastrophenschutz? |
|
Welche Datensätze analysieren die Geschlechterverteilung von Schulabgängern ohne Abschluss in deutschen Kreisen von 2006 bis 2021? |
|
MatryoshkaLoss with these parameters:{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
512
],
"matryoshka_weights": [
1
],
"n_dims_per_step": -1
}
eval_strategy: epochlearning_rate: 1e-05warmup_ratio: 0.1bf16: Truetf32: Falseload_best_model_at_end: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 1e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 3max_steps: -1lr_scheduler_type: linearlr_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_torchoptim_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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | dim_512_cosine_map@100 |
|---|---|---|---|
| 0 | 0 | - | 0.5212 |
| 0.0490 | 10 | 1.2397 | - |
| 0.0980 | 20 | 0.7542 | - |
| 0.1471 | 30 | 0.3055 | - |
| 0.1961 | 40 | 0.2075 | - |
| 0.2451 | 50 | 0.2064 | - |
| 0.2941 | 60 | 0.1429 | - |
| 0.3431 | 70 | 0.1821 | - |
| 0.3922 | 80 | 0.063 | - |
| 0.4412 | 90 | 0.078 | - |
| 0.4902 | 100 | 0.1026 | - |
| 0.5392 | 110 | 0.0717 | - |
| 0.5882 | 120 | 0.0394 | - |
| 0.6373 | 130 | 0.0751 | - |
| 0.6863 | 140 | 0.1377 | - |
| 0.7353 | 150 | 0.0666 | - |
| 0.7843 | 160 | 0.127 | - |
| 0.8333 | 170 | 0.1129 | - |
| 0.8824 | 180 | 0.0734 | - |
| 0.9314 | 190 | 0.0727 | - |
| 0.9804 | 200 | 0.1564 | - |
| 1.0 | 204 | - | 0.5428 |
| 1.0294 | 210 | 0.0904 | - |
| 1.0784 | 220 | 0.0974 | - |
| 1.1275 | 230 | 0.0785 | - |
| 1.1765 | 240 | 0.0704 | - |
| 1.2255 | 250 | 0.0929 | - |
| 1.2745 | 260 | 0.1119 | - |
| 1.3235 | 270 | 0.0459 | - |
| 1.3725 | 280 | 0.1181 | - |
| 1.4216 | 290 | 0.0459 | - |
| 1.4706 | 300 | 0.0248 | - |
| 1.5196 | 310 | 0.0567 | - |
| 1.5686 | 320 | 0.0247 | - |
| 1.6176 | 330 | 0.0412 | - |
| 1.6667 | 340 | 0.0498 | - |
| 1.7157 | 350 | 0.0693 | - |
| 1.7647 | 360 | 0.0589 | - |
| 1.8137 | 370 | 0.0383 | - |
| 1.8627 | 380 | 0.0429 | - |
| 1.9118 | 390 | 0.0466 | - |
| 1.9608 | 400 | 0.0331 | - |
| 2.0 | 408 | - | 0.5469 |
| 2.0098 | 410 | 0.0812 | - |
| 2.0588 | 420 | 0.0705 | - |
| 2.1078 | 430 | 0.0215 | - |
| 2.1569 | 440 | 0.0571 | - |
| 2.2059 | 450 | 0.0821 | - |
| 2.2549 | 460 | 0.046 | - |
| 2.3039 | 470 | 0.0165 | - |
| 2.3529 | 480 | 0.0335 | - |
| 2.4020 | 490 | 0.0339 | - |
| 2.4510 | 500 | 0.0291 | - |
| 2.5 | 510 | 0.0788 | - |
| 2.5490 | 520 | 0.0468 | - |
| 2.5980 | 530 | 0.0457 | - |
| 2.6471 | 540 | 0.0121 | - |
| 2.6961 | 550 | 0.0543 | - |
| 2.7451 | 560 | 0.0463 | - |
| 2.7941 | 570 | 0.0974 | - |
| 2.8431 | 580 | 0.0204 | - |
| 2.8922 | 590 | 0.012 | - |
| 2.9412 | 600 | 0.0545 | - |
| 2.9902 | 610 | 0.0581 | - |
| 3.0 | 612 | - | 0.5472 |
@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}
}