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}
}
Downloads last month
16
Safetensors
Model size
66.4M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for tomaarsen/distilbert-base-uncased-wikipedia-sections-triplet

Finetuned
(7016)
this model

Evaluation results