SentenceTransformer based on google/bert_uncased_L-2_H-128_A-2

This is a sentence-transformers model finetuned from google/bert_uncased_L-2_H-128_A-2. It maps sentences & paragraphs to a 128-dimensional dense vector space and can be used for retrieval.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: google/bert_uncased_L-2_H-128_A-2
  • Maximum Sequence Length: 128 tokens
  • Output Dimensionality: 128 dimensions
  • Similarity Function: Cosine Similarity
  • Supported Modality: Text

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
  (1): Pooling({'embedding_dimension': 128, 'pooling_mode': 'mean', '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("swardiantara/bert-tiny-snli-k5-fixed-euclidean")
# Run inference
sentences = [
    'Children smiling and waving at camera [SEP] The kids are frowning',
    'A room full of girls raising their hands. [SEP] The boys are jumping on the trampoline.',
    'A woman is walking across the street eating a banana, while a man is following with his briefcase. [SEP] the woman is a seductress',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 128]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.9991, 0.9962],
#         [0.9991, 1.0000, 0.9956],
#         [0.9962, 0.9956, 1.0000]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 6,043,097 training samples
  • Columns: text_a, text_b, and label
  • Approximate statistics based on the first 100 samples:
    text_a text_b label
    type string string list
    modality text text
    details
    • min: 13 tokens
    • mean: 22.88 tokens
    • max: 47 tokens
    • min: 20 tokens
    • mean: 27.54 tokens
    • max: 43 tokens
    • size: 2 elements
  • Samples:
    text_a text_b label
    A person on a horse jumps over a broken down airplane. [SEP] A person is training his horse for a competition. A woman is walking across the street eating a banana, while a man is following with his briefcase. [SEP] the woman is a seductress [1.0, 0.0]
    A person on a horse jumps over a broken down airplane. [SEP] A person is training his horse for a competition. A man on stilts is playing a tuba for money on the boardwalk. [SEP] A male street performer with a tuba is playing outside. [0.0, 0.5]
    A person on a horse jumps over a broken down airplane. [SEP] A person is training his horse for a competition. A boy is standing next to a car in front of a clothesline. [SEP] The boy is outside. [0.0, 0.5]
  • Loss: main.OrdinalProxyContrastiveLoss

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 1024
  • learning_rate: 1e-05
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • per_device_train_batch_size: 1024
  • num_train_epochs: 3
  • max_steps: -1
  • learning_rate: 1e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0
  • optim: adamw_torch
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 1.0
  • label_smoothing_factor: 0.0
  • bf16: False
  • fp16: False
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: None
  • trackio_bucket_id: None
  • trackio_static_space_id: None
  • per_device_eval_batch_size: 8
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: False
  • hub_private_repo: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_static_graph: None
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: None
  • fsdp_config: None
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss
0.0847 500 0.4598
0.1694 1000 0.0829
0.2542 1500 0.0778
0.3389 2000 0.0752
0.4236 2500 0.0734
0.5083 3000 0.0716
0.5930 3500 0.0712
0.6777 4000 0.0704
0.7625 4500 0.0702
0.8472 5000 0.0700
0.9319 5500 0.0691
1.0 5902 -
1.0166 6000 0.0694
1.1013 6500 0.0690
1.1860 7000 0.0688
1.2708 7500 0.0683
1.3555 8000 0.0687
1.4402 8500 0.0682
1.5249 9000 0.0681
1.6096 9500 0.0679
1.6943 10000 0.0681
1.7791 10500 0.0684
1.8638 11000 0.0677
1.9485 11500 0.0675
2.0 11804 -
2.0332 12000 0.0674
2.1179 12500 0.0671
2.2026 13000 0.0668
2.2874 13500 0.0669
2.3721 14000 0.0660
2.4568 14500 0.0666
2.5415 15000 0.0663
2.6262 15500 0.0665
2.7109 16000 0.0660
2.7957 16500 0.0666
2.8804 17000 0.0660
2.9651 17500 0.0658
3.0 17706 -
  • The bold row denotes the saved checkpoint.

Training Time

  • Training: 36.2 minutes
  • Evaluation: 2.6 seconds
  • Total: 36.3 minutes

Framework Versions

  • Python: 3.12.4
  • Sentence Transformers: 5.5.1
  • Transformers: 5.11.0
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.13.0
  • Datasets: 2.21.0
  • Tokenizers: 0.22.2

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
40
Safetensors
Model size
4.39M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for swardiantara/bert-tiny-snli-k5-fixed-euclidean

Finetuned
(120)
this model

Paper for swardiantara/bert-tiny-snli-k5-fixed-euclidean