sentence-transformers safetensors bert sentence-similarity feature-extraction generated_from_trainer dataset_size:882 loss:MatryoshkaLoss loss:TripletLoss en arxiv:1908.10084 arxiv:2205.13147 arxiv:1703.07737 base_model:BAAI/bge-base-en-v1.5 base_model:finetune:BAAI/bge-base-en-v1.5 license:apache-2.0 model-index autotrain_compatible text-embeddings-inference endpoints_compatible region:us
---
base_model: BAAI/bge-base-en-v1.5
datasets: []
language:
- en
library_name: sentence-transformers
license: apache-2.0
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
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:882
- loss:MatryoshkaLoss
- loss:TripletLoss
widget:
- source_sentence: 'hide: footer


    Fields


    Fields in Argilla are define the content of a record that will be reviewed by
    a user.'
  sentences:
  - The tourists tried to hide their footprints in the sand as they walked along the
    deserted beach.
  - Can the rg.Suggestion class be used to handle model predictions in Argilla?
  - Can users customize the fields in Argilla to fit their specific annotation needs?
- source_sentence: "=== \"Single condition\"\n\n=== \"Multiple conditions\"\n\nFilter\
    \ by status\n\nYou can filter records based on their status. The status can be\
    \ pending, draft, submitted, or discarded.\n\n```python\nimport argilla_sdk as\
    \ rg\n\nclient = rg.Argilla(api_url=\"\", api_key=\"\")\n\nworkspace = client.workspaces(\"\
    my_workspace\")\n\ndataset = client.datasets(name=\"my_dataset\", workspace=workspace)\n\
    \nstatus_filter = rg.Query(\n    filter = rg.Filter((\"status\", \"==\", \"submitted\"\
    ))\n)"
  sentences:
  - The submitted application was rejected due to incomplete documentation.
  - How can I apply filters to records by their status in Argilla?
  - Can Argilla's IntegerMetadataProperty support a range of integer values as metadata?
- source_sentence: 'description: In this section, we will provide a step-by-step guide
    to show how to filter and query a dataset.


    Query, filter, and export records


    This guide provides an overview of how to query and filter a dataset in Argilla
    and export records.'
  sentences:
  - The new restaurant in town offers a unique filter coffee that is a must-try for
    coffee enthusiasts.
  - Is it possible to design a user role with tailored access permissions within Argilla?
  - Can Argilla be employed to search and filter datasets based on particular requirements
    or keywords?
- source_sentence: 'hide: footer


    Fields


    Fields in Argilla are define the content of a record that will be reviewed by
    a user.'
  sentences:
  - Is it possible for annotators to tailor Argilla's fields to their unique annotation
    requirements?
  - The tourists tried to hide their footprints in the sand as they walked along the
    deserted beach.
  - Can this partnership with Prolific provide researchers with a broader range of
    annotators to draw from, enhancing the quality of their studies?
- source_sentence: 'hide: footer


    rg.Argilla


    To interact with the Argilla server from python you can use the Argilla class.
    The Argilla client is used to create, get, update, and delete all Argilla resources,
    such as workspaces, users, datasets, and records.


    Usage Examples


    Connecting to an Argilla server


    To connect to an Argilla server, instantiate the Argilla class and pass the api_url
    of the server and the api_key to authenticate.


    ```python

    import argilla_sdk as rg'
  sentences:
  - Can the Argilla class be employed to streamline dataset administration tasks in
    my Argilla server setup?
  - Is it possible to create new data entries in my dataset via Argilla's annotation
    tools?
  - The Argilla flowers were blooming beautifully in the garden.
model-index:
- name: BGE base ArgillaSDK Matryoshka
  results:
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 768
      type: dim_768
    metrics:
    - type: cosine_accuracy@1
      value: 0.1326530612244898
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.2857142857142857
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.3877551020408163
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.5204081632653061
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.1326530612244898
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.09523809523809525
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.07755102040816327
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.05204081632653061
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.1326530612244898
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.2857142857142857
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.3877551020408163
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.5204081632653061
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.3086125494748455
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.24321752510528016
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.26038538311827203
      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.10204081632653061
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.2755102040816326
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.3877551020408163
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.5102040816326531
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.10204081632653061
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.09183673469387756
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.07755102040816327
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.05102040816326531
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.10204081632653061
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.2755102040816326
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.3877551020408163
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.5102040816326531
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.29420081448590024
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.22640913508260446
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.24259809105769914
      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.12244897959183673
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.2755102040816326
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.3877551020408163
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.5
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.12244897959183673
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.09183673469387753
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.07755102040816327
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.049999999999999996
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.12244897959183673
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.2755102040816326
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.3877551020408163
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.5
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.2931450934182018
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.2290937803692905
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.24454883014070852
      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.09183673469387756
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.25510204081632654
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.3163265306122449
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.46938775510204084
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.09183673469387756
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.08503401360544219
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.06326530612244897
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.046938775510204075
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.09183673469387756
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.25510204081632654
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.3163265306122449
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.46938775510204084
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.2629197762336244
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.1992265954000647
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.2164845577697655
      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.08163265306122448
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.25510204081632654
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.3163265306122449
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.47959183673469385
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.08163265306122448
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.08503401360544219
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.06326530612244897
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.04795918367346938
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.08163265306122448
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.25510204081632654
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.3163265306122449
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.47959183673469385
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.2610977190273289
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.19399497894395853
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.20591442395637935
      name: Cosine Map@100
---

# BGE base ArgillaSDK Matryoshka

This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5). 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:** [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) <!-- at revision a5beb1e3e68b9ab74eb54cfd186867f64f240e1a -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 tokens
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
- **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': True}) with Transformer model: BertModel 
  (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:

```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("plaguss/bge-base-argilla-sdk-matryoshka")
# Run inference
sentences = [
    'hide: footer\n\nrg.Argilla\n\nTo interact with the Argilla server from python you can use the Argilla class. The Argilla client is used to create, get, update, and delete all Argilla resources, such as workspaces, users, datasets, and records.\n\nUsage Examples\n\nConnecting to an Argilla server\n\nTo connect to an Argilla server, instantiate the Argilla class and pass the api_url of the server and the api_key to authenticate.\n\n```python\nimport argilla_sdk as rg',
    'Can the Argilla class be employed to streamline dataset administration tasks in my Argilla server setup?',
    'The Argilla flowers were blooming beautifully in the garden.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
```

<!--
### Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details>
-->

<!--
### Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details>
-->

<!--
### Out-of-Scope Use

*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->

## Evaluation

### Metrics

#### Information Retrieval
* Dataset: `dim_768`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.1327     |
| cosine_accuracy@3   | 0.2857     |
| cosine_accuracy@5   | 0.3878     |
| cosine_accuracy@10  | 0.5204     |
| cosine_precision@1  | 0.1327     |
| cosine_precision@3  | 0.0952     |
| cosine_precision@5  | 0.0776     |
| cosine_precision@10 | 0.052      |
| cosine_recall@1     | 0.1327     |
| cosine_recall@3     | 0.2857     |
| cosine_recall@5     | 0.3878     |
| cosine_recall@10    | 0.5204     |
| cosine_ndcg@10      | 0.3086     |
| cosine_mrr@10       | 0.2432     |
| **cosine_map@100**  | **0.2604** |

#### Information Retrieval
* Dataset: `dim_512`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.102      |
| cosine_accuracy@3   | 0.2755     |
| cosine_accuracy@5   | 0.3878     |
| cosine_accuracy@10  | 0.5102     |
| cosine_precision@1  | 0.102      |
| cosine_precision@3  | 0.0918     |
| cosine_precision@5  | 0.0776     |
| cosine_precision@10 | 0.051      |
| cosine_recall@1     | 0.102      |
| cosine_recall@3     | 0.2755     |
| cosine_recall@5     | 0.3878     |
| cosine_recall@10    | 0.5102     |
| cosine_ndcg@10      | 0.2942     |
| cosine_mrr@10       | 0.2264     |
| **cosine_map@100**  | **0.2426** |

#### Information Retrieval
* Dataset: `dim_256`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.1224     |
| cosine_accuracy@3   | 0.2755     |
| cosine_accuracy@5   | 0.3878     |
| cosine_accuracy@10  | 0.5        |
| cosine_precision@1  | 0.1224     |
| cosine_precision@3  | 0.0918     |
| cosine_precision@5  | 0.0776     |
| cosine_precision@10 | 0.05       |
| cosine_recall@1     | 0.1224     |
| cosine_recall@3     | 0.2755     |
| cosine_recall@5     | 0.3878     |
| cosine_recall@10    | 0.5        |
| cosine_ndcg@10      | 0.2931     |
| cosine_mrr@10       | 0.2291     |
| **cosine_map@100**  | **0.2445** |

#### Information Retrieval
* Dataset: `dim_128`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.0918     |
| cosine_accuracy@3   | 0.2551     |
| cosine_accuracy@5   | 0.3163     |
| cosine_accuracy@10  | 0.4694     |
| cosine_precision@1  | 0.0918     |
| cosine_precision@3  | 0.085      |
| cosine_precision@5  | 0.0633     |
| cosine_precision@10 | 0.0469     |
| cosine_recall@1     | 0.0918     |
| cosine_recall@3     | 0.2551     |
| cosine_recall@5     | 0.3163     |
| cosine_recall@10    | 0.4694     |
| cosine_ndcg@10      | 0.2629     |
| cosine_mrr@10       | 0.1992     |
| **cosine_map@100**  | **0.2165** |

#### Information Retrieval
* Dataset: `dim_64`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.0816     |
| cosine_accuracy@3   | 0.2551     |
| cosine_accuracy@5   | 0.3163     |
| cosine_accuracy@10  | 0.4796     |
| cosine_precision@1  | 0.0816     |
| cosine_precision@3  | 0.085      |
| cosine_precision@5  | 0.0633     |
| cosine_precision@10 | 0.048      |
| cosine_recall@1     | 0.0816     |
| cosine_recall@3     | 0.2551     |
| cosine_recall@5     | 0.3163     |
| cosine_recall@10    | 0.4796     |
| cosine_ndcg@10      | 0.2611     |
| cosine_mrr@10       | 0.194      |
| **cosine_map@100**  | **0.2059** |

<!--
## Bias, Risks and Limitations

*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->

<!--
### Recommendations

*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->

## Training Details

### Training Dataset

#### Unnamed Dataset


* Size: 882 training samples
* Columns: <code>anchor</code>, <code>positive</code>, and <code>negative</code>
* Approximate statistics based on the first 1000 samples:
  |         | anchor                                                                             | positive                                                                          | negative                                                                           |
  |:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
  | type    | string                                                                             | string                                                                            | string                                                                             |
  | details | <ul><li>min: 6 tokens</li><li>mean: 90.85 tokens</li><li>max: 198 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 25.44 tokens</li><li>max: 91 tokens</li></ul> | <ul><li>min: 10 tokens</li><li>mean: 22.33 tokens</li><li>max: 61 tokens</li></ul> |
* Samples:
  | anchor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | positive                                                                                                                                                                | negative                                                                                                                                                                                                      |
  |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | <code>``<br>!!! note "Update the metadata"<br>    ThemetadataofRecordobject is a python dictionary. So to update the metadata of a record, you can iterate over the records and update the metadata by key or usingmetadata.update`. After that, you should update the records in the dataset.</code>                                                                                                                                                                                                       | <code>Can I use Argilla to annotate the metadata of Record objects and update them in the dataset?</code>                                                               | <code>The beautiful scenery of the Argilla valley in Italy is perfect for a relaxing summer vacation.</code>                                                                                                  |
  | <code>git checkout [branch-name]<br>git rebase [default-branch]<br>```<br><br>If everything is right, we need to commit and push the changes to your fork. For that, run the following commands:<br><br>```sh<br><br>Add the changes to the staging area<br><br>git add filename<br><br>Commit the changes by writing a proper message<br><br>git commit -m "commit-message"<br><br>Push the changes to your fork</code>                                                                                    | <code>Can I commit Argilla's annotation changes and push them to a forked project repository after rebasing from the default branch?</code>                             | <code>The beautiful beach in Argilla, Spain, is a popular spot for surfers to catch a wave and enjoy the sunny weather.</code>                                                                                |
  | <code>Accessing Record Attributes<br><br>The Record object has suggestions, responses, metadata, and vectors attributes that can be accessed directly whilst iterating over records in a dataset.<br><br>python<br>for record in dataset.records(<br>    with_suggestions=True,<br>    with_responses=True,<br>    with_metadata=True,<br>    with_vectors=True<br>    ):<br>    print(record.suggestions)<br>    print(record.responses)<br>    print(record.metadata)<br>    print(record.vectors)</code> | <code>Is it possible to retrieve the suggestions, responses, metadata, and vectors of a Record object at the same time when iterating over a dataset in Argilla?</code> | <code>The new hiking trail offered breathtaking suggestions for scenic views, responses to environmental concerns, and metadata about the surrounding ecosystem, but it lacked vectors for navigation.</code> |
* Loss: [<code>MatryoshkaLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
  ```json
  {
      "loss": "TripletLoss",
      "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_eval_batch_size`: 4
- `gradient_accumulation_steps`: 4
- `learning_rate`: 2e-05
- `lr_scheduler_type`: cosine
- `warmup_ratio`: 0.1
- `load_best_model_at_end`: True

#### All Hyperparameters
<details><summary>Click to expand</summary>

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: epoch
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 8
- `per_device_eval_batch_size`: 4
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 4
- `eval_accumulation_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`: 3
- `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`: False
- `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
- `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`: False
- `hub_always_push`: False
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `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
- `batch_sampler`: batch_sampler
- `multi_dataset_batch_sampler`: proportional

</details>

### Training Logs
| Epoch     | Step   | Training Loss | dim_128_cosine_map@100 | dim_256_cosine_map@100 | dim_512_cosine_map@100 | dim_64_cosine_map@100 | dim_768_cosine_map@100 |
|:---------:|:------:|:-------------:|:----------------------:|:----------------------:|:----------------------:|:---------------------:|:----------------------:|
| 0.1802    | 5      | 21.701        | -                      | -                      | -                      | -                     | -                      |
| 0.3604    | 10     | 21.7449       | -                      | -                      | -                      | -                     | -                      |
| 0.5405    | 15     | 21.7453       | -                      | -                      | -                      | -                     | -                      |
| 0.7207    | 20     | 21.7168       | -                      | -                      | -                      | -                     | -                      |
| 0.9009    | 25     | 21.6945       | -                      | -                      | -                      | -                     | -                      |
| **0.973** | **27** | **-**         | **0.2165**             | **0.2445**             | **0.2426**             | **0.2059**            | **0.2604**             |
| 1.0811    | 30     | 21.7248       | -                      | -                      | -                      | -                     | -                      |
| 1.2613    | 35     | 21.7322       | -                      | -                      | -                      | -                     | -                      |
| 1.4414    | 40     | 21.7367       | -                      | -                      | -                      | -                     | -                      |
| 1.6216    | 45     | 21.6821       | -                      | -                      | -                      | -                     | -                      |
| 1.8018    | 50     | 21.8392       | -                      | -                      | -                      | -                     | -                      |
| 1.9820    | 55     | 21.6441       | 0.2165                 | 0.2445                 | 0.2426                 | 0.2059                | 0.2604                 |
| 2.1622    | 60     | 21.8154       | -                      | -                      | -                      | -                     | -                      |
| 2.3423    | 65     | 21.7098       | -                      | -                      | -                      | -                     | -                      |
| 2.5225    | 70     | 21.6447       | -                      | -                      | -                      | -                     | -                      |
| 2.7027    | 75     | 21.6033       | -                      | -                      | -                      | -                     | -                      |
| 2.8829    | 80     | 21.8271       | -                      | -                      | -                      | -                     | -                      |
| 2.9189    | 81     | -             | 0.2165                 | 0.2445                 | 0.2426                 | 0.2059                | 0.2604                 |

* The bold row denotes the saved checkpoint.

### Framework Versions
- Python: 3.11.8
- Sentence Transformers: 3.0.1
- Transformers: 4.41.2
- PyTorch: 2.1.2
- Accelerate: 0.31.0
- Datasets: 2.19.2
- Tokenizers: 0.19.1

## 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}
}
```

#### TripletLoss
```bibtex
@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification}, 
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
```

<!--
## Glossary

*Clearly define terms in order to be accessible across audiences.*
-->

<!--
## Model Card Authors

*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->

<!--
## Model Card Contact

*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->