SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2 (Physics)
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 is optimised for:
- semantic textual similarity in Physics
- semantic search over NCERT Physics-style content
- paraphrase mining, clustering, and downstream classification for physics questions and explanations.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: sentence-transformers/all-MiniLM-L6-v2
- Domain: CBSE / NCERT Class 11–12 Physics text (questions, explanations, summaries)
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 384 dimensions
- Similarity Function: Cosine similarity
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, 'architecture': '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)
Install the library:
pip install -U sentence-transformers
Then load the model and run inference:
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
sentences = [
"Interference of light in Young's double-slit experiment leads to a pattern of bright and dark fringes.",
"The superposition of coherent light waves from two slits produces constructive and destructive interference on a screen.",
"Centripetal force is required to keep an object in uniform circular motion and acts towards the centre of the circle.",
]
embeddings = model.encode(sentences)
print(embeddings.shape) # [3, 384]
# Pairwise similarity
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.7669, -0.0300],
# [ 0.7669, 1.0000, 0.0155],
# [-0.0300, 0.0155, 1.0000]])
Training Details
The model was trained in two phases, with a focus on Physics-specific text.
Phase 1 – Contrastive Fine-Tuning (Physics Positives)
Training Dataset
Unnamed internal dataset of Physics pairs:
Size: 33,038 training samples
Columns: and (semantically similar Physics sentences)
Approximate token statistics (first 1000 samples):
| Column | Type | Min Tokens | Mean Tokens | Max Tokens |
|---|---|---|---|---|
| sentence_0 | string | 4 | 18.77 | 75 |
| sentence_1 | string | 6 | 31.75 | 67 |
- Example training pairs (Physics):
| sentence_0 | sentence_1 |
|---|---|
In an isolated system, the total linear momentum remains conserved during any type of collision. |
For a system with no external force, the vector sum of momenta before and after a collision stays the same, allowing final velocities to be computed using conservation of momentum. |
Simple harmonic motion |
A periodic motion in which the restoring force is directly proportional to the displacement from the mean position and always directed towards that position, e.g., a mass attached to a spring. |
Resonance in forced oscillations |
When a system is driven by an external periodic force whose frequency matches the system's natural frequency, the amplitude of oscillation becomes maximum; this effect is called resonance. |
- Loss: MultipleNegativesRankingLoss
{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
Phase 2 – Hard-Negative Training (NCE on NCERT Physics)
This phase focuses on making the embedding model more discriminative for Retrieval-Augmented Generation (RAG) over NCERT Physics by introducing hard-negative mining and Noise-Contrastive Estimation (NCE) training.
1. Hard-Negative Mining
To expose the model to challenging non-answer passages, we performed systematic hard-negative mining.
Data Preparation
- 810 NCERT Physics chunks embedded and indexed using FAISS.
- 1,859 Physics queries collected as phase-2 seed questions.
Retrieval & Re-Ranking
- For each query, top-k nearest neighbors were retrieved using FAISS.
- Retrieved candidates were re-ranked using a cross-encoder:
2. Noise-Contrastive Estimation (NCE) Training
Initialization
- Training started from the Phase-1 encoder checkpoint.
Objective
The model is optimized to:
- Maximize similarity between the query and the gold NCERT chunk.
- Minimize similarity between the query and the hard negative in the embedding space.
This effectively teaches the model to distinguish very similar but incorrect Physics passages from the correct one.
3. Training Performance
Training Metrics
Train Loss:
≈ 2.18 → 0.13 / 0.03Train Acc@1:
≈ 0.40 → 0.98–1.00
Validation Metrics
- Validation Acc@1 (3 epochs): ≈ 0.81
- Validation Acc@1 (5 epochs): ≈ 0.76
Checkpoint Selection
- The best checkpoint was selected using lowest validation loss
(early-stopping style criterion).
4. Outcome
This phase significantly sharpens the embedding space so that for NCERT Physics questions:
- The correct Physics chunk is ranked above:
- Semantically similar
- Conceptually misleading
- Structurally related but incorrect passages
This directly improves RAG retrieval precision for downstream QA and tutoring systems.
5. Summary
| Component | Result |
|---|---|
| FAISS Index Size | 810 chunks |
| Queries | 1,859 |
| Train Records | 1,674 |
| Validation Records | 185 |
| Training Method | NCE with Hard Negatives |
| Best Val Acc@1 | ~0.81 |
| Encoder Init | Phase-1 Checkpoint |
✅ This phase enables high-precision Physics retrieval under domain-specific confusion, which is critical for exam-grade question answering systems. Evaluation is reported using top-1 classification accuracy on triplets:
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 64per_device_eval_batch_size: 64num_train_epochs: 10multi_dataset_batch_sampler: round_robin
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 64per_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: 1num_train_epochs: 100max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_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: 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}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_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: Falsehub_revision: Nonegradient_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: noneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}
Framework Versions
- Python: 3.12.12
- Sentence Transformers: 5.1.2
- Transformers: 4.57.2
- PyTorch: 2.9.0+cu126
- Accelerate: 1.12.0
- Datasets: 4.0.0
- Tokenizers: 0.22.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",
}
MultipleNegativesRankingLoss
@misc{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
- Downloads last month
- 19
Model tree for mihir0009/MiniLM_L6_V2-Physics-Finetuned
Base model
sentence-transformers/all-MiniLM-L6-v2