Downloads · 30 days
85
38% of all-time downloads
kenoc/mxbai-abat-matryoshka
mxbai-abat-matryoshka is a sentence similarity model from kenoc. 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 mixedbread-ai/mxbai-embed-large-v1 on the json dataset. It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual…
Downloads · 30 days
85
38% of all-time downloads
All-time downloads
226
Public
Parameters
335M
1.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors1.3 GB · 100%
From the Hugging Face model README
This is a sentence-transformers model finetuned from mixedbread-ai/mxbai-embed-large-v1 on the json dataset. 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: BertModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, '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': False, 'include_prompt': True})
)
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("kenoc/mxbai-abat-matryoshka")
# Run inference
sentences = [
'angegebenen anderen Objektins- tanz als Rücksprungziel definieren. Selbstverständlich sind auch Auf- rufe statischer Methoden möglich. Exceptions auswerten Returncode auswerten Nach Absetzen des Funktionsbausteinaufrufs erhalten Sie sofort die ll b d bl f k d d lung. Für jede Servergruppe werden bestimmte Schwellwerte gepflegt, die bestimmen, in welchem Umfang die Mitglieder der Gruppe Ressour- cen für asynchrone RFCs zur Verfügung stellen. Setzt ein Programm einen asynchronen RFC-Funktionsbausteinaufruf gegen eine Servergruppe ab (DESTINATION IN GROUP), so prüft das System automatisch die Auslastung und ermittelt die Instanz, die die Anforderung bearbeiten wird. Neben den explizit in der Transaktion RZ12 definierten Servergruppen gibt es',
'Was passiert, wenn ein Programm einen asynchronen RFC-Funktionsbausteinaufruf gegen eine Servergruppe absetzt und die Systeminstanzen bereits auslastet?',
'Welche Aufgaben kann man im Business Workplace des SAP-Systems erledigen?',
]
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]
<!--
### 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, dim_512, dim_256, dim_128 and dim_64| Metric | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 |
|---|---|---|---|---|---|
| cosine_accuracy@1 | 0.0896 | 0.0949 | 0.0931 | 0.0773 | 0.0668 |
| cosine_accuracy@3 | 0.2021 | 0.2004 | 0.2004 | 0.1845 | 0.1687 |
| cosine_accuracy@5 | 0.2601 | 0.2619 | 0.2548 | 0.2654 | 0.2531 |
| cosine_accuracy@10 | 0.4183 | 0.4148 | 0.3972 | 0.3972 | 0.3814 |
| cosine_precision@1 | 0.0896 | 0.0949 | 0.0931 | 0.0773 | 0.0668 |
| cosine_precision@3 | 0.0674 | 0.0668 | 0.0668 | 0.0615 | 0.0562 |
| cosine_precision@5 | 0.052 | 0.0524 | 0.051 | 0.0531 | 0.0506 |
| cosine_precision@10 | 0.0418 | 0.0415 | 0.0397 | 0.0397 | 0.0381 |
| cosine_recall@1 | 0.0896 | 0.0949 | 0.0931 | 0.0773 | 0.0668 |
| cosine_recall@3 | 0.2021 | 0.2004 | 0.2004 | 0.1845 | 0.1687 |
| cosine_recall@5 | 0.2601 | 0.2619 | 0.2548 | 0.2654 | 0.2531 |
| cosine_recall@10 | 0.4183 | 0.4148 | 0.3972 | 0.3972 | 0.3814 |
| cosine_ndcg@10 | 0.2286 | 0.2305 | 0.2253 | 0.2153 | 0.1994 |
| cosine_mrr@10 | 0.1713 | 0.1748 | 0.1729 | 0.1598 | 0.1442 |
| cosine_map@100 | 0.1865 | 0.19 | 0.1887 | 0.1754 | 0.1585 |
| positive | anchor | |
|---|---|---|
| type | string | string |
| details | <ul><li>min: 11 tokens</li><li>mean: 252.94 tokens</li><li>max: 479 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 45.33 tokens</li><li>max: 129 tokens</li></ul> |
| positive | anchor |
|---|---|
| <code>Standardtabelle ITAB01 wird deklariert; die initiale Spei- cherplatzbelegung wird dem System überlassen. Die interne Tabelle hat zwei Felder, die hinsichtlich ihrer Deklarationen auf das Dictionary verweisen. Zeile 23 bis 26 Die interne Tabelle ITAB02 wird deklariert. Sie soll die Struktur der Zei- g Zeile der Datenbanktabelle. Zeile 52 bis 55 Die Datenbanktabelle wird satzweise in ihre Workarea gelesen. Von dort aus werden namensgleiche Felder in die Kopfzeile der internen Tabelle übertragen. Nach dem Übertragen wird der Inhalt der Kopf- zeile als neue Zeile an den Tabellenrumpf angehängt. Der Inhalt der Kopfzeile bleibt dabei erhalten und wird in diesem Fall durch</code> | <code>Was passiert, wenn eine interne Tabelle ohne Kopfzeile deklariert ist?</code> |
| <code>lässt sich leicht ablesen, dass ein Konstruktor mit mehreren optionalen Parametern und einer Dokumenta- tion nötig wäre, um diese Methoden zu ersetzen. Umgebungsunabhängige Wiederholbarkeit Mit dem eigenständigen Aufbau der testrelevanten Daten stellt die Testklasse sicher, dass ihre Testmethoden in jeder Umgebung wiederholbar sind (Repeatable- Prinzip). Tests sind für das Refactoring notwendig, um Regression zu vermei- den. Allerdings müssen Tests auch häufig angepasst werden, wenn sich das Produktdesign durch Refactoring ändert. Wie kann der Auf- wand dafür minimiert werden? Welche Rolle spielen dabei Abhängig- keiten des Testcodes vom Produktcode? Abhängigkeiten können sowohl bei der Erzeugung als auch bei der Verwendung eines</code> | <code>Was ist das Ziel von Refactoring?</code> |
| <code>es ermöglicht, Aufgaben innerhalb eines Netzwerks auf Clients und Server zu verteilen. Der Server bietet Dienste an, die die Clients (Anwender-PCs) nutzen. SAP R/3 und später SAP ERP liegt ein drei stufiges Konzept zugrunde: Datenbank, Server und Client Compliance Verfahren zur Einhaltung von Gesetzen und Richtlinien, zum Beispiel des Sarbanes-Oxley Acts oder von Arbeits schutzgesetzen. Mitarbeiter und die externen Dienstleister, die über das »Arbeitszeitblatt« unter ande rem eine Zeiterfassung erlaubt. Customer Relationship Management SAP Customer Relationship Management Customer Service Kundenservice. Die Komponente CS in SAP ERP unterstützt die Abläufe in der Serviceabwicklung, zum Bei spiel die Bearbeitung von</code> | <code>Welche Funktionen bietet SAP CRM?</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: 16per_device_eval_batch_size: 16gradient_accumulation_steps: 8learning_rate: 2e-05num_train_epochs: 4lr_scheduler_type: cosinewarmup_ratio: 0.1bf16: Trueload_best_model_at_end: Trueoptim: adamw_torch_fusedgradient_checkpointing: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 8eval_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: Nonelocal_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: Falsegradient_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: 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: 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 |
|---|---|---|---|---|---|---|---|
| 1.0 | 40 | - | 0.2192 | 0.2209 | 0.2122 | 0.1938 | 0.1583 |
| 1.25 | 50 | 5.5269 | - | - | - | - | - |
| 2.0 | 80 | - | 0.2215 | 0.2231 | 0.2179 | 0.2097 | 0.1887 |
| 2.5 | 100 | 2.4018 | - | - | - | - | - |
| 3.0 | 120 | - | 0.229 | 0.2266 | 0.2171 | 0.2188 | 0.1926 |
| 3.75 | 150 | 1.4161 | - | - | - | - | - |
| 4.0 | 160 | - | 0.2286 | 0.2305 | 0.2253 | 0.2153 | 0.1994 |
@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.*
-->