SentenceTransformer based on BAAI/bge-small-en-v1.5
This is a sentence-transformers model finetuned from BAAI/bge-small-en-v1.5 on the telecom-qa-multiple_choice dataset. 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: BAAI/bge-small-en-v1.5
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 384 dimensions
- Similarity Function: Cosine Similarity
- Training Dataset:
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': 512, 'do_lower_case': True}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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("sentence_transformers_model_id")
# Run inference
sentences = [
'What is one way to enhance the robustness of terahertz in real-time communication?',
'Enhancing beam tracking, resource allocation, and user association can improve the robustness of terahertz in real-time communication.',
'Handover refers to the process of changing the serving cell of a UE in RRC_CONNECTED.',
]
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
Information Retrieval
- Dataset:
telecom-ir-eval
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.9482 |
cosine_accuracy@3 | 0.991 |
cosine_accuracy@5 | 0.9924 |
cosine_accuracy@10 | 0.9952 |
cosine_precision@1 | 0.9482 |
cosine_recall@1 | 0.9482 |
cosine_ndcg@10 | 0.9753 |
cosine_mrr@10 | 0.9686 |
cosine_map@100 | 0.9688 |
Training Details
Training Dataset
telecom-qa-multiple_choice
- Dataset: telecom-qa-multiple_choice at 73aebbb
- Size: 6,552 training samples
- Columns:
anchor
andpositive
- Approximate statistics based on the first 1000 samples:
anchor positive type string string details - min: 4 tokens
- mean: 18.54 tokens
- max: 48 tokens
- min: 10 tokens
- mean: 29.33 tokens
- max: 100 tokens
- Samples:
anchor positive What are the two mechanisms in a CDMA (Code Division Multiple Access) system that reduce the chances of significant interference?
In a CDMA system, power control and soft handoff mechanisms are used to reduce the chances of significant interference. Power control ensures that there is no significant intra-cell interference, and soft handoff selects the base station with the best reception to control the user's power, reducing the chance of out-of-cell interference.
What type of traffic is LPWAN (Low-Power Wide Area Network) suitable for?
LPWANs are suitable for sporadic and intermittent transmissions of very small packets.
What is the definition of an Authenticator in IEEE Std 802.11-2020?
An Authenticator is an entity at one end of a point-to-point LAN segment that facilitates authentication of the entity attached to the other end of that link.
- Loss:
MultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Evaluation Dataset
telecom-qa-multiple_choice
- Dataset: telecom-qa-multiple_choice at 73aebbb
- Size: 6,552 evaluation samples
- Columns:
anchor
andpositive
- Approximate statistics based on the first 1000 samples:
anchor positive type string string details - min: 4 tokens
- mean: 18.83 tokens
- max: 45 tokens
- min: 10 tokens
- mean: 28.7 tokens
- max: 99 tokens
- Samples:
anchor positive How is the continuous-time impulse response of the end-to-end system computed?
The continuous-time impulse response of the end-to-end system is computed as the convolution of the impulse responses of the RIS paths and the propagation channels.
What is lattice staggering in a multicarrier scheme?
Lattice staggering is a methodology that generates inherent orthogonality between the points in the lattice for the real domain by using different prototype filters for the real and imaginary parts of the scheme.
What are the benefits of using Mobile Edge Computing (MEC) for computation-intensive applications?
MEC enables applications to be split into small tasks with some of the tasks performed at the local or regional clouds, reducing delay and backhaul usage.
- Loss:
MultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy
: stepsper_device_train_batch_size
: 128per_device_eval_batch_size
: 128weight_decay
: 0.01num_train_epochs
: 5lr_scheduler_type
: cosine_with_restartswarmup_ratio
: 0.1fp16
: Trueload_best_model_at_end
: Truebatch_sampler
: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir
: Falsedo_predict
: Falseeval_strategy
: stepsprediction_loss_only
: Trueper_device_train_batch_size
: 128per_device_eval_batch_size
: 128per_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.01adam_beta1
: 0.9adam_beta2
: 0.999adam_epsilon
: 1e-08max_grad_norm
: 1.0num_train_epochs
: 5max_steps
: -1lr_scheduler_type
: cosine_with_restartslr_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
: Truefp16_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
: Trueignore_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
: Nonedispatch_batches
: Nonesplit_batches
: 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
: no_duplicatesmulti_dataset_batch_sampler
: proportional
Training Logs
Epoch | Step | Training Loss | Validation Loss | telecom-ir-eval_cosine_ndcg@10 |
---|---|---|---|---|
0.3659 | 15 | 0.5651 | 0.1124 | 0.9593 |
0.7317 | 30 | 0.144 | 0.0674 | 0.9713 |
1.0976 | 45 | 0.0783 | 0.0605 | 0.9730 |
1.4634 | 60 | 0.0633 | 0.0607 | 0.9753 |
1.8293 | 75 | 0.0469 | 0.0570 | 0.9749 |
2.1951 | 90 | 0.0297 | 0.0568 | 0.9755 |
2.5610 | 105 | 0.0287 | 0.0583 | 0.9749 |
2.9268 | 120 | 0.0266 | 0.0594 | 0.9747 |
3.2927 | 135 | 0.0196 | 0.0604 | 0.9738 |
3.6585 | 150 | 0.0191 | 0.0609 | 0.9742 |
4.0244 | 165 | 0.0167 | 0.0608 | 0.9749 |
4.3902 | 180 | 0.0165 | 0.0611 | 0.9746 |
4.7561 | 195 | 0.016 | 0.0611 | 0.9746 |
5.0 | 205 | - | - | 0.9753 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.3.1
- Transformers: 4.47.1
- PyTorch: 2.5.1+cu121
- Accelerate: 1.2.1
- Datasets: 3.2.0
- Tokenizers: 0.21.0
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
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 dinho1597/phi-2-telecom-ft
Base model
BAAI/bge-small-en-v1.5Dataset used to train dinho1597/phi-2-telecom-ft
Evaluation results
- Cosine Accuracy@1 on telecom ir evalself-reported0.948
- Cosine Accuracy@3 on telecom ir evalself-reported0.991
- Cosine Accuracy@5 on telecom ir evalself-reported0.992
- Cosine Accuracy@10 on telecom ir evalself-reported0.995
- Cosine Precision@1 on telecom ir evalself-reported0.948
- Cosine Recall@1 on telecom ir evalself-reported0.948
- Cosine Ndcg@10 on telecom ir evalself-reported0.975
- Cosine Mrr@10 on telecom ir evalself-reported0.969
- Cosine Map@100 on telecom ir evalself-reported0.969