all-MiniLM-L6-v2
This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-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: sentence-transformers/all-MiniLM-L6-v2
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 384 dimensions
- Similarity Function: Cosine Similarity
- Language: en
- License: apache-2.0
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, '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})
(2): Normalize()
)
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("harcor/all-MiniLM-L6-v2-electrical")
# Run inference
sentences = [
'How can I solve a rubic cube 3x3x3?',
'How can one solve Rubik’s cube 3×3×3?',
"How do you solve a Rubik's Cube?",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
Evaluation
Metrics
Triplet
- Dataset:
all-MiniLM-L6-v2-electrical - Evaluated with
TripletEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy | 0.9808 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 100,029 training samples
- Columns:
anchor,positive, andnegative - Approximate statistics based on the first 1000 samples:
anchor positive negative type string string string details - min: 6 tokens
- mean: 14.15 tokens
- max: 42 tokens
- min: 5 tokens
- mean: 13.57 tokens
- max: 44 tokens
- min: 4 tokens
- mean: 14.63 tokens
- max: 64 tokens
- Samples:
anchor positive negative Terminal Block, 230 A, 600 V, 3.43 in. H, 1.02 in. W, GrayTerminal Block 230 AFuse Cap, 100 ATerminal Block, 230 A, 600 V, 3.43 in. H, 1.02 in. W, GrayTerminal Block 230 A terminal blocksFuse Cap, 100 ATerminal Block, 230 A, 600 V, 3.43 in. H, 1.02 in. W, GrayTerminal Block 230 A pass through terminal blocksFuse Cap, 100 A - Loss:
TripletLosswith these parameters:{ "distance_metric": "TripletDistanceMetric.EUCLIDEAN", "triplet_margin": 5 }
Evaluation Dataset
Unnamed Dataset
- Size: 100,000 evaluation samples
- Columns:
anchor,positive, andnegative - Approximate statistics based on the first 1000 samples:
anchor positive negative type string string string details - min: 6 tokens
- mean: 13.85 tokens
- max: 42 tokens
- min: 6 tokens
- mean: 13.65 tokens
- max: 44 tokens
- min: 4 tokens
- mean: 14.76 tokens
- max: 64 tokens
- Samples:
anchor positive negative Why in India do we not have one on one political debate as in USA?Why cant we have a public debate between politicians in India like the one in US?Can people on Quora stop India Pakistan debate? We are sick and tired seeing this everyday in bulk?What is OnePlus One?How is oneplus one?Why is OnePlus One so good?Does our mind control our emotions?How do smart and successful people control their emotions?How can I control my positive emotions for the people whom I love but they don't care about me? - Loss:
TripletLosswith these parameters:{ "distance_metric": "TripletDistanceMetric.EUCLIDEAN", "triplet_margin": 5 }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 1warmup_ratio: 0.1
All Hyperparameters
Click to expandoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional
Training Logs
| Epoch | Step | Training Loss | all-MiniLM-L6-v2-electrical_cosine_accuracy |
|---|---|---|---|
| -1 | -1 | - | 0.9808 |
| 0.0160 | 100 | 4.7269 | - |
| 0.0320 | 200 | 4.686 | - |
| 0.0480 | 300 | 4.6204 | - |
| 0.0640 | 400 | 4.5606 | - |
| 0.0800 | 500 | 4.5176 | - |
| 0.0960 | 600 | 4.4588 | - |
| 0.1120 | 700 | 4.417 | - |
| 0.1280 | 800 | 4.4144 | - |
| 0.1440 | 900 | 4.4004 | - |
| 0.1599 | 1000 | 4.3835 | - |
| 0.1759 | 1100 | 4.379 | - |
| 0.1919 | 1200 | 4.3828 | - |
| 0.2079 | 1300 | 4.3581 | - |
| 0.2239 | 1400 | 4.3502 | - |
| 0.2399 | 1500 | 4.3155 | - |
| 0.2559 | 1600 | 4.3204 | - |
| 0.2719 | 1700 | 4.3403 | - |
| 0.2879 | 1800 | 4.3195 | - |
| 0.3039 | 1900 | 4.2989 | - |
| 0.3199 | 2000 | 4.2871 | - |
| 0.3359 | 2100 | 4.2939 | - |
| 0.3519 | 2200 | 4.2906 | - |
| 0.3679 | 2300 | 4.2729 | - |
| 0.3839 | 2400 | 4.2765 | - |
| 0.3999 | 2500 | 4.2642 | - |
| 0.4159 | 2600 | 4.2629 | - |
| 0.4319 | 2700 | 4.276 | - |
| 0.4479 | 2800 | 4.276 | - |
| 0.4639 | 2900 | 4.2204 | - |
| 0.4798 | 3000 | 4.2556 | - |
| 0.4958 | 3100 | 4.2484 | - |
| 0.5118 | 3200 | 4.2004 | - |
| 0.5278 | 3300 | 4.2181 | - |
| 0.5438 | 3400 | 4.2097 | - |
| 0.5598 | 3500 | 4.2107 | - |
| 0.5758 | 3600 | 4.1949 | - |
| 0.5918 | 3700 | 4.2378 | - |
| 0.6078 | 3800 | 4.2098 | - |
| 0.6238 | 3900 | 4.196 | - |
| 0.6398 | 4000 | 4.1635 | - |
| 0.6558 | 4100 | 4.1946 | - |
| 0.6718 | 4200 | 4.1993 | - |
| 0.6878 | 4300 | 4.1971 | - |
| 0.7038 | 4400 | 4.2104 | - |
| 0.7198 | 4500 | 4.2174 | - |
| 0.7358 | 4600 | 4.1854 | - |
| 0.7518 | 4700 | 4.1834 | - |
| 0.7678 | 4800 | 4.1829 | - |
| 0.7837 | 4900 | 4.1831 | - |
| 0.7997 | 5000 | 4.1927 | - |
| 0.8157 | 5100 | 4.1746 | - |
| 0.8317 | 5200 | 4.1477 | - |
| 0.8477 | 5300 | 4.1748 | - |
| 0.8637 | 5400 | 4.1713 | - |
| 0.8797 | 5500 | 4.1313 | - |
| 0.8957 | 5600 | 4.1529 | - |
| 0.9117 | 5700 | 4.2078 | - |
| 0.9277 | 5800 | 4.1546 | - |
| 0.9437 | 5900 | 4.1684 | - |
| 0.9597 | 6000 | 4.1594 | - |
| 0.9757 | 6100 | 4.1426 | - |
| 0.9917 | 6200 | 4.1299 | - |
Framework Versions
- Python: 3.12.3
- Sentence Transformers: 4.1.0
- Transformers: 4.52.4
- PyTorch: 2.7.1+cu118
- Accelerate: 1.8.1
- Datasets: 3.6.0
- Tokenizers: 0.21.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",
}
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}
}