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
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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-amazon_reviews-k5-adaptive-euclidean")
# Run inference
sentences = [
'Wrong size for my husband. I need to return them, unfortunately.',
'Battery life is pretty short. But it super fun while it lasts!! My nephews loved them!',
'I was so disappointed in this mascara. I really like Stila Products too, but it was just a clumpy mess on brush and hard to apply with the wand design. I had to be extra careful even just applying it because of how messy it was coming out of tube. Ended up returning it because Amazon is super great on their return policy on Prime items.',
]
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.9902, 0.9996],
# [0.9902, 1.0000, 0.9896],
# [0.9996, 0.9896, 1.0000]])
Training Details
Training Dataset
Unnamed Dataset
- Size: 4,200,100 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: 15 tokensmean: 51.66 tokensmax: 128 tokens min: 17 tokensmean: 59.65 tokensmax: 106 tokens size: 2 elements - Samples:
text_a text_b label Arrived broken. Manufacturer defect. Two of the legs of the base were not completely formed, so there was no way to insert the casters. I unpackaged the entire chair and hardware before noticing this. So, I'll spend twice the amount of time boxing up the whole useless thing and send it back with a 1-star review of part of a chair I never got to sit in. I will go so far as to include a picture of what their injection molding and quality assurance process missed though. I will be hesitant to buy again. It makes me wonder if there aren't missing structures and supports that don't impede the assembly process. I ordered this a while ago, even using prime it took over a month to get here, now that I finally got it, I only receved 6 of the 12! Im a little upset. It's still funny, but would not recomend for someone who needs foam quick and in bulk like i do. [1.0, 0.0] Arrived broken. Manufacturer defect. Two of the legs of the base were not completely formed, so there was no way to insert the casters. I unpackaged the entire chair and hardware before noticing this. So, I'll spend twice the amount of time boxing up the whole useless thing and send it back with a 1-star review of part of a chair I never got to sit in. I will go so far as to include a picture of what their injection molding and quality assurance process missed though. I will be hesitant to buy again. It makes me wonder if there aren't missing structures and supports that don't impede the assembly process. Had this Item for a year and it is already ripping everywhere and faded badly. I do not recommend. [0.0, 0.25] Arrived broken. Manufacturer defect. Two of the legs of the base were not completely formed, so there was no way to insert the casters. I unpackaged the entire chair and hardware before noticing this. So, I'll spend twice the amount of time boxing up the whole useless thing and send it back with a 1-star review of part of a chair I never got to sit in. I will go so far as to include a picture of what their injection molding and quality assurance process missed though. I will be hesitant to buy again. It makes me wonder if there aren't missing structures and supports that don't impede the assembly process. I was so disappointed in this mascara. I really like Stila Products too, but it was just a clumpy mess on brush and hard to apply with the wand design. I had to be extra careful even just applying it because of how messy it was coming out of tube. Ended up returning it because Amazon is super great on their return policy on Prime items. [0.0, 0.25] - Loss: main.OrdinalProxyContrastiveLoss
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 1024learning_rate: 1e-05load_best_model_at_end: True
All Hyperparameters
per_device_train_batch_size: 1024num_train_epochs: 3max_steps: -1learning_rate: 1e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: adamw_torchoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Trueignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss |
|---|---|---|
| 0.1219 | 500 | 0.2636 |
| 0.2438 | 1000 | 0.0595 |
| 0.3657 | 1500 | 0.0505 |
| 0.4876 | 2000 | 0.0434 |
| 0.6095 | 2500 | 0.0397 |
| 0.7314 | 3000 | 0.0373 |
| 0.8532 | 3500 | 0.0353 |
| 0.9751 | 4000 | 0.0337 |
| 1.0 | 4102 | - |
| 1.0970 | 4500 | 0.0324 |
| 1.2189 | 5000 | 0.0316 |
| 1.3408 | 5500 | 0.0308 |
| 1.4627 | 6000 | 0.0300 |
| 1.5846 | 6500 | 0.0295 |
| 1.7065 | 7000 | 0.0290 |
| 1.8284 | 7500 | 0.0288 |
| 1.9503 | 8000 | 0.0287 |
| 2.0 | 8204 | - |
| 2.0722 | 8500 | 0.0281 |
| 2.1941 | 9000 | 0.0279 |
| 2.3159 | 9500 | 0.0276 |
| 2.4378 | 10000 | 0.0276 |
| 2.5597 | 10500 | 0.0272 |
| 2.6816 | 11000 | 0.0273 |
| 2.8035 | 11500 | 0.0271 |
| 2.9254 | 12000 | 0.0273 |
| 3.0 | 12306 | - |
- The bold row denotes the saved checkpoint.
Training Time
- Training: 44.4 minutes
- Evaluation: 1.3 seconds
- Total: 44.4 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",
}