---
base_model: answerdotai/ModernBERT-large
datasets:
- sentence-transformers/stsb
language:
- en
library_name: sentence-transformers
metrics:
- pearson_cosine
- spearman_cosine
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:5749
- loss:MatryoshkaLoss
- loss:CoSENTLoss
widget:
- source_sentence: The man talked to a girl over the internet camera.
  sentences:
  - A group of elderly people pose around a dining table.
  - A teenager talks to a girl over a webcam.
  - There is no 'still' that is not relative to some other object.
- source_sentence: A woman is writing something.
  sentences:
  - Two eagles are perched on a branch.
  - It refers to the maximum f-stop (which is defined as the ratio of focal length
    to effective aperture diameter).
  - A woman is chopping green onions.
- source_sentence: The player shoots the winning points.
  sentences:
  - Minimum wage laws hurt the least skilled, least productive the most.
  - The basketball player is about to score points for his team.
  - Sheep are grazing in the field in front of a line of trees.
- source_sentence: Stars form in star-formation regions, which itself develop from
    molecular clouds.
  sentences:
  - Although I believe Searle is mistaken, I don't think you have found the problem.
  - It may be possible for a solar system like ours to exist outside of a galaxy.
  - A blond-haired child performing on the trumpet in front of a house while his younger
    brother watches.
- source_sentence: While Queen may refer to both Queen regent (sovereign) or Queen
    consort, the King has always been the sovereign.
  sentences:
  - At first, I thought this is a bit of a tricky question.
  - A man sitting on the floor in a room is strumming a guitar.
  - There is a very good reason not to refer to the Queen's spouse as "King" - because
    they aren't the King.
model-index:
- name: SentenceTransformer based on answerdotai/ModernBERT-large
  results:
  - task:
      type: semantic-similarity
      name: Semantic Similarity
    dataset:
      name: sts dev
      type: sts-dev
    metrics:
    - type: pearson_cosine
      value: 0.8806182367761234
      name: Pearson Cosine
    - type: spearman_cosine
      value: 0.8877448358326038
      name: Spearman Cosine
  - task:
      type: semantic-similarity
      name: Semantic Similarity
    dataset:
      name: sts test
      type: sts-test
    metrics:
    - type: pearson_cosine
      value: 0.8505275385588008
      name: Pearson Cosine
    - type: spearman_cosine
      value: 0.8678439086871484
      name: Spearman Cosine
---
# SentenceTransformer based on answerdotai/ModernBERT-large
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [answerdotai/ModernBERT-large](https://huggingface.co/answerdotai/ModernBERT-large) on the [stsb](https://huggingface.co/datasets/sentence-transformers/stsb) 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:** [answerdotai/ModernBERT-large](https://huggingface.co/answerdotai/ModernBERT-large) 
- **Maximum Sequence Length:** 8192 tokens
- **Output Dimensionality:** 1024 dimensions
- **Similarity Function:** Cosine Similarity
- **Training Dataset:**
    - [stsb](https://huggingface.co/datasets/sentence-transformers/stsb)
- **Language:** en
### 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': 8192, 'do_lower_case': False}) with Transformer model: ModernBertModel 
  (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})
)
```
## 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("nickprock/ModernBERT-large-sts")
# Run inference
sentences = [
    'While Queen may refer to both Queen regent (sovereign) or Queen consort, the King has always been the sovereign.',
    'There is a very good reason not to refer to the Queen\'s spouse as "King" - because they aren\'t the King.',
    'A man sitting on the floor in a room is strumming a guitar.',
]
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
#### Semantic Similarity
* Datasets: `sts-dev` and `sts-test`
* Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator)
| Metric              | sts-dev    | sts-test   |
|:--------------------|:-----------|:-----------|
| pearson_cosine      | 0.8806     | 0.8505     |
| **spearman_cosine** | **0.8877** | **0.8678** |
## Training Details
### Training Dataset
#### stsb
* Dataset: [stsb](https://huggingface.co/datasets/sentence-transformers/stsb) at [ab7a5ac](https://huggingface.co/datasets/sentence-transformers/stsb/tree/ab7a5ac0e35aa22088bdcf23e7fd99b220e53308)
* Size: 5,749 training samples
* Columns: sentence1, sentence2, and score
* Approximate statistics based on the first 1000 samples:
  |         | sentence1                                                                         | sentence2                                                                         | score                                                          |
  |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------|
  | type    | string                                                                            | string                                                                            | float                                                          |
  | details | 
A plane is taking off.                        | An air plane is taking off.                              | 1.0  |
  | A man is playing a large flute.               | A man is playing a flute.                                | 0.76 |
  | A man is spreading shreded cheese on a pizza. | A man is spreading shredded cheese on an uncooked pizza. | 0.76 |
* Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
  ```json
  {
      "loss": "CoSENTLoss",
      "matryoshka_dims": [
          768,
          512,
          256,
          128,
          64
      ],
      "matryoshka_weights": [
          1,
          1,
          1,
          1,
          1
      ],
      "n_dims_per_step": -1
  }
  ```
### Evaluation Dataset
#### stsb
* Dataset: [stsb](https://huggingface.co/datasets/sentence-transformers/stsb) at [ab7a5ac](https://huggingface.co/datasets/sentence-transformers/stsb/tree/ab7a5ac0e35aa22088bdcf23e7fd99b220e53308)
* Size: 1,500 evaluation samples
* Columns: sentence1, sentence2, and score
* Approximate statistics based on the first 1000 samples:
  |         | sentence1                                                                         | sentence2                                                                        | score                                                          |
  |:--------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|:---------------------------------------------------------------|
  | type    | string                                                                            | string                                                                           | float                                                          |
  | details | A man with a hard hat is dancing.    | A man wearing a hard hat is dancing.     | 1.0  |
  | A young child is riding a horse.     | A child is riding a horse.               | 0.95 |
  | A man is feeding a mouse to a snake. | The man is feeding a mouse to the snake. | 1.0  |
* Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
  ```json
  {
      "loss": "CoSENTLoss",
      "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`: steps
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `num_train_epochs`: 10
- `warmup_ratio`: 0.1
- `fp16`: True
- `batch_sampler`: no_duplicates
#### All Hyperparameters