sentence-transformers safetensors distilbert sentence-similarity feature-extraction loss:TripletLoss en arxiv:1908.10084 arxiv:1703.07737 base_model:distilbert/distilbert-base-uncased base_model:finetune:distilbert/distilbert-base-uncased model-index co2_eq_emissions autotrain_compatible text-embeddings-inference endpoints_compatible region:us
---
base_model: distilbert/distilbert-base-uncased
language:
- en
library_name: sentence-transformers
metrics:
- cosine_accuracy
- dot_accuracy
- manhattan_accuracy
- euclidean_accuracy
- max_accuracy
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- loss:TripletLoss
widget:
- source_sentence: All charts rank the top 100.
  sentences:
  - 'There are two primary charts: Gaon Album Chart and Gaon Digital Chart.'
  - 'Regional Preferente de Cataluña (3): 1999-00, 2002-03, 2008-09.'
  - Kyūsaku was born in Fukuoka city, Fukuoka prefecture as Sugiyama Naoki.
- source_sentence: Valley of the Giants (2004) .
  sentences:
  - '"That Girl" (by Hayley) (2001) - AUS: No. 53 [REF].'
  - Nuangola Outlet is situated just south of Penobscot Knob [REF].
  - Like Sir John Moore, the Craufurd family originated from Ayrshire.
- source_sentence: Flanagan is located at [REF].
  sentences:
  - Sharpes is located at (28.441281, -80.761019) [REF].
  - His father was Gallus Jacob Baumgartner, a prominent statesman.
  - He served terms on the city council in 1654, 1660 and 1666.
- source_sentence: Fox Sports 1 Purple Bel-Air .
  sentences:
  - Victory 93.7 The Victory 93.7 FM-WTKB ATWOOD-MILAN .
  - Greenwood & Batley also made a number of Coke oven locomotives.
  - Oltmans was born into a wealthy family with roots in the Dutch East Indies.
- source_sentence: 'Points awarded in the final: .'
  sentences:
  - Points awarded in the final:[REF] .
  - Bishop Ludden recently implemented an innovative House Program.
  - Douglas Wheelock was born in Binghamton, New York to Olin and Margaret Wheelock.
co2_eq_emissions:
  emissions: 3.4895934031398
  energy_consumed: 0.008977554535710646
  source: codecarbon
  training_type: fine-tuning
  on_cloud: false
  cpu_model: 13th Gen Intel(R) Core(TM) i7-13700K
  ram_total_size: 31.777088165283203
  hours_used: 0.045
  hardware_used: 1 x NVIDIA GeForce RTX 3090
model-index:
- name: SentenceTransformer based on distilbert/distilbert-base-uncased
  results:
  - task:
      type: triplet
      name: Triplet
    dataset:
      name: wikipedia sections dev
      type: wikipedia-sections-dev
    metrics:
    - type: cosine_accuracy
      value: 0.733
      name: Cosine Accuracy
    - type: dot_accuracy
      value: 0.269
      name: Dot Accuracy
    - type: manhattan_accuracy
      value: 0.726
      name: Manhattan Accuracy
    - type: euclidean_accuracy
      value: 0.727
      name: Euclidean Accuracy
    - type: max_accuracy
      value: 0.733
      name: Max Accuracy
  - task:
      type: triplet
      name: Triplet
    dataset:
      name: wikipedia sections test
      type: wikipedia-sections-test
    metrics:
    - type: cosine_accuracy
      value: 0.7
      name: Cosine Accuracy
    - type: dot_accuracy
      value: 0.306
      name: Dot Accuracy
    - type: manhattan_accuracy
      value: 0.706
      name: Manhattan Accuracy
    - type: euclidean_accuracy
      value: 0.708
      name: Euclidean Accuracy
    - type: max_accuracy
      value: 0.708
      name: Max Accuracy
---

# SentenceTransformer based on distilbert/distilbert-base-uncased

This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [distilbert/distilbert-base-uncased](https://huggingface.co/distilbert/distilbert-base-uncased) on the [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) dataset. 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:** [distilbert/distilbert-base-uncased](https://huggingface.co/distilbert/distilbert-base-uncased) <!-- at revision 6cdc0aad91f5ae2e6712e91bc7b65d1cf5c05411 -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 tokens
- **Similarity Function:** Cosine Similarity
- **Training Dataset:**
    - [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections)
- **Language:** en
<!-- - **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': 512, 'do_lower_case': False}) with Transformer model: DistilBertModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("tomaarsen/distilbert-base-uncased-wikipedia-sections-triplet")
# Run inference
sentences = [
    'Points awarded in the final: .',
    'Points awarded in the final:[REF] .',
    'Bishop Ludden recently implemented an innovative House Program.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(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

#### Triplet
* Dataset: `wikipedia-sections-dev`
* Evaluated with [<code>TripletEvaluator</code>](https://sbert.net/docs/package_reference/evaluation.html#sentence_transformers.evaluation.TripletEvaluator)

| Metric             | Value     |
|:-------------------|:----------|
| cosine_accuracy    | 0.733     |
| dot_accuracy       | 0.269     |
| manhattan_accuracy | 0.726     |
| euclidean_accuracy | 0.727     |
| **max_accuracy**   | **0.733** |

#### Triplet
* Dataset: `wikipedia-sections-test`
* Evaluated with [<code>TripletEvaluator</code>](https://sbert.net/docs/package_reference/evaluation.html#sentence_transformers.evaluation.TripletEvaluator)

| Metric             | Value     |
|:-------------------|:----------|
| cosine_accuracy    | 0.7       |
| dot_accuracy       | 0.306     |
| manhattan_accuracy | 0.706     |
| euclidean_accuracy | 0.708     |
| **max_accuracy**   | **0.708** |

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

#### sentence-transformers/wikipedia-sections

* Dataset: [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) at [576bb61](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections/tree/576bb61f0fc9ebc728b742f91bd5c81cb7d92c71)
* Size: 10,000 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: 7 tokens</li><li>mean: 31.65 tokens</li><li>max: 72 tokens</li></ul> | <ul><li>min: 7 tokens</li><li>mean: 31.54 tokens</li><li>max: 91 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 31.52 tokens</li><li>max: 150 tokens</li></ul> |
* Samples:
  | anchor                                                                                                                                                                                                                                          | positive                                                                                                                                                        | negative                                                                                                                                                                                                                                        |
  |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | <code>Bailey was educated at Ipswich School (1972-79) and at the College of St Hild and St Bede University of Durham (1979-82), where he obtained a first-class degree in Economic history.</code>                                              | <code>He won the Cricket Society's Wetherell Award in 1979 for the best public school all-rounder and played for the NCA Young Cricketers in 1980 [REF].</code> | <code>Bailey was a Fellow of Gonville and Caius College, Cambridge, between 1986 and 1996, lecturing in history and working as Admissions' Tutor.</code>                                                                                        |
  | <code>The record design and production was done by Ivan Stančić Piko and the cover was chosen to be "The Red Nude" act by Amedeo Modigliani.</code>                                                                                             | <code>VIS Idoli was also released as a double cassette EP with Film's Live in Kulušić EP entitled Zajedno.</code>                                               | <code>Promotional video was recorded for "Devojko mala" as the TV stations already broadcast the video for "Malena" and "Zašto su danas devojke ljute", which had its TV premiere on the 1981 New Year's Eve as part of Rokenroler show.</code> |
  | <code>Promotional video was recorded for "Devojko mala" as the TV stations already broadcast the video for "Malena" and "Zašto su danas devojke ljute", which had its TV premiere on the 1981 New Year's Eve as part of Rokenroler show.</code> | <code>"Dok dobuje kiša (u ritmu tam-tama)" and "Malena" appeared on Vlada Divljan's 1996 live album Odbrana i zaštita.</code>                                   | <code>The record design and production was done by Ivan Stančić Piko and the cover was chosen to be "The Red Nude" act by Amedeo Modigliani.</code>                                                                                             |
* Loss: [<code>TripletLoss</code>](https://sbert.net/docs/package_reference/losses.html#tripletloss) with these parameters:
  ```json
  {
      "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
      "triplet_margin": 5
  }
  ```

### Evaluation Dataset

#### sentence-transformers/wikipedia-sections

* Dataset: [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) at [576bb61](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections/tree/576bb61f0fc9ebc728b742f91bd5c81cb7d92c71)
* Size: 1,000 evaluation 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: 9 tokens</li><li>mean: 29.99 tokens</li><li>max: 77 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 31.02 tokens</li><li>max: 88 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 30.75 tokens</li><li>max: 80 tokens</li></ul> |
* Samples:
  | anchor                                                                                                                                                                             | positive                                                                                                                                       | negative                                                                                                                                                                                                                           |
  |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | <code>Modern airforces have become dependent on airborne radars typically carried by converted airliners and transport aircraft such as the E-3 Sentry and A-50 'Mainstay'.</code> | <code>In late 2003, the missile was offered again on the export market as the 172S-1 [REF].</code>                                             | <code>The mockup shown in 1993 had a strong resemblance to the Buk airframe, but since the Indians became involved there have been some changes.</code>                                                                            |
  | <code>In May 2005 it was reported that there were two versions, with and without a rocket booster, with ranges of 400 km and 300 km respectively [REF].</code>                     | <code>Guidance is by inertial navigation until the missile is close enough to the target to use active radar for terminal homing [REF].</code> | <code>The missile resurfaced as the KS-172 in 1999,[REF] as part of a new export-led strategy[REF] whereby foreign investment in a -range export model[REF] would ultimately fund a version for the Russian airforce [REF].</code> |
  | <code>Morris was selected in the sixth round of the 2012 NFL Draft with the 173rd overall pick by the Washington Redskins [REF].</code>                                            | <code>The day before the season opener, coach Mike Shanahan announced that Morris would be the starting running back.</code>                   | <code>Despite being able to afford a new car, he still drives his 1991 Mazda 626, which he nicknamed "Bentley" [REF].</code>                                                                                                       |
* Loss: [<code>TripletLoss</code>](https://sbert.net/docs/package_reference/losses.html#tripletloss) with these parameters:
  ```json
  {
      "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
      "triplet_margin": 5
  }
  ```

### Training Hyperparameters
#### Non-Default Hyperparameters

- `eval_strategy`: steps
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `num_train_epochs`: 1
- `warmup_ratio`: 0.1
- `fp16`: True

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

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: steps
- `prediction_loss_only`: False
- `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`: 1
- `eval_accumulation_steps`: None
- `learning_rate`: 5e-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`: 1
- `max_steps`: -1
- `lr_scheduler_type`: linear
- `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
- `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`: True
- `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`: 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
- `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`: None
- `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_sampler`: batch_sampler
- `multi_dataset_batch_sampler`: proportional

</details>

### Training Logs
| Epoch | Step | Training Loss | loss   | wikipedia-sections-dev_max_accuracy | wikipedia-sections-test_max_accuracy |
|:-----:|:----:|:-------------:|:------:|:-----------------------------------:|:------------------------------------:|
| 0.16  | 100  | 3.8017        | 3.4221 | 0.698                               | -                                    |
| 0.32  | 200  | 3.0703        | 3.3261 | 0.717                               | -                                    |
| 0.48  | 300  | 2.9683        | 3.2490 | 0.728                               | -                                    |
| 0.64  | 400  | 2.7731        | 3.2340 | 0.733                               | -                                    |
| 0.8   | 500  | 2.9689        | 3.1583 | 0.737                               | -                                    |
| 0.96  | 600  | 2.8955        | 3.1480 | 0.733                               | -                                    |
| 1.0   | 625  | -             | -      | -                                   | 0.708                                |


### Environmental Impact
Carbon emissions were measured using [CodeCarbon](https://github.com/mlco2/codecarbon).
- **Energy Consumed**: 0.009 kWh
- **Carbon Emitted**: 0.003 kg of CO2
- **Hours Used**: 0.045 hours

### Training Hardware
- **On Cloud**: No
- **GPU Model**: 1 x NVIDIA GeForce RTX 3090
- **CPU Model**: 13th Gen Intel(R) Core(TM) i7-13700K
- **RAM Size**: 31.78 GB

### Framework Versions
- Python: 3.11.6
- Sentence Transformers: 3.0.0.dev0
- Transformers: 4.41.0.dev0
- PyTorch: 2.3.0+cu121
- Accelerate: 0.26.1
- Datasets: 2.18.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",
}
```

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