Feature Extraction
sentence-transformers
TensorBoard
Safetensors
English
bert
sparse-encoder
sparse
splade
Generated from Trainer
dataset_size:1056494
loss:SpladeLoss
loss:SparseMultipleNegativesRankingLoss
loss:FlopsLoss
Eval Results (legacy)
text-embeddings-inference
Instructions to use yosefw/SPLADE-BERT-Tiny-BS256 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use yosefw/SPLADE-BERT-Tiny-BS256 with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("yosefw/SPLADE-BERT-Tiny-BS256") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
metadata
language:
- en
license: mit
tags:
- sentence-transformers
- sparse-encoder
- sparse
- splade
- generated_from_trainer
- dataset_size:1056494
- loss:SpladeLoss
- loss:SparseMultipleNegativesRankingLoss
- loss:FlopsLoss
base_model: prajjwal1/bert-tiny
widget:
- text: define organic molecule
- text: the meaning of the name eoin
- text: >-
And strep bacteria, a common cause of sore throat, especially in children,
can spread like wildfire if it gets into the blood, damaging the liver,
brain, kidneys, and other organs. Jim Henson, creator of the Muppets, came
down with a sore throat caused by a strep infection late Sunday, May 13,
1990.
- text: >-
incur. 1 to come into or acquire (some consequence, usually undesirable
or injurious): to incur a huge number of debts. 2 to become liable or
subject to through one's own action; bring or take upon oneself: to incur
his displeasure.
- text: >-
Depreciation Defined. Depreciating an asset means allocating the asset's
cost over its useful life. The useful life of an asset, or economic
resource, is the period of time over which a company intends to use this
asset in operating activities or manufacturing processes. Funded
Depreciation Defined. Funded depreciation is a fixed asset management
method that helps a company set aside funds to renew machinery and
equipment that it uses in operating activities. For instance, a company
buys a new truck valued at $100,000 and records $10,000 in annual
depreciation expense over 10 years.
pipeline_tag: feature-extraction
library_name: sentence-transformers
metrics:
- dot_accuracy@1
- dot_accuracy@3
- dot_accuracy@5
- dot_accuracy@10
- dot_precision@1
- dot_precision@3
- dot_precision@5
- dot_precision@10
- dot_recall@1
- dot_recall@3
- dot_recall@5
- dot_recall@10
- dot_ndcg@10
- dot_mrr@10
- dot_map@100
- query_active_dims
- query_sparsity_ratio
- corpus_active_dims
- corpus_sparsity_ratio
model-index:
- name: SPLADE-BERT-Tiny
results:
- task:
type: sparse-information-retrieval
name: Sparse Information Retrieval
dataset:
name: Unknown
type: unknown
metrics:
- type: dot_accuracy@1
value: 0.469
name: Dot Accuracy@1
- type: dot_accuracy@3
value: 0.7692
name: Dot Accuracy@3
- type: dot_accuracy@5
value: 0.8726
name: Dot Accuracy@5
- type: dot_accuracy@10
value: 0.9426
name: Dot Accuracy@10
- type: dot_precision@1
value: 0.469
name: Dot Precision@1
- type: dot_precision@3
value: 0.2635333333333333
name: Dot Precision@3
- type: dot_precision@5
value: 0.1816
name: Dot Precision@5
- type: dot_precision@10
value: 0.09888
name: Dot Precision@10
- type: dot_recall@1
value: 0.4528
name: Dot Recall@1
- type: dot_recall@3
value: 0.7551333333333333
name: Dot Recall@3
- type: dot_recall@5
value: 0.8631333333333334
name: Dot Recall@5
- type: dot_recall@10
value: 0.9369166666666668
name: Dot Recall@10
- type: dot_ndcg@10
value: 0.7048748550899542
name: Dot Ndcg@10
- type: dot_mrr@10
value: 0.6340969841269851
name: Dot Mrr@10
- type: dot_map@100
value: 0.629457314431145
name: Dot Map@100
- type: query_active_dims
value: 19.53420066833496
name: Query Active Dims
- type: query_sparsity_ratio
value: 0.9993599960465128
name: Query Sparsity Ratio
- type: corpus_active_dims
value: 153.21818671182547
name: Corpus Active Dims
- type: corpus_sparsity_ratio
value: 0.9949800738250499
name: Corpus Sparsity Ratio
SPLADE-BERT-Tiny
This is a SPLADE Sparse Encoder model finetuned from prajjwal1/bert-tiny using the sentence-transformers library. It maps sentences & paragraphs to a 30522-dimensional sparse vector space and can be used for semantic search and sparse retrieval.
Model Details
Model Description
- Model Type: SPLADE Sparse Encoder
- Base model: prajjwal1/bert-tiny
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 30522 dimensions
- Similarity Function: Dot Product
- Language: en
- License: mit
Model Sources
- Documentation: Sentence Transformers Documentation
- Documentation: Sparse Encoder Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sparse Encoders on Hugging Face
Full Model Architecture
SparseEncoder(
(0): MLMTransformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'BertForMaskedLM'})
(1): SpladePooling({'pooling_strategy': 'max', 'activation_function': 'relu', 'word_embedding_dimension': 30522})
)
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 SparseEncoder
# Download from the 🤗 Hub
model = SparseEncoder("yosefw/SPLADE-BERT-Tiny-BS256")
# Run inference
queries = [
"what is funded depreciation",
]
documents = [
"Depreciation Defined. Depreciating an asset means allocating the asset's cost over its useful life. The useful life of an asset, or economic resource, is the period of time over which a company intends to use this asset in operating activities or manufacturing processes. Funded Depreciation Defined. Funded depreciation is a fixed asset management method that helps a company set aside funds to renew machinery and equipment that it uses in operating activities. For instance, a company buys a new truck valued at $100,000 and records $10,000 in annual depreciation expense over 10 years.",
'Funding Depreciation – Make Your Business More Profitable. Charles Hall is a CPA who heads up an excellent blog by the name of CPA-Scribo. His mission is to assist small- to medium-sized CPA firms with accounting, auditing, fraud and technology issues. We here at Depreciation Guru think he does an excellent job! In a recent post he tackled the topic of funding depreciation.',
'Ratings: 6.1 /10 from 3,128 users. Reviews: 30 user | 2 critic. Liv, a popular television star whose show has just finished its run, and Maddie, an outstanding student and school basketball star whose popularity is on the rise until Liv makes a return to their high school.John D. Beck, Ron Hart.iv and Maddie is surprisingly good. I was expecting an OK show that was somewhat entertaining, instead it is a show that has charm, great comedic timing and is pretty darn adorable. The lead actress who plays both the twins (Dove Cameron) is extremely talented and also has a beautiful voice.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 30522] [3, 30522]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[15.4318, 10.7445, 0.0000]])
Evaluation
Metrics
Sparse Information Retrieval
- Evaluated with
SparseInformationRetrievalEvaluator
| Metric | Value |
|---|---|
| dot_accuracy@1 | 0.469 |
| dot_accuracy@3 | 0.7692 |
| dot_accuracy@5 | 0.8726 |
| dot_accuracy@10 | 0.9426 |
| dot_precision@1 | 0.469 |
| dot_precision@3 | 0.2635 |
| dot_precision@5 | 0.1816 |
| dot_precision@10 | 0.0989 |
| dot_recall@1 | 0.4528 |
| dot_recall@3 | 0.7551 |
| dot_recall@5 | 0.8631 |
| dot_recall@10 | 0.9369 |
| dot_ndcg@10 | 0.7049 |
| dot_mrr@10 | 0.6341 |
| dot_map@100 | 0.6295 |
| query_active_dims | 19.5342 |
| query_sparsity_ratio | 0.9994 |
| corpus_active_dims | 153.2182 |
| corpus_sparsity_ratio | 0.995 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 1,056,494 training samples
- Columns:
query,positive, andnegative - Approximate statistics based on the first 1000 samples:
query positive negative type string string string details - min: 4 tokens
- mean: 9.09 tokens
- max: 24 tokens
- min: 15 tokens
- mean: 79.39 tokens
- max: 229 tokens
- min: 13 tokens
- mean: 78.0 tokens
- max: 207 tokens
- Samples:
query positive negative what is the argFor each point on the plane, arg is the function which returns the angle φ. In mathematics, arg is a function operating on complex numbers (visualized in a complex plane). It gives the angle between the positive real axis to the line joining the point to the origin, shown as φ in figure 1, known as an argument of the point.Argument (complex analysis) In mathematics, arg is a function operating on complex numbers (visualized in a complex plane). It gives the angle between the positive real axis to the line joining the point to the origin, shown as φ in figure 1, known as an argument of the point.symptoms of disc herniationOther symptoms of a herniated disc include severe deep muscle pain and muscle spasms. This answer should not be considered medical advice...This answer should not be considered medical advice and should not take the place of a doctor’s visit.1 If the disc herniation is large enough, the disc tissue can press on the adjacent spinal nerves that exit the spine at the level of the disc herniation. The physical examination, imaging tests, and electrical tests can aid in the diagnosis of a herniated disc.which of the following is found in the dorsal body cityFrom Wikipedia, the free encyclopedia. Human body cavities: Dorsal body cavity is to the left. The dorsal body cavity is located along the dorsal (posterior) surface of the human body, where it is subdivided into the cranial cavity housing the brain and the spinal cavity housing the spinal cord.The two cavities are continuous with one another.rom Wikipedia, the free encyclopedia. Human body cavities: Dorsal body cavity is to the left. The dorsal body cavity is located along the dorsal (posterior) surface of the human body, where it is subdivided into the cranial cavity housing the brain and the spinal cavity housing the spinal cord.Dorsal Cavity: The dorsal cavity is an enclosed chamber that contains a portion of the body's organs and structures.The dorsal cavity is located in the posterior area of the trunk, head and neck and includes the cranial cavity and the spinal cavity.Conditions that can afflict the dorsal cavity include infection, infarction, trauma, cancer, genetic disorders, birth defects, and syndromes.orsal Cavity: The dorsal cavity is an enclosed chamber that contains a portion of the body's organs and structures. - Loss:
SpladeLosswith these parameters:{ "loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score')", "document_regularizer_weight": 0.003, "query_regularizer_weight": 0.005 }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: epochper_device_train_batch_size: 32per_device_eval_batch_size: 32gradient_accumulation_steps: 8learning_rate: 8e-05num_train_epochs: 8lr_scheduler_type: cosinewarmup_ratio: 0.025fp16: Trueload_best_model_at_end: Trueoptim: adamw_torch_fusedpush_to_hub: Truebatch_sampler: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 8eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 8e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 8max_steps: -1lr_scheduler_type: cosinelr_scheduler_kwargs: {}warmup_ratio: 0.025warmup_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_torch_fusedoptim_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: Trueresume_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: Falseneftune_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: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | dot_ndcg@10 |
|---|---|---|---|
| 1.0 | 4127 | 18.923 | 0.6727 |
| 2.0 | 8254 | 0.5405 | 0.6863 |
| 3.0 | 12381 | 0.4993 | 0.6944 |
| 4.0 | 16508 | 0.4659 | 0.6981 |
| 5.0 | 20635 | 0.4383 | 0.7003 |
| 6.0 | 24762 | 0.4186 | 0.7029 |
| 7.0 | 28889 | 0.4058 | 0.7037 |
| 8.0 | 33016 | 0.4003 | 0.7049 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.11.13
- Sentence Transformers: 5.0.0
- Transformers: 4.53.3
- PyTorch: 2.6.0+cu124
- Accelerate: 1.8.1
- Datasets: 4.0.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",
}
SpladeLoss
@misc{formal2022distillationhardnegativesampling,
title={From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective},
author={Thibault Formal and Carlos Lassance and Benjamin Piwowarski and Stéphane Clinchant},
year={2022},
eprint={2205.04733},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2205.04733},
}
SparseMultipleNegativesRankingLoss
@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}
}
FlopsLoss
@article{paria2020minimizing,
title={Minimizing flops to learn efficient sparse representations},
author={Paria, Biswajit and Yeh, Chih-Kuan and Yen, Ian EH and Xu, Ning and Ravikumar, Pradeep and P{'o}czos, Barnab{'a}s},
journal={arXiv preprint arXiv:2004.05665},
year={2020}
}