BjarneNPO's picture
finetune_27_08_2025_09_46_28
3a3b9e2 verified
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.2
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.5111111111111111
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.6222222222222222
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.6666666666666666
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.2
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.1925925925925926
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1688888888888889
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.11777777777777776
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.01326278659611993
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.03830687830687831
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.05523809523809523
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.07368606701940035
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.1421510587302281
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.36629629629629634
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.06782645482236382
            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

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-27_08_2025_09_46_28")
# 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.2539, 0.2023, 0.0856]])

Evaluation

Metrics

Information Retrieval

  • Dataset: Snowflake/snowflake-arctic-embed-m-v2.0
  • Evaluated with scripts.InformationRetrievalEvaluatorCustom.InformationRetrievalEvaluatorCustom with these parameters:
    {
        "query_prompt_name": "query"
    }
    
Metric Value
cosine_accuracy@1 0.2
cosine_accuracy@3 0.5111
cosine_accuracy@5 0.6222
cosine_accuracy@10 0.6667
cosine_precision@1 0.2
cosine_precision@3 0.1926
cosine_precision@5 0.1689
cosine_precision@10 0.1178
cosine_recall@1 0.0133
cosine_recall@3 0.0383
cosine_recall@5 0.0552
cosine_recall@10 0.0737
cosine_ndcg@10 0.1422
cosine_mrr@10 0.3663
cosine_map@100 0.0678

Training Details

Training Dataset

Unnamed Dataset

  • Size: 86,218 training samples
  • Columns: query and answer
  • 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 angeziegt im Hintergrund ist eine Fehlermeldung zu sehen. An Entwickler weitergeleitet.

    Korrektur vorgenommen.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 6
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • tf32: True
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 16
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 6
  • max_steps: -1
  • lr_scheduler_type: cosine
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: True
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: True
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss Snowflake/snowflake-arctic-embed-m-v2.0_cosine_ndcg@10
0.1187 10 2.9295 -
0.2374 20 2.7427 -
0.3561 30 2.5244 -
0.4748 40 2.2569 -
0.5935 50 2.0588 -
0.7122 60 1.8785 -
0.8309 70 1.7356 -
0.9496 80 1.2364 -
1.0 85 - 0.1762
1.0593 90 0.7613 -
1.1780 100 1.5086 -
1.2967 110 1.4532 -
1.4154 120 1.4429 -
1.5341 130 1.3941 -
1.6528 140 1.3542 -
1.7715 150 1.2791 -
1.8902 160 1.27 -
2.0 170 0.2985 0.1495
2.1187 180 1.2021 -
2.2374 190 1.2112 -
2.3561 200 1.1601 -
2.4748 210 1.1583 -
2.5935 220 1.1209 -
2.7122 230 1.1145 -
2.8309 240 1.1182 -
2.9496 250 0.8356 -
3.0 255 - 0.1408
3.0593 260 0.5496 -
3.1780 270 1.0436 -
3.2967 280 1.0243 -
3.4154 290 1.0307 -
3.5341 300 1.0404 -
3.6528 310 1.0279 -
3.7715 320 1.0335 -
3.8902 330 1.0453 -
4.0 340 0.2286 0.1451
4.1187 350 0.9734 -
4.2374 360 0.9873 -
4.3561 370 0.9765 -
4.4748 380 1.0087 -
4.5935 390 0.9763 -
4.7122 400 0.9652 -
4.8309 410 0.9883 -
4.9496 420 0.6986 -
5.0 425 - 0.1435
5.0593 430 0.4907 -
5.1780 440 0.9642 -
5.2967 450 0.9407 -
5.4154 460 0.9464 -
5.5341 470 0.9429 -
5.6528 480 0.9712 -
5.7715 490 0.9604 -
5.8902 500 0.9604 -
6.0 510 0.2269 0.1422
  • 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}
}