BERT base uncased trained on GooAQ triplets
This is a sentence-transformers model finetuned from google-bert/bert-base-uncased on the sentence-transformers/gooaq dataset. It maps sentences & paragraphs to a 768-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: google-bert/bert-base-uncased
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 768 tokens
- Similarity Function: Cosine Similarity
- Training Dataset:
- 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': 512, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 768, '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})
)
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("tomaarsen/bert-base-uncased-gooaq")
# Run inference
sentences = [
'what is the best drugstore shampoo for volume?',
'[\'#8. ... \', \'#7. ... \', \'#6. Hask Biotin Boost Shampoo. ... \', \'#5. Pantene Pro-V Sheer Volume Shampoo. ... \', \'#4. John Frieda Luxurious Volume Touchably Full Shampoo. ... \', \'#3. Acure Vivacious Volume Peppermint Shampoo. ... \', \'#2. OGX Thick & Full Biotin & Collagen Shampoo. ... \', "#1. L\'Oréal Paris EverPure Sulfate Free Volume Shampoo."]',
'In electricity, the phase refers to the distribution of a load. What is the difference between single-phase and three-phase power supplies? Single-phase power is a two-wire alternating current (ac) power circuit. ... Three-phase power is a three-wire ac power circuit with each phase ac signal 120 electrical degrees apart.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
Evaluation
Metrics
Information Retrieval
- Dataset:
gooaq-dev
- Evaluated with
InformationRetrievalEvaluator
Metric | Value |
---|---|
cosine_accuracy@1 | 0.7001 |
cosine_accuracy@3 | 0.8712 |
cosine_accuracy@5 | 0.9219 |
cosine_accuracy@10 | 0.9629 |
cosine_precision@1 | 0.7001 |
cosine_precision@3 | 0.2904 |
cosine_precision@5 | 0.1844 |
cosine_precision@10 | 0.0963 |
cosine_recall@1 | 0.7001 |
cosine_recall@3 | 0.8712 |
cosine_recall@5 | 0.9219 |
cosine_recall@10 | 0.9629 |
cosine_ndcg@10 | 0.8359 |
cosine_mrr@10 | 0.7946 |
cosine_map@100 | 0.7966 |
dot_accuracy@1 | 0.6709 |
dot_accuracy@3 | 0.8558 |
dot_accuracy@5 | 0.9096 |
dot_accuracy@10 | 0.9567 |
dot_precision@1 | 0.6709 |
dot_precision@3 | 0.2853 |
dot_precision@5 | 0.1819 |
dot_precision@10 | 0.0957 |
dot_recall@1 | 0.6709 |
dot_recall@3 | 0.8558 |
dot_recall@5 | 0.9096 |
dot_recall@10 | 0.9567 |
dot_ndcg@10 | 0.8178 |
dot_mrr@10 | 0.7728 |
dot_map@100 | 0.7751 |
Training Details
Training Dataset
sentence-transformers/gooaq
- Dataset: sentence-transformers/gooaq at b089f72
- Size: 3,002,496 training samples
- Columns:
question
andanswer
- Approximate statistics based on the first 1000 samples:
question answer type string string details - min: 8 tokens
- mean: 11.95 tokens
- max: 24 tokens
- min: 17 tokens
- mean: 60.83 tokens
- max: 130 tokens
- Samples:
question answer what are the differences between internet and web?
The Internet is a global network of networks while the Web, also referred formally as World Wide Web (www) is collection of information which is accessed via the Internet. Another way to look at this difference is; the Internet is infrastructure while the Web is service on top of that infrastructure.
who is the most important person in a first aid situation?
Subscribe to New First Aid For Free The main principle of incident management is that you are the most important person and your safety comes first! Your first actions when coming across the scene of an incident should be: Check for any dangers to yourself or bystanders. Manage any dangers found (if safe to do so)
why is jibjab not working?
Usually disabling your ad blockers for JibJab will resolve this issue. If you're still having issues loading the card after your ad blockers are disabled, you can try clearing your cache/cookies or updating and restarting your browser. As a last resort, you can try opening JibJab from a different browser.
- Loss:
MultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Evaluation Dataset
sentence-transformers/gooaq
- Dataset: sentence-transformers/gooaq at b089f72
- Size: 10,000 evaluation samples
- Columns:
question
andanswer
- Approximate statistics based on the first 1000 samples:
question answer type string string details - min: 8 tokens
- mean: 12.01 tokens
- max: 34 tokens
- min: 13 tokens
- mean: 59.81 tokens
- max: 145 tokens
- Samples:
question answer what are some common attributes/characteristics between animal and human?
['Culture.', 'Emotions.', 'Language.', 'Humour.', 'Tool Use.', 'Memory.', 'Self-Awareness.', 'Intelligence.']
is folic acid the same as vitamin b?
Vitamin B9, also called folate or folic acid, is one of 8 B vitamins. All B vitamins help the body convert food (carbohydrates) into fuel (glucose), which is used to produce energy. These B vitamins, often referred to as B-complex vitamins, also help the body use fats and protein.
are bendy buses still in london?
Bendy bus makes final journey for Transport for London. The last of London's bendy buses was taken off the roads on Friday night. ... The final route to be operated with bendy buses has been the 207 between Hayes and White City, and the last of the long vehicles was to run late on Friday.
- 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
: 128learning_rate
: 2e-05num_train_epochs
: 1warmup_ratio
: 0.1bf16
: 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
: Nonelearning_rate
: 2e-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
: Truefp16
: 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
: Falsehub_always_push
: Falsegradient_checkpointing
: Falsegradient_checkpointing_kwargs
: Noneinclude_inputs_for_metrics
: Falseeval_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
: Falsebatch_sampler
: no_duplicatesmulti_dataset_batch_sampler
: proportional
Training Logs
Epoch | Step | Training Loss | loss | gooaq-dev_cosine_map@100 |
---|---|---|---|---|
0 | 0 | - | - | 0.2018 |
0.0000 | 1 | 2.6207 | - | - |
0.0213 | 500 | 0.9092 | - | - |
0.0426 | 1000 | 0.2051 | - | - |
0.0639 | 1500 | 0.1354 | - | - |
0.0853 | 2000 | 0.1089 | 0.0719 | 0.7124 |
0.1066 | 2500 | 0.0916 | - | - |
0.1279 | 3000 | 0.0812 | - | - |
0.1492 | 3500 | 0.0716 | - | - |
0.1705 | 4000 | 0.0658 | 0.0517 | 0.7432 |
0.1918 | 4500 | 0.0623 | - | - |
0.2132 | 5000 | 0.0596 | - | - |
0.2345 | 5500 | 0.0554 | - | - |
0.2558 | 6000 | 0.0504 | 0.0401 | 0.7580 |
0.2771 | 6500 | 0.0498 | - | - |
0.2984 | 7000 | 0.0483 | - | - |
0.3197 | 7500 | 0.0487 | - | - |
0.3410 | 8000 | 0.0458 | 0.0359 | 0.7652 |
0.3624 | 8500 | 0.0435 | - | - |
0.3837 | 9000 | 0.0421 | - | - |
0.4050 | 9500 | 0.0421 | - | - |
0.4263 | 10000 | 0.0405 | 0.0329 | 0.7738 |
0.4476 | 10500 | 0.0392 | - | - |
0.4689 | 11000 | 0.0388 | - | - |
0.4903 | 11500 | 0.0388 | - | - |
0.5116 | 12000 | 0.0361 | 0.0290 | 0.7810 |
0.5329 | 12500 | 0.0362 | - | - |
0.5542 | 13000 | 0.0356 | - | - |
0.5755 | 13500 | 0.0352 | - | - |
0.5968 | 14000 | 0.0349 | 0.0267 | 0.7866 |
0.6182 | 14500 | 0.0334 | - | - |
0.6395 | 15000 | 0.0323 | - | - |
0.6608 | 15500 | 0.0325 | - | - |
0.6821 | 16000 | 0.0316 | 0.0256 | 0.7879 |
0.7034 | 16500 | 0.0313 | - | - |
0.7247 | 17000 | 0.0306 | - | - |
0.7460 | 17500 | 0.0328 | - | - |
0.7674 | 18000 | 0.0303 | 0.0238 | 0.7928 |
0.7887 | 18500 | 0.0301 | - | - |
0.8100 | 19000 | 0.0291 | - | - |
0.8313 | 19500 | 0.0286 | - | - |
0.8526 | 20000 | 0.0295 | 0.0218 | 0.7952 |
0.8739 | 20500 | 0.0288 | - | - |
0.8953 | 21000 | 0.0277 | - | - |
0.9166 | 21500 | 0.0266 | - | - |
0.9379 | 22000 | 0.0289 | 0.0218 | 0.7971 |
0.9592 | 22500 | 0.0286 | - | - |
0.9805 | 23000 | 0.0275 | - | - |
1.0 | 23457 | - | - | 0.7966 |
Environmental Impact
Carbon emissions were measured using CodeCarbon.
- Energy Consumed: 1.348 kWh
- Carbon Emitted: 0.524 kg of CO2
- Hours Used: 3.544 hours
Training Hardware
- On Cloud: No
- GPU Model: 1 x NVIDIA GeForce RTX 3090
- CPU Model: 13th Gen Intel(R) Core(TM) i7-13700K
- RAM Size: 31.78 GB
Framework Versions
- Python: 3.11.6
- Sentence Transformers: 3.1.0.dev0
- Transformers: 4.41.2
- PyTorch: 2.3.0+cu121
- Accelerate: 0.31.0
- Datasets: 2.20.0
- Tokenizers: 0.19.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
- 12
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 tomaarsen/bert-base-uncased-gooaq-og
Base model
google-bert/bert-base-uncasedDataset used to train tomaarsen/bert-base-uncased-gooaq-og
Evaluation results
- Cosine Accuracy@1 on gooaq devself-reported0.700
- Cosine Accuracy@3 on gooaq devself-reported0.871
- Cosine Accuracy@5 on gooaq devself-reported0.922
- Cosine Accuracy@10 on gooaq devself-reported0.963
- Cosine Precision@1 on gooaq devself-reported0.700
- Cosine Precision@3 on gooaq devself-reported0.290
- Cosine Precision@5 on gooaq devself-reported0.184
- Cosine Precision@10 on gooaq devself-reported0.096
- Cosine Recall@1 on gooaq devself-reported0.700
- Cosine Recall@3 on gooaq devself-reported0.871