--- language: - en license: apache-2.0 tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:5115 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: mixedbread-ai/mxbai-embed-large-v1 widget: - source_sentence: gepackte Zahl in ein Integerfeld stellen, oder was geschieht, wenn Sie eine gepackte Zahl zum Inhalt eines Datumsfeldes addieren, oder was geschieht, wenn Sie eine gepackte Zahl in ein Cha- racter-Feld schreiben. Lassen Sie uns hierzu eine Konvertierungsregel als Beispiel ansehen. Dezimalzahl in ganze Zahl umwandeln Ist der Quelltyp ein Datenobjekt vom Typ p und der Zieltyp ein Daten- objekt vom Typ i (eine ganze Zahl), rundet das System die Dezimalstel- len des Quellfeldes und stellt den Inhalt rechtsbündig in das Zielfeld. I d Zi lf ld i Lä h i h d i d li k i N ll sentences: - Wie kann eine selbst entwickelte Pflegetransaktion für Geschäftsregeln oder sonstige Customizing-Inhalte helfen? - Welche Technologien bietet der ABAP-Stack zur Schnittstellenentwicklung an? - Welche Gründe sprechen gegen die Verwendung von Tabellen mit Kopfzeile in der heutigen ABAP-Entwicklung? - source_sentence: Systemkontext Das SAP BTP, ABAP Environment ist eine rein technische Plattform (ohne installierte Anwendungssoftware) und in einen bestimmten Systemkon- text eingebettet, innerhalb dessen Sie Anwendungen entwickeln und be- treiben können (siehe Abbildung 12.1). ABAP Development Tools SAP Fiori Tools Git- Repository abapGit heißt im unternehmenseigenen Netzwerk) installiert und baut ausgehend von diesem lokalen Netzwerk eine sichere Verbindung zur SAP BTP auf. SAP-Fiori-Apps Zur Bereitstellung Ihrer RAP-Anwendungen besitzt das ABAP Environment ein eigenes SAP Fiori Launchpad, das als Eintrittspunkt für verschiedene SAP-Fiori-Apps dienen kann und das Sie über einen Webbrowser erreichen (siehe Abschnitt 12.3, »SAP-Fiori-Apps bereitstellen und Berechtigungen vergeben«). Ihre eigenen sentences: - Wie kann man die Vorschau in der Inbox des Benutzers programmieren, sodass sie leistungsfähig und schnell ist und unerträgliche Wartezeiten bei der Arbeit mit dem SAP Business Workplace verhindert? - Was passiert beim Debuggen, wenn Checkpoints durch einen Doppelklick auf die Anweisung und Bestätigen angelegt werden? - Welche Tools werden im ABAP Environment für die Entwicklung von SAP Fiori-Anwendungen sowie für das Deployment und die Bereitstellung dieser Anwendungen verwendet, wobei auch die Verwendung der technischen Infrastrukturkomponenten berücksichtigt werden muss? - source_sentence: "sind das MVC-Modell und der Datenteil des (OData-) Services verpflichtend.\ \ Die Annotationen und UI-Anpassungen (dazu im Folgenden mehr) dienen der effizienteren\ \ Entwicklung und Erweiterbar- keit. UI Model View Controller Annotationen UI-Anpassungsmodus\ \ adaptieren/ erweitern nen, ist beschränkt. Abschnitt 3.2.4, »Anwendungen«, listet\ \ die Möglich- keiten auf, die zum Zeitpunkt der Drucklegung dieses Buches bestehen.\ \ In diesem Abschnitt beschreiben wir auch, wie Sie diese Änderungen als Anwendungsexperte\ \ an den betriebenen Oberflächen durchführen. Die SAP Web IDE auf der SAP Cloud\ \ Platform bietet eine alternative Möglich- keit, um solche Anpassungen als Entwickler\ \ zu erstellen. \x02 Annotationen Annotationen können im OData-Service über Erweiterungstechniken\ \ der jeweiligen" sentences: - Wie kann SAP Screen Personas bei der Implementierung eines ABAP-Skriptes, das unter einer Sekunde laufen muss, unterstützen? - Wie müssen die Verarbeitungszeitpunkte im PBO-Block, wenn eine interne Tabelle mit doppelten Einträgen verwendet wird und die Datenbanktabelle komplett gelesen werden soll? - Wie kann ich den Pretty-Printer über (F1) nutzen? - source_sentence: zu dem passt, was das Frame- work erwartet. Sie müssen gewissermaßen sicherstellen, dass sie auch die gleiche Sprache sprechen, wenn der ersehnte Anruf aus Hollywood kommt. Wichtige Frameworks im SAP-Standard Was macht einen guten und erfahrenen ABAP-Programmierer aus? Darüber kann man viele interessante Diskussionen führen. Eine der wesentlichen Komponenten dürfte die Kenntnis der im ABAP-Server nutzbaren Frameworks sein. Die im Folgenden vorgestellten Frameworks sind in erster Linie für Sie Web Dynpro ABAP Nachfolger der klassischen Dynpros Web Dynpro ABAP ist eine der wichtigsten Neuerungen der letzten zehn Jahre in der SAP-Welt. Es handelt sich dabei um eine Oberflä- chentechnologie, also sentences: - Was passiert, wenn man versucht, einen Datensatz in einer Datenbanktabelle zu modifizieren, aber kein Satz mit demselben Primärschlüssel existiert, und wie kann man den Returncode identifizieren? - Wie kann man die Rollenzuordnung zu seinem Benutzer in der Benutzerpflege (SU01) anzeigen lassen? - Was sind die Vorteile von Web Dynpro ABAP? - source_sentence: 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 sentences: - 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? - Wie kann man das Visitor Pattern in ABAP umsetzen, indem man definiert, wie ein abstraktes Element von einem Besucher besucht werden soll? 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/mxbai-embed-large-v1 results: - task: type: information-retrieval name: Information Retrieval dataset: name: dim 768 type: dim_768 metrics: - type: cosine_accuracy@1 value: 0.08963093145869948 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.20210896309314588 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.2601054481546573 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.4182776801405975 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.08963093145869948 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.06736965436438194 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.05202108963093146 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.041827768014059755 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.08963093145869948 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.20210896309314588 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.2601054481546573 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.4182776801405975 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.2286145159685347 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.17133442129048454 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.18651234259488886 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.09490333919156414 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.20035149384885764 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.2618629173989455 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.4147627416520211 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.09490333919156414 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.06678383128295255 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.0523725834797891 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.0414762741652021 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.09490333919156414 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.20035149384885764 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.2618629173989455 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.4147627416520211 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.23048397423019637 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.1748068178648144 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.19003346049167824 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.09314586994727592 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.20035149384885764 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.2548330404217926 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.39718804920913886 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.09314586994727592 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.06678383128295255 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.050966608084358524 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.03971880492091388 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.09314586994727592 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.20035149384885764 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.2548330404217926 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.39718804920913886 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.22531472414554513 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.1728798783719698 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.18866030878645856 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.0773286467486819 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.18453427065026362 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.26537785588752194 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.39718804920913886 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.0773286467486819 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.061511423550087874 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.053075571177504395 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.03971880492091388 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.0773286467486819 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.18453427065026362 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.26537785588752194 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.39718804920913886 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.21527271607083312 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.1597720869249868 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.17541010404455568 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.06678383128295255 name: Cosine Accuracy@1 - type: cosine_accuracy@3 value: 0.1687170474516696 name: Cosine Accuracy@3 - type: cosine_accuracy@5 value: 0.2530755711775044 name: Cosine Accuracy@5 - type: cosine_accuracy@10 value: 0.38137082601054484 name: Cosine Accuracy@10 - type: cosine_precision@1 value: 0.06678383128295255 name: Cosine Precision@1 - type: cosine_precision@3 value: 0.056239015817223195 name: Cosine Precision@3 - type: cosine_precision@5 value: 0.050615114235500885 name: Cosine Precision@5 - type: cosine_precision@10 value: 0.03813708260105448 name: Cosine Precision@10 - type: cosine_recall@1 value: 0.06678383128295255 name: Cosine Recall@1 - type: cosine_recall@3 value: 0.1687170474516696 name: Cosine Recall@3 - type: cosine_recall@5 value: 0.2530755711775044 name: Cosine Recall@5 - type: cosine_recall@10 value: 0.38137082601054484 name: Cosine Recall@10 - type: cosine_ndcg@10 value: 0.1993984243853605 name: Cosine Ndcg@10 - type: cosine_mrr@10 value: 0.14423661673222307 name: Cosine Mrr@10 - type: cosine_map@100 value: 0.1585449114563028 name: Cosine Map@100 --- # mixedbread-ai/mxbai-embed-large-v1 This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [mixedbread-ai/mxbai-embed-large-v1](https://huggingface.co./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. ## Model Details ### Model Description - **Model Type:** Sentence Transformer - **Base model:** [mixedbread-ai/mxbai-embed-large-v1](https://huggingface.co./mixedbread-ai/mxbai-embed-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: 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}) ) ``` ## 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-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] ``` ## 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.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 | ## Training Details ### Training Dataset #### json * Dataset: json * Size: 5,115 training samples * Columns: positive and anchor * Approximate statistics based on the first 1000 samples: | | positive | anchor | |:--------|:-------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | positive | anchor | |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------| | 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 | Was passiert, wenn eine interne Tabelle ohne Kopfzeile deklariert ist? | | 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 | Was ist das Ziel von Refactoring? | | 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 | Welche Funktionen bietet SAP CRM? | * 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 | 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 | * 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} } ```