Edit model card

SentenceTransformer based on distilbert/distilbert-base-uncased

This is a sentence-transformers model finetuned from distilbert/distilbert-base-uncased. 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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

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("trbeers/distilbert-base-uncased-sts")
# Run inference
sentences = [
    'Knowledge of medical equipment and veterinary terminology is necessary.',
    'Worked as a pet trainer for obedience classes',
    'Skilled in component sorting for various projects',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Semantic Similarity

Metric Value
pearson_cosine 0.9243
spearman_cosine 0.8484
pearson_manhattan 0.9053
spearman_manhattan 0.8466
pearson_euclidean 0.9058
spearman_euclidean 0.8467
pearson_dot 0.9171
spearman_dot 0.8473
pearson_max 0.9243
spearman_max 0.8484

Semantic Similarity

Metric Value
pearson_cosine 0.9188
spearman_cosine 0.8447
pearson_manhattan 0.8976
spearman_manhattan 0.8409
pearson_euclidean 0.8981
spearman_euclidean 0.8413
pearson_dot 0.9109
spearman_dot 0.8439
pearson_max 0.9188
spearman_max 0.8447

Training Details

Training Dataset

Unnamed Dataset

  • Size: 8,137 training samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 score
    type string string int
    details
    • min: 6 tokens
    • mean: 16.34 tokens
    • max: 40 tokens
    • min: 5 tokens
    • mean: 9.58 tokens
    • max: 24 tokens
    • 0: ~49.50%
    • 1: ~50.50%
  • Samples:
    sentence1 sentence2 score
    Ability to use tools such as power drills as required for the job. Proficient in operating power tools for installation tasks 1
    Experience with networking, specifically the TCP/IP stack, routing, ports, and services is essential. Designed user interfaces for web applications 0
    Ability to establish and maintain positive relationships with coaches, student-athletes, and vendors regarding equipment selection. Developed strong partnerships with vendors forEquipment procurement 1
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 2,035 evaluation samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 score
    type string string int
    details
    • min: 6 tokens
    • mean: 15.77 tokens
    • max: 34 tokens
    • min: 5 tokens
    • mean: 9.65 tokens
    • max: 21 tokens
    • 0: ~48.10%
    • 1: ~51.90%
  • Samples:
    sentence1 sentence2 score
    Experience with vulnerability management tools like Nessus and Nexpose. managed network configurations 0
    Willingness to obtain a Texas fire extinguishers license as necessary. Currently pursuing a Texas fire extinguishers license 1
    Experience in defining and maintaining enterprise architecture that supports business scalability. Led the development of enterprise architecture frameworks for a multinational corporation 1
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 4
  • warmup_ratio: 0.1

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • 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: 4
  • 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
  • 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: False
  • fp16: False
  • 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: 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: 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_eval_metrics: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss sts-dev_spearman_cosine sts-test_spearman_cosine
0.1965 100 0.1588 0.0884 0.8247 -
0.3929 200 0.0784 0.0686 0.8397 -
0.5894 300 0.067 0.0538 0.8455 -
0.7859 400 0.0626 0.0482 0.8450 -
0.9823 500 0.0533 0.0452 0.8454 -
1.1788 600 0.0346 0.0437 0.8434 -
1.3752 700 0.0328 0.0435 0.8465 -
1.5717 800 0.0306 0.0445 0.8465 -
1.7682 900 0.0317 0.0399 0.8481 -
1.9646 1000 0.0315 0.0448 0.8517 -
2.1611 1100 0.017 0.0388 0.8489 -
2.3576 1200 0.016 0.0396 0.8501 -
2.5540 1300 0.0129 0.0393 0.8465 -
2.7505 1400 0.0128 0.0396 0.8471 -
2.9470 1500 0.0147 0.0388 0.8483 -
3.1434 1600 0.009 0.0396 0.8460 -
3.3399 1700 0.0078 0.0390 0.8460 -
3.5363 1800 0.0063 0.0380 0.8475 -
3.7328 1900 0.0079 0.0377 0.8484 -
3.9293 2000 0.0062 0.0376 0.8484 -
4.0 2036 - - - 0.8447

Framework Versions

  • Python: 3.10.11
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.3.1
  • Accelerate: 0.31.0
  • Datasets: 2.19.1
  • 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",
}
Downloads last month
0
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 trbeers/distilbert-base-uncased-sts

Finetuned
this model

Evaluation results