tomaarsen's picture
tomaarsen HF staff
Add new SentenceTransformer model.
76e127f verified
metadata
language:
  - en
library_name: sentence-transformers
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - loss:TripletLoss
base_model: distilbert/distilbert-base-uncased
metrics:
  - cosine_accuracy
  - dot_accuracy
  - manhattan_accuracy
  - euclidean_accuracy
  - max_accuracy
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.
pipeline_tag: sentence-similarity
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 model finetuned from distilbert/distilbert-base-uncased on the 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 Sources

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:

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("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]

Evaluation

Metrics

Triplet

Metric Value
cosine_accuracy 0.733
dot_accuracy 0.269
manhattan_accuracy 0.726
euclidean_accuracy 0.727
max_accuracy 0.733

Triplet

Metric Value
cosine_accuracy 0.7
dot_accuracy 0.306
manhattan_accuracy 0.706
euclidean_accuracy 0.708
max_accuracy 0.708

Training Details

Training Dataset

sentence-transformers/wikipedia-sections

  • Dataset: sentence-transformers/wikipedia-sections at 576bb61
  • Size: 10,000 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 7 tokens
    • mean: 31.65 tokens
    • max: 72 tokens
    • min: 7 tokens
    • mean: 31.54 tokens
    • max: 91 tokens
    • min: 8 tokens
    • mean: 31.52 tokens
    • max: 150 tokens
  • Samples:
    anchor positive negative
    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. 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]. Bailey was a Fellow of Gonville and Caius College, Cambridge, between 1986 and 1996, lecturing in history and working as Admissions' Tutor.
    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. VIS Idoli was also released as a double cassette EP with Film's Live in Kulušić EP entitled Zajedno. 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.
    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. "Dok dobuje kiša (u ritmu tam-tama)" and "Malena" appeared on Vlada Divljan's 1996 live album Odbrana i zaštita. 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.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Evaluation Dataset

sentence-transformers/wikipedia-sections

  • Dataset: sentence-transformers/wikipedia-sections at 576bb61
  • Size: 1,000 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 9 tokens
    • mean: 29.99 tokens
    • max: 77 tokens
    • min: 8 tokens
    • mean: 31.02 tokens
    • max: 88 tokens
    • min: 8 tokens
    • mean: 30.75 tokens
    • max: 80 tokens
  • Samples:
    anchor positive negative
    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'. In late 2003, the missile was offered again on the export market as the 172S-1 [REF]. The mockup shown in 1993 had a strong resemblance to the Buk airframe, but since the Indians became involved there have been some changes.
    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]. Guidance is by inertial navigation until the missile is close enough to the target to use active radar for terminal homing [REF]. 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].
    Morris was selected in the sixth round of the 2012 NFL Draft with the 173rd overall pick by the Washington Redskins [REF]. The day before the season opener, coach Mike Shanahan announced that Morris would be the starting running back. Despite being able to afford a new car, he still drives his 1991 Mazda 626, which he nicknamed "Bentley" [REF].
  • Loss: TripletLoss with these parameters:
    {
        "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

Click to expand
  • 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

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.

  • 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

@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

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