kenoc's picture
Add new SentenceTransformer model
ecae0e2 verified
metadata
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 model finetuned from 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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json
  • Language: en
  • License: apache-2.0

Model Sources

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:

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-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

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
    • min: 17 tokens
    • mean: 181.9 tokens
    • max: 460 tokens
    • min: 6 tokens
    • mean: 33.97 tokens
    • max: 112 tokens
  • 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 with these parameters:
    {
        "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

@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

@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

@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}
}