--- language: - en license: apache-2.0 tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:5779 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: mixedbread-ai/deepset-mxbai-embed-de-large-v1 widget: - source_sentence: der Zuordnung des Wertes zum In- oder Ausland imple- mentiert. Zuordnung prüfen Die Implementierung dieser Zuordnung zum In- oder Ausland erfolgt in den Klassen ZDP_CL_INTP_INT_INLAND und ZDP_CL_INTP_ INT_AUSLAND. Der zu prüfende Wert wird aus der Klasse ZDP_CL_ INTP_KONTEXT mit der Methode GET_TEXT() abgefragt und der Varia- blen LV_TEXT übergeben. In unserem Beispiel verwenden wir zur Prüfung eine Zeichenfolge; dies kann eine PSP-Element-Nummer, eine ID oder Ähnliches sein. Im Prinzip kann jede Art von Zeichen- lo_kontext ?= i_kontext. lv_text = lo_kontext->get_text( ). IF lv_text+2(2) EQ uebersetze_wert( ). r_return = gebe_wert_zurueck( ). ENDIF. ENDMETHOD. METHOD uebersetze_wert. ENDMETHOD. ENDCLASS. Listing 5.10 Interpreter Pattern sentences: - What should the project team implement during the integration implementation phase? - Hey Team, I'm trying to figure out how to get the value from ZDP_CL_INTP_KONTEXT for our country-specific sorting feature. Can someone remind me how we're supposed to do that? - Hallo, ich bin gerade dabei, Dokument 327 zu überprüfen und möchte verstehen, wie der Auftragsprozess funktioniert. Kannst du mir bitte erklären, warum der Zustand des Auftragskopfes für die Testmethode nicht immer verfügbar ist? - source_sentence: "Inhalt 09876\x02887766. Unter sonst gleichen Bedingungen möchten\ \ Sie die führende Null durch die in- ternationale Vorwahl sowie eine eingeklammerte\ \ Null ersetzen, das heißt für Deutschland beispielsweise durch den String +49-(0),\ \ dann müsste die Anweisung lauten: REPLACE '0' IN telefon_international WITH\ \ '+49-(0)'. Nach der Operation hätte das Feld den Inhalt +49-(0)9876\x02887766.\ \ Soll das verbliebene Leerzeichen zwischen nationaler Vorwahl und örtli- cher\ \ Telefonnummer durch ein Minuszeichen ersetzt werden, würde die Anweisung wiederum\ \ lauten: REPLACE ` ` IN telefon_international WITH `-`. Diese Anweisung sucht\ \ ein Leerzeichen (als String-Literal), findet es erst- mals im Feld an Position\ \ 12 und tauscht es gegen ein Minuszeichen" sentences: - Soll das verbleibende Leerzeichen zwischen nationaler Vorwahl und örtlicher Telefonnummer durch ein Minuszeichen ersetzt werden, unter der Voraussetzung dass die Anweisung bereits eine führende Null durch die internationale Vorwahl und eine eingeklammerte Null ersetzen wird? - Welche programmierlinguistischen Elemente hat ABAP im Laufe der Zeit von sich aufgenommen, insbesondere unter dem Einfluss moderner Sprachen wie Java? - Was ist der Zweck davon? - source_sentence: Ergebnisliste, wobei Sie mittels einer Konfigurationseinstel- lung für einen Prüflauf auch die unterdrückten Fehler ausgeben las- sen können. Beachten Sie, dass Sie bei der Nutzung der erweiterten Sicherheitsprüfungen Fehler nicht über Pseudokommentare oder Pragmas unterdrücken können (siehe Abschnitt 13.1, »Sicherheits- analysen aus Sicht des Entwicklers«). Da es sich bei ATC-Befreiungen stets um eine menschliche Risikobewertung handelt, empfehlen wir Ihnen, den Ausnahmeprozess ernst zu nehmen. Gerade wenn Teile einer Entwicklung von einer dritten Partei durchgeführt werden, können Sie mithilfe des ABAP Test Cockpits den Abnahmeprozess unterstützen. Schrittweise Generell empfehlen wir, stets schrittweise vorzugehen, also nicht Servicepacks) vor einer Projektphase einzuspielen, da sentences: - Was bedeutet 'Unternehmensführung' und wie kann man eine Verbindung zu diesem Bereich erstellen? - Wie kann ich das ABAP Test Cockpit nutzen, um den Abnahmeprozess zu unterstützen, insbesondere bei der Überprüfung von Änderungen an bestehender Entwicklung durch Dritte? - Wird etwas regelmäßig aktualisiert? - source_sentence: In der Folge haben Sie einen sehr undurchsichtigen Programmcode, der sich nur schwer warten lässt. Auch können bei diesem Ansatz viele Bedingungen gar nicht betrachtet werden, was ein großes Fehlerpotenzial birgt. Umsetzung mit Entwurfsmustern Plausibilitätsprüfungen lassen sich einfacher und übersichtlicher über zwei Entwurfsmuster implementieren. Das Entwurfsmuster Façade Pattern stellt dabei einen zentralen Zugriffspunkt für diese Prüfungen bereit (siehe auch Abschnitt 4.4). Als weiteres Entwurfs- muster implementieren wir ein Composite Pattern das die Prüfun g g den einzelnen Prüfungen oder bereits im Vorfeld auch Spezialfälle definiert werden. Die einzelnen Prüfungen werden jeweils mit einem Standard-Interface erstellt, in dem die entsprechenden Prü- sentences: - Was hat sie? - Wie erfolgt die Nummernvergabe und was ist der Grundgedanke des SQL Monitors? - Welche zwei Entwurfsmuster sollen zur Umsetzung von Plausibilitätsprüfungen verwendet werden? - source_sentence: 'Kurs Netzwerktechnik gefunden''. 61 WHEN 4. 62 * Fehlerfall 63 WRITE: / ''keine Teilnehmer für den Kurs Netzwerktechnik gefunden''. 64 WHEN OTHERS. 65 * Kann nicht sein, anderer sy-subrc von der Anweisung nicht geliefert 66 ENDCASE. Listing 10.2 Report Z_TEILNEHMERLISTE10_case Anmerkungen zum Quellcode Zeile 32 bis 41 Alle Sätze der Teilnehmertabelle werden gelesen. Je nach Feldinhalt des Kurstitels werden die Zähler für die verschiedenen Kurse »Netz- werktechnik«, »PC-Grundlagen« und für sonstige Kurse hochgezählt. Zeile 43 bis 46 Nach der SELECT-Schleife werden die Gruppensummen ausgegeben. Dabei gilt wieder das Prinzip, in der Schleife die Summen hochzuzäh- len und nach der Schleife' sentences: - Wie können Sie in SAP S/4HANA geeignete Anwendungsrollen identifizieren, die für spezifische Geschäftsprozesse wie den Verkauf von Kartenkontingenten oder die Lieferung von Produkten mit einer bestimmten Priorität erforderlich sind? - Was sind die Vorteile der Version 1 der Testklasse? - Wie werden die Teilnehmer für einen bestimmten Kurs gezählt und was wird ausgegeben, nachdem alle Sätze der Teilnehmertabelle gelesen wurden? 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: mixedbread-ai/deepset-mxbai-embed-de-large-v1 results: - task: type: information-retrieval name: Information Retrieval dataset: name: dim 768 type: dim_768 metrics: - type: cosine_accuracy@1 value: 0.19440124416796267 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.5116640746500778 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.5956454121306376 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.6578538102643857 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.19440124416796267 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.1705546915500259 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.11912908242612752 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.06578538102643856 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.19440124416796267 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.5116640746500778 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.5956454121306376 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.6578538102643857 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.435518072261628 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.3630026660742058 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.3667171724544 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 512 type: dim_512 metrics: - type: cosine_accuracy@1 value: 0.17573872472783825 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.49922239502332816 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.578538102643857 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.6469673405909798 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.17573872472783825 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.16640746500777603 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.11570762052877137 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.06469673405909797 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.17573872472783825 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.49922239502332816 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.578538102643857 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.6469673405909798 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.42150418838308457 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.347895529388531 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.35213583443960883 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 256 type: dim_256 metrics: - type: cosine_accuracy@1 value: 0.17107309486780714 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.4867807153965785 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.5738724727838258 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.6345256609642301 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.17107309486780714 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.16226023846552615 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.11477449455676515 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.06345256609642301 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.17107309486780714 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.4867807153965785 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.5738724727838258 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.6345256609642301 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.41329965063004476 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.3410427312449087 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.34534909747047904 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 128 type: dim_128 metrics: - type: cosine_accuracy@1 value: 0.13841368584758942 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.463452566096423 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.5396578538102644 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.6065318818040435 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.13841368584758942 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.15448418869880767 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.10793157076205287 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.060653188180404355 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.13841368584758942 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.463452566096423 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.5396578538102644 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.6065318818040435 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.383450249177046 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.3106235651336741 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.31570059517455157 name: Cosine Map@100 - task: type: information-retrieval name: Information Retrieval dataset: name: dim 64 type: dim_64 metrics: - type: cosine_accuracy@1 value: 0.11975116640746501 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.37636080870917576 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.45412130637636083 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.536547433903577 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.11975116640746501 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.12545360290305857 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.09082426127527217 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.053654743390357695 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.11975116640746501 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.37636080870917576 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.45412130637636083 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.536547433903577 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.3302350089756295 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.2638284085018143 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.2699002519586214 name: Cosine Map@100 --- # mixedbread-ai/deepset-mxbai-embed-de-large-v1 This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [mixedbread-ai/deepset-mxbai-embed-de-large-v1](https://huggingface.co./mixedbread-ai/deepset-mxbai-embed-de-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. ## Model Details ### Model Description - **Model Type:** Sentence Transformer - **Base model:** [mixedbread-ai/deepset-mxbai-embed-de-large-v1](https://huggingface.co./mixedbread-ai/deepset-mxbai-embed-de-large-v1) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 1024 dimensions - **Similarity Function:** Cosine Similarity - **Training Dataset:** - json - **Language:** en - **License:** apache-2.0 ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co./models?library=sentence-transformers) ### Full Model Architecture ``` 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() ) ``` ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("kenoc/mxbai-de-abat-matryoshka") # Run inference sentences = [ "Kurs Netzwerktechnik gefunden'. 61 WHEN 4. 62 * Fehlerfall 63 WRITE: / 'keine Teilnehmer für den Kurs Netzwerktechnik gefunden'. 64 WHEN OTHERS. 65 * Kann nicht sein, anderer sy-subrc von der Anweisung nicht geliefert 66 ENDCASE. Listing 10.2 Report Z_TEILNEHMERLISTE10_case Anmerkungen zum Quellcode Zeile 32 bis 41 Alle Sätze der Teilnehmertabelle werden gelesen. Je nach Feldinhalt des Kurstitels werden die Zähler für die verschiedenen Kurse »Netz- werktechnik«, »PC-Grundlagen« und für sonstige Kurse hochgezählt. Zeile 43 bis 46 Nach der SELECT-Schleife werden die Gruppensummen ausgegeben. Dabei gilt wieder das Prinzip, in der Schleife die Summen hochzuzäh- len und nach der Schleife", 'Wie werden die Teilnehmer für einen bestimmten Kurs gezählt und was wird ausgegeben, nachdem alle Sätze der Teilnehmertabelle gelesen wurden?', 'Wie können Sie in SAP S/4HANA geeignete Anwendungsrollen identifizieren, die für spezifische Geschäftsprozesse wie den Verkauf von Kartenkontingenten oder die Lieferung von Produkten mit einer bestimmten Priorität erforderlich sind?', ] 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] ``` ## Evaluation ### Metrics #### Information Retrieval * Datasets: `dim_768`, `dim_512`, `dim_256`, `dim_128` and `dim_64` * Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator) | Metric | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 | |:--------------------|:-----------|:-----------|:-----------|:-----------|:-----------| | cosine_accuracy@1 | 0.1944 | 0.1757 | 0.1711 | 0.1384 | 0.1198 | | cosine_accuracy@3 | 0.5117 | 0.4992 | 0.4868 | 0.4635 | 0.3764 | | cosine_accuracy@5 | 0.5956 | 0.5785 | 0.5739 | 0.5397 | 0.4541 | | cosine_accuracy@10 | 0.6579 | 0.647 | 0.6345 | 0.6065 | 0.5365 | | cosine_precision@1 | 0.1944 | 0.1757 | 0.1711 | 0.1384 | 0.1198 | | cosine_precision@3 | 0.1706 | 0.1664 | 0.1623 | 0.1545 | 0.1255 | | cosine_precision@5 | 0.1191 | 0.1157 | 0.1148 | 0.1079 | 0.0908 | | cosine_precision@10 | 0.0658 | 0.0647 | 0.0635 | 0.0607 | 0.0537 | | cosine_recall@1 | 0.1944 | 0.1757 | 0.1711 | 0.1384 | 0.1198 | | cosine_recall@3 | 0.5117 | 0.4992 | 0.4868 | 0.4635 | 0.3764 | | cosine_recall@5 | 0.5956 | 0.5785 | 0.5739 | 0.5397 | 0.4541 | | cosine_recall@10 | 0.6579 | 0.647 | 0.6345 | 0.6065 | 0.5365 | | **cosine_ndcg@10** | **0.4355** | **0.4215** | **0.4133** | **0.3835** | **0.3302** | | cosine_mrr@10 | 0.363 | 0.3479 | 0.341 | 0.3106 | 0.2638 | | cosine_map@100 | 0.3667 | 0.3521 | 0.3453 | 0.3157 | 0.2699 | ## Training Details ### Training Dataset #### json * Dataset: json * Size: 5,779 training samples * Columns: positive and anchor * Approximate statistics based on the first 1000 samples: | | positive | anchor | |:--------|:------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | positive | anchor | |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | weiter aufgefächert und dienen zur Abbildung komplexerer Prozesse. Informationen zum Kunden, die sonst nur Vertriebsmitarbeitern mit direk­ ten Kundenkontakten zur Verfügung stehen, werden im System gespeichert. Diese Daten sind auch für Mitarbeiter aus den Bereichen Marketing oder Pro­ duktentwicklung relevant. So kann auf der Basis dieser Daten eine Marke­ tingaktion durchgeführt werden, oder die Produktentwicklung kann gezielt auf Kundenwünsche eingehen. Ohne ein IT-System gehen für das Unterneh­ In den letzten Jahren ist zu beobachten, dass CRM Anwendungen ver mehrt auf mobilen Endgeräten wie Tablet-Computern oder Smart­ phones (Blackberry, iPhone etc.) eingesetzt werden. Dieser Trend beschränkt sich natürlich nicht auf das | Was wird im System gespeichert und warum werden CRM-Anwendungen auf mobilen Endgeräten eingesetzt? | | 16 17 18 19 In der Personalzeitwirtschaft, kurz Zeitwirtschaft, werden zum einen die Anwesenheitszeiten erfasst; dazu gehören die Dauer und Lage der Anwesen­ heits- und Pausenzeiten, Informationen zu Arbeitszeiten, die nicht am übli­ chen Arbeitsplatz stattfinden (wie Dienstreisen) sowie die Tätigkeit während der erfassten Zeit. Zum anderen werden aber auch Abweichungen zum ursprünglichen Arbeitsplan gepflegt, wie zum Beispiel Überstunden, Kurzar­ beit oder Wiedereingliederung. Des Weiteren werden Fehlzeiten wie Krank­ heitstage und Urlaubstage im System dokumentiert. Diese Informationen können nur dann ausgewertet werden, wenn die vorge­ sehenen Arbeitszeiten eines Mitarbeiters im sogenannten Arbeitszeitplan festgehalten werden. Hierbei wird zum einen die Anzahl | Welche Arten von Abweichungen vom ursprünglichen Arbeitsplan, wie Überstunden, Kurzarbeit oder Wiedereingliederung, werden in der Personalzeitwirtschaft genau dokumentiert? | | einer String-Operation beseitigt werden. Zeichenketten verschieben Eine Möglichkeit wäre, die Zeichenkette nach links zu verschieben, bis die führenden Nullen verschwunden sind. Dies erreichen Sie mit fol- gender Anweisung: SHIFT SHIFT telefon LEFT DELETING LEADING '0'. Durch die SHIFT-Anweisung wird der Feldinhalt, das heißt die Zei- chenkette 00887766, so lange nach links verschoben, bis alle führen- den Nullen gelöscht sind. Der Feldinhalt lautet nach der Operation 887766; das Feld wird demnach rechts mit zwei Leerzeichen aufge- füllt. Natürlich können Sie eine Zeichenkette in einem Feld auch in eine bestimmte Richtung um eine bestimmte Anzahl Positionen verschie- ben. Möchten Sie die Telefonnummer | Hey, ich habe eine Telefonnummer in einem String und führende Nullen, die ich entfernen muss. Kannst du mir bitte genau sagen, wie ich das machen kann? Die IT-Untstützung hat mich nur mit 'SHIFT LEFT DELETING LEADING' belädtet, aber ich verstehe nicht, was das bedeutet. | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 512, 256, 128, 64 ], "matryoshka_weights": [ 1, 1, 1, 1, 1 ], "n_dims_per_step": -1 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: epoch - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `gradient_accumulation_steps`: 8 - `learning_rate`: 2e-05 - `num_train_epochs`: 4 - `lr_scheduler_type`: cosine - `warmup_ratio`: 0.1 - `bf16`: True - `load_best_model_at_end`: True - `optim`: adamw_torch_fused - `gradient_checkpointing`: 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`: 16 - `per_device_eval_batch_size`: 16 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 8 - `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`: 4 - `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`: None - `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 - `gradient_checkpointing`: True - `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 - `dispatch_batches`: None - `split_batches`: 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 - `eval_use_gather_object`: False - `average_tokens_across_devices`: False - `prompts`: None - `batch_sampler`: no_duplicates - `multi_dataset_batch_sampler`: proportional
### Training Logs | 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 | 46 | - | 0.4144 | 0.4153 | 0.3957 | 0.3746 | 0.3258 | | 1.0884 | 50 | 4.709 | - | - | - | - | - | | 2.0 | 92 | - | 0.4353 | 0.4223 | 0.4205 | 0.3787 | 0.3343 | | 2.1768 | 100 | 2.4455 | - | - | - | - | - | | **3.0** | **138** | **-** | **0.4278** | **0.419** | **0.4156** | **0.3866** | **0.3398** | | 3.2652 | 150 | 1.5083 | - | - | - | - | - | | 3.9282 | 180 | - | 0.4355 | 0.4215 | 0.4133 | 0.3835 | 0.3302 | * The bold row denotes the saved checkpoint. ### Framework Versions - Python: 3.12.8 - Sentence Transformers: 3.3.1 - Transformers: 4.47.1 - PyTorch: 2.5.1+cu124 - Accelerate: 1.2.1 - Datasets: 2.19.2 - Tokenizers: 0.21.0 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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", } ``` #### MatryoshkaLoss ```bibtex @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} } ``` #### MultipleNegativesRankingLoss ```bibtex @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} } ```