sentence-transformers safetensors qwen2 sentence-similarity feature-extraction generated_from_trainer dataset_size:693000 loss:MatryoshkaLoss loss:MultipleNegativesRankingLoss custom_code arxiv:1908.10084 arxiv:2205.13147 arxiv:1705.00652 base_model:NovaSearch/stella_en_1.5B_v5 base_model:finetune:NovaSearch/stella_en_1.5B_v5 model-index autotrain_compatible text-embeddings-inference endpoints_compatible region:us
---
base_model: dunzhang/stella_en_1.5B_v5
datasets: []
language: []
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
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:693000
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
widget:
- source_sentence: Paracrystalline materials are defined as having short and medium
    range ordering in their lattice (similar to the liquid crystal phases) but lacking
    crystal-like long-range ordering at least in one direction.
  sentences:
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Paracrystalline'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Øystein Dahle'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Makis Belevonis'
- source_sentence: 'Hạ Trạch is a commune ( xã ) and village in Bố Trạch District
    , Quảng Bình Province , in Vietnam .   Category : Populated places in Quang Binh
    Province  Category : Communes of Quang Binh Province'
  sentences:
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: The Taill of how this forsaid Tod maid his Confessioun to Freir Wolf Waitskaith'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Hạ Trạch'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Tadaxa'
- source_sentence: The Golden Mosque (سنهرى مسجد, Sunehri Masjid) is a mosque in Old
    Delhi. It is located outside the southwestern corner of Delhi Gate of the Red
    Fort, opposite the Netaji Subhash Park.
  sentences:
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Algorithm'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Golden Mosque (Red Fort)'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Parnaso Español'
- source_sentence: Unibank, S.A. is one of Haiti's two largest private commercial
    banks. The bank was founded in 1993 by a group of Haitian investors and is the
    main company of "Groupe Financier National (GFN)". It opened its first office
    in July 1993 in downtown Port-au-Prince and has 50 branches throughout the country
    as of the end of 2016.
  sentences:
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Sky TG24'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Ghomijeh'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Unibank (Haiti)'
- source_sentence: The Tchaikovsky Symphony Orchestra is a Russian classical music
    orchestra established in 1930. It was founded as the Moscow Radio Symphony Orchestra,
    and served as the official symphony for the Soviet All-Union Radio network. Following
    the dissolution of the, Soviet Union in 1991, the orchestra was renamed in 1993
    by the Russian Ministry of Culture in recognition of the central role the music
    of Tchaikovsky plays in its repertoire. The current music director is Vladimir
    Fedoseyev, who has been in that position since 1974.
  sentences:
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Harald J.W. Mueller-Kirsten'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Sierra del Lacandón'
  - 'Instruct: Given a web search query, retrieve relevant passages that answer the
    query.

    Query: Tchaikovsky Symphony Orchestra'
model-index:
- name: SentenceTransformer based on dunzhang/stella_en_1.5B_v5
  results:
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: Unknown
      type: unknown
    metrics:
    - type: cosine_accuracy@1
      value: 0.9457912457912457
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.9686868686868687
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.9750841750841751
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.9818181818181818
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.9457912457912457
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.3228956228956229
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.195016835016835
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09818181818181818
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.9457912457912457
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.9686868686868687
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.9750841750841751
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.9818181818181818
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.9641837379281919
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.9584885895997006
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.9590455638710143
      name: Cosine Map@100
    - type: cosine_accuracy@1
      value: 0.9447811447811448
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.9696969696969697
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.9754208754208754
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.9824915824915825
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.9447811447811448
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.32323232323232326
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.19508417508417508
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09824915824915824
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.9447811447811448
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.9696969696969697
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.9754208754208754
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.9824915824915825
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.9641053714591453
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.9581715301159749
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.9586773165340671
      name: Cosine Map@100
    - type: cosine_accuracy@1
      value: 0.9447811447811448
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.9673400673400674
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.9720538720538721
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.9804713804713805
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.9447811447811448
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.32244668911335583
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.19441077441077437
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09804713804713805
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.9447811447811448
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.9673400673400674
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.9720538720538721
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.9804713804713805
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.9628692157043424
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.9572219549997326
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.9577987764578036
      name: Cosine Map@100
---

# SentenceTransformer based on dunzhang/stella_en_1.5B_v5

This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [dunzhang/stella_en_1.5B_v5](https://huggingface.co/dunzhang/stella_en_1.5B_v5). 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:** [dunzhang/stella_en_1.5B_v5](https://huggingface.co/dunzhang/stella_en_1.5B_v5) <!-- at revision 129dc50d3ca5f0f5ee0ce8944f65a8553c0f26e0 -->
- **Maximum Sequence Length:** 8096 tokens
- **Output Dimensionality:** 1024 tokens
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->

### 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': 8096, 'do_lower_case': False}) with Transformer model: Qwen2Model 
  (1): Pooling({'word_embedding_dimension': 1536, '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): Dense({'in_features': 1536, 'out_features': 1024, 'bias': True, 'activation_function': 'torch.nn.modules.linear.Identity'})
)
```

## 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("sentence_transformers_model_id")
# Run inference
sentences = [
    'The Tchaikovsky Symphony Orchestra is a Russian classical music orchestra established in 1930. It was founded as the Moscow Radio Symphony Orchestra, and served as the official symphony for the Soviet All-Union Radio network. Following the dissolution of the, Soviet Union in 1991, the orchestra was renamed in 1993 by the Russian Ministry of Culture in recognition of the central role the music of Tchaikovsky plays in its repertoire. The current music director is Vladimir Fedoseyev, who has been in that position since 1974.',
    'Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: Tchaikovsky Symphony Orchestra',
    'Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: Sierra del Lacandón',
]
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]
```

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

* 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.9458    |
| cosine_accuracy@3   | 0.9687    |
| cosine_accuracy@5   | 0.9751    |
| cosine_accuracy@10  | 0.9818    |
| cosine_precision@1  | 0.9458    |
| cosine_precision@3  | 0.3229    |
| cosine_precision@5  | 0.195     |
| cosine_precision@10 | 0.0982    |
| cosine_recall@1     | 0.9458    |
| cosine_recall@3     | 0.9687    |
| cosine_recall@5     | 0.9751    |
| cosine_recall@10    | 0.9818    |
| cosine_ndcg@10      | 0.9642    |
| cosine_mrr@10       | 0.9585    |
| **cosine_map@100**  | **0.959** |

#### Information Retrieval

* 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.9448     |
| cosine_accuracy@3   | 0.9697     |
| cosine_accuracy@5   | 0.9754     |
| cosine_accuracy@10  | 0.9825     |
| cosine_precision@1  | 0.9448     |
| cosine_precision@3  | 0.3232     |
| cosine_precision@5  | 0.1951     |
| cosine_precision@10 | 0.0982     |
| cosine_recall@1     | 0.9448     |
| cosine_recall@3     | 0.9697     |
| cosine_recall@5     | 0.9754     |
| cosine_recall@10    | 0.9825     |
| cosine_ndcg@10      | 0.9641     |
| cosine_mrr@10       | 0.9582     |
| **cosine_map@100**  | **0.9587** |

#### Information Retrieval

* 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.9448     |
| cosine_accuracy@3   | 0.9673     |
| cosine_accuracy@5   | 0.9721     |
| cosine_accuracy@10  | 0.9805     |
| cosine_precision@1  | 0.9448     |
| cosine_precision@3  | 0.3224     |
| cosine_precision@5  | 0.1944     |
| cosine_precision@10 | 0.098      |
| cosine_recall@1     | 0.9448     |
| cosine_recall@3     | 0.9673     |
| cosine_recall@5     | 0.9721     |
| cosine_recall@10    | 0.9805     |
| cosine_ndcg@10      | 0.9629     |
| cosine_mrr@10       | 0.9572     |
| **cosine_map@100**  | **0.9578** |

<!--
## 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 Hyperparameters
#### Non-Default Hyperparameters

- `eval_strategy`: steps
- `per_device_eval_batch_size`: 4
- `gradient_accumulation_steps`: 4
- `learning_rate`: 2e-05
- `max_steps`: 1500
- `lr_scheduler_type`: cosine
- `warmup_ratio`: 0.1
- `warmup_steps`: 5
- `bf16`: True
- `tf32`: True
- `optim`: adamw_torch_fused
- `gradient_checkpointing`: True
- `gradient_checkpointing_kwargs`: {'use_reentrant': False}
- `batch_sampler`: no_duplicates

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

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: steps
- `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.0
- `max_steps`: 1500
- `lr_scheduler_type`: cosine
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0.1
- `warmup_steps`: 5
- `log_level`: passive
- `log_level_replica`: warning
- `log_on_each_node`: True
- `logging_nan_inf_filter`: True
- `save_safetensors`: True
- `save_on_each_node`: False
- `save_only_model`: False
- `restore_callback_states_from_checkpoint`: False
- `no_cuda`: False
- `use_cpu`: False
- `use_mps_device`: False
- `seed`: 42
- `data_seed`: None
- `jit_mode_eval`: False
- `use_ipex`: False
- `bf16`: True
- `fp16`: False
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: True
- `local_rank`: 0
- `ddp_backend`: None
- `tpu_num_cores`: None
- `tpu_metrics_debug`: False
- `debug`: []
- `dataloader_drop_last`: True
- `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`: False
- `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`: False
- `hub_always_push`: False
- `gradient_checkpointing`: True
- `gradient_checkpointing_kwargs`: {'use_reentrant': False}
- `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`: no_duplicates
- `multi_dataset_batch_sampler`: proportional

</details>

### Training Logs
| Epoch  | Step | Training Loss | loss   | cosine_map@100 |
|:------:|:----:|:-------------:|:------:|:--------------:|
| 0.0185 | 100  | 0.4835        | 0.0751 | 0.9138         |
| 0.0369 | 200  | 0.0646        | 0.0590 | 0.9384         |
| 0.0554 | 300  | 0.0594        | 0.0519 | 0.9462         |
| 0.0739 | 400  | 0.0471        | 0.0483 | 0.9514         |
| 0.0924 | 500  | 0.0524        | 0.0455 | 0.9531         |
| 0.1108 | 600  | 0.0435        | 0.0397 | 0.9546         |
| 0.1293 | 700  | 0.0336        | 0.0394 | 0.9549         |
| 0.1478 | 800  | 0.0344        | 0.0374 | 0.9565         |
| 0.1662 | 900  | 0.0393        | 0.0361 | 0.9568         |
| 0.1847 | 1000 | 0.0451        | 0.0361 | 0.9578         |


### Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.0.1
- Transformers: 4.41.2
- PyTorch: 2.2.0+cu121
- Accelerate: 0.33.0
- Datasets: 2.20.0
- 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}
}
```

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

<!--
## 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.*
-->