metadata
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- dense
- generated_from_trainer
- dataset_size:86218
- loss:MultipleNegativesRankingLoss
base_model: Snowflake/snowflake-arctic-embed-m-v2.0
widget:
- source_sentence: Benutzer benötigt einen eigenen Zugang als Gemeinde.
sentences:
- >-
Userin erklärt wie Urlaubsberechnung erfolgt. Nicht speichern sondern
Urlaub berechnen anklicken. RT werden separat geführt
- >-
Benutzer muss sich einmal an denjenigen wenden, der mit dem Hauptzugang
der Gemeinde arbeitet.
- "Benutzer sendet uns einmal einen Screenshot der aktuellen Daten im KitaPlaner.\r\nAn Entwickler weitergegeben.\r\nLaut Entwickler sind die Daten alle im KitaPlaner angekommen. Die Archivkinder können noch einmal einzeln synchronisiert werden, wenn nötig."
- source_sentence: >-
Die Kollegin hat keinen Zugriff auf die Eltern-App, wer kann dies
aktivieren?
sentences:
- >-
Nachdem die Browserdaten der letzten 4 Wochen gelöscht wurden hat der
Login wieder funktioniert
- Gebeten sich dazu an den Träger zu wenden
- >-
Im Abgleich Belegung und BE konnte man erkennen, dass der entsprechenden
Platzstruktur zwei Kinder zu viel zugeordnet waren.
- source_sentence: "Hallo zusammen,\r\n\_\r\nwir haben im letzten Monat zusammen mit Digibox eine neue Funktion auf unserer Homepage eingestellt\r\nzur Buchung von Schulungen und Infoveranstaltungen. Mittlerweile ist dort alles weitestgehend getestet und funktioniert so wie gewünscht. Früher waren Termine per Überschrift getrennt, aber alle auf der gleichen Seite. Der Aufwand neue Termine einzustellen\r\n oder bestehende zu bearbeiten war nicht klein. Zusätzlich mussten neue Kategorien geschaffen werden für eine gesteigerte Nachfrage unserer Produkte. Von daher sollte diese Systematik umgestellt werden, sodass man erst zwei Dropdown-Menüs auswählen muss, damit\r\n Termine angezeigt werden. Durch das Fachteam wurden zusätzlich bei den Schulungen Dokumente zur Verfügung gestellt zu allen Formaten und Bundesländern, um für verbesserte Transparenz zu sorgen. Hier sind die beiden Seiten zu finden:\r\n\_\r\nFür Schulungen: \r\nhttps://kitaplus.de/services/schulungen\r\nFür Infoveranstaltungen: \r\nhttps://kitaplus.de/services/infoveranstaltungen\r\n\_\r\nDieses System erleichtert den Prozess im Hintergrund sehr stark bei der Erstellung von Terminen, und ist gleichzeitig für Interessenten deutlich übersichtlicher bei einer Vielzahl von verschiedenen Formaten. Die Formate werden nun erst\r\n angezeigt, nachdem man ein Bundesland im ersten Schritt ausgewählt hat. Danach kann man entweder eines oder alle Formate auswählen, unter denen Termine chronologisch sortiert auftauchen. Zuletzt kann man sich über das Kontaktformular zu einer Veranstaltung\r\n anmelden. \r\n\_\r\nDiese Mail dient als Info für alle, dass ihr Bescheid wisst, falls ihr das noch nicht mitbekommen habt. Falls jemand Feedback zu dieser Funktion haben sollte, könnt ihr euch gerne persönlich bei mir zurückmelden.\r\n\r\nIch wünsche allen eine angenehme Restwoche und genießt die Sonnenstrahlen!\r\n\_\r\nViele Grüße,\r\nWladimir"
sentences:
- 'N'
- 'N'
- >-
laufend muss auf nein gesetzt werden, danach kann das Datum dort
eingegeben werden
- source_sentence: >-
Userin fragt warum bei einem Bericht bei den Plätzen laut
Betriebserlaubnis 15 steht und bei der Platzstruktur dann aber 17?
sentences:
- "1. Userin hatte noch keinen Personalbogen erstellt. Mit Userin den Personalbogen erstellt und freigegeben.\r\n2. Userin hatte schon das Beschäftigungsende eingegeben. Sie musste die Ausbildung und Funktion noch befristen."
- >-
Weil es genau so in den Einrichtungsstammdaten hinterlegt wurde. Ich
kann bei der Platzstruktur ja was anderes hinterlegt haben als bei den
Pl. laut Betriebserlaubnis
- >-
Es wurde für das kommende KGJ noch kein LB erstellt, daher kommt der
Hinweis.
- source_sentence: "Userin hinterlegt Email-Adresse im Benutzerkonto und speichert. Aber die Adresse wird trotz Bestätigung nicht gespeichert. \r\nEMA ist notwendig für 2FA\r\n\r\n Roesler = jil.roesler@cse.ruhr"
sentences:
- >-
Unter dem Namen der Dame gibt es nur einen Login. Vielleicht schaut sie
mit dem Login einer anderen Kollegin auf die zweite Einrichtung? Oder
sie hat einen Login als Träger? Dies klärt sie mit der Einrichtung ab.
- Userin hat die Rolle "Mitarbeiter".
- 'N'
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
model-index:
- name: SentenceTransformer based on Snowflake/snowflake-arctic-embed-m-v2.0
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: Snowflake/snowflake arctic embed m v2.0
type: Snowflake/snowflake-arctic-embed-m-v2.0
metrics:
- type: cosine_accuracy@1
value: 0.3
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.4
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.4
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.3
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.16666666666666666
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.1
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.12
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.03333333333333333
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.05555555555555556
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.05555555555555556
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.13333333333333336
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.14897983092996853
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.40714285714285714
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.06358912663282627
name: Cosine Map@100
SentenceTransformer based on Snowflake/snowflake-arctic-embed-m-v2.0
This is a sentence-transformers model finetuned from Snowflake/snowflake-arctic-embed-m-v2.0. 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: Snowflake/snowflake-arctic-embed-m-v2.0
- Maximum Sequence Length: 8192 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False, 'architecture': 'GteModel'})
(1): Pooling({'word_embedding_dimension': 768, '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})
(2): Normalize()
)
Usage
Direct Usage (Sentence Transformers)
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("BjarneNPO-26_08_2025_19_57_49")
# Run inference
queries = [
"Userin hinterlegt Email-Adresse im Benutzerkonto und speichert. Aber die Adresse wird trotz Best\u00e4tigung nicht gespeichert. \r\nEMA ist notwendig f\u00fcr 2FA\r\n\r\n Roesler = jil.roesler@cse.ruhr",
]
documents = [
'N',
'Unter dem Namen der Dame gibt es nur einen Login. Vielleicht schaut sie mit dem Login einer anderen Kollegin auf die zweite Einrichtung? Oder sie hat einen Login als Träger? Dies klärt sie mit der Einrichtung ab.',
'Userin hat die Rolle "Mitarbeiter".',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.2199, 0.2094, 0.1052]])
Evaluation
Metrics
Information Retrieval
- Dataset:
Snowflake/snowflake-arctic-embed-m-v2.0 - Evaluated with
scripts.InformationRetrievalEvaluatorCustom.InformationRetrievalEvaluatorCustom
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.3 |
| cosine_accuracy@3 | 0.4 |
| cosine_accuracy@5 | 0.4 |
| cosine_accuracy@10 | 0.9 |
| cosine_precision@1 | 0.3 |
| cosine_precision@3 | 0.1667 |
| cosine_precision@5 | 0.1 |
| cosine_precision@10 | 0.12 |
| cosine_recall@1 | 0.0333 |
| cosine_recall@3 | 0.0556 |
| cosine_recall@5 | 0.0556 |
| cosine_recall@10 | 0.1333 |
| cosine_ndcg@10 | 0.149 |
| cosine_mrr@10 | 0.4071 |
| cosine_map@100 | 0.0636 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 86,218 training samples
- Columns:
queryandanswer - Approximate statistics based on the first 1000 samples:
query answer type string string details - min: 5 tokens
- mean: 80.67 tokens
- max: 5231 tokens
- min: 3 tokens
- mean: 25.16 tokens
- max: 238 tokens
- Samples:
query answer Nun ist die Monatsmeldung erfolgt, aber rote Ausrufezeichen tauchen auf.Userin an das JA verwiesen, diese müssten ihr die Schloss-Monate zur Überarbeitung im Kibiz.web zurückgeben. Userin dazu empfohlen, die Kinder die nicht in kitaplus sind, aber in Kibiz.web - im KiBiz.web zu entfernen, wenn diese nicht vorhanden sind.Die Feiertage in den Stammdaten stimmen nicht.Es besteht bereits ein Ticket dafür.Abrechnung kann nicht final freigegeben werden, es wird aber keiner Fehlermeldung angeziegtim Hintergrund ist eine Fehlermeldung zu sehen. An Entwickler weitergeleitet.
Korrektur vorgenommen. - Loss:
MultipleNegativesRankingLosswith these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim", "gather_across_devices": false }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: epochper_device_train_batch_size: 64per_device_eval_batch_size: 64gradient_accumulation_steps: 16learning_rate: 2e-05num_train_epochs: 1lr_scheduler_type: cosinewarmup_ratio: 0.1bf16: Truetf32: Trueload_best_model_at_end: Truebatch_sampler: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 64per_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: 1max_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}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: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | Snowflake/snowflake-arctic-embed-m-v2.0_cosine_ndcg@10 |
|---|---|---|---|
| 0.1187 | 10 | 2.81 | - |
| 0.2374 | 20 | 2.3706 | - |
| 0.3561 | 30 | 2.1261 | - |
| 0.4748 | 40 | 1.9089 | - |
| 0.5935 | 50 | 1.8251 | - |
| 0.7122 | 60 | 1.7666 | - |
| 0.8309 | 70 | 1.7305 | - |
| 0.9496 | 80 | 1.2862 | - |
| 1.0 | 85 | - | 0.149 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.10.11
- Sentence Transformers: 5.1.0
- Transformers: 4.55.2
- PyTorch: 2.8.0+cu129
- Accelerate: 1.10.0
- Datasets: 3.6.0
- Tokenizers: 0.21.4
Citation
BibTeX
Sentence Transformers
@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",
}
MultipleNegativesRankingLoss
@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}
}