Views
No views yet
SparseEncoder(
(0): Router(
(sub_modules): ModuleDict(
(query): Sequential(
(0): SparseStaticEmbedding({'frozen': False}, dim=30522, tokenizer=DistilBertTokenizerFast)
)
(document): Sequential(
(0): MLMTransformer({'max_seq_length': 8192, 'do_lower_case': False, 'architecture': 'NewForMaskedLM'})
(1): SpladePooling({'pooling_strategy': 'max', 'activation_function': 'log1p_relu', 'word_embedding_dimension': 30522})
)
)
)
){
"NDCG": {
"NDCG@2": 0.82678,
"NDCG@10": 0.86919,
"NDCG@20": 0.87429,
"NDCG@100": 0.87886
},
"MAP": {
"MAP@2": 0.8145,
"MAP@10": 0.84849,
"MAP@20": 0.85042,
"MAP@100": 0.85119
},
"Recall": {
"Recall@2": 0.8235,
"Recall@10": 0.905,
"Recall@20": 0.9215,
"Recall@100": 0.942
},
"Precision": {
"P@2": 0.8235,
"P@10": 0.181,
"P@20": 0.09215,
"P@100": 0.01884
}
}pip install -U sentence-transformers1from sentence_transformers import SparseEncoder
2
3# Download from the 🤗 Hub
4model = SparseEncoder("Frinkleko/opensearch-project_opensearch-neural-sparse-encoding-doc-v3-gte-limit-samples-2")
5# Run inference
6queries = [
7 "Which planet is known as the Red Planet?",
8]
9documents = [
10 "Venus is often called Earth's twin because of its similar size and proximity.",
11 'Mars, known for its reddish appearance, is often referred to as the Red Planet.',
12 'Saturn, famous for its rings, is sometimes mistaken for the Red Planet.',
13]
14query_embeddings = model.encode_query(queries)
15document_embeddings = model.encode_document(documents)
16print(query_embeddings.shape, document_embeddings.shape)
17# [1, 30522] [3, 30522]
18
19# Get the similarity scores for the embeddings
20similarities = model.similarity(query_embeddings, document_embeddings)
21print(similarities)
22# tensor([[ 6.8167, 15.0012, 13.5434]])query and document| query | document | |
|---|---|---|
| type | string | string |
| details |
|
|
| query | document |
|---|---|
Who likes Sunflowers? | Rasmus Logan likes Dark Chocolate, Documentary Series, Washing Machines, Softball, Sunflowers, Gregorian chants, Za'atar, Abacuses, Dolphins, Root Beer Floats, Cumin, Coconut Flour. |
Who likes Shaved Ice? | Abdulkarem Boyer likes Stag Beetles, Acacia Trees, Olives, Landscape Photography, Neoclassicism, Guinea Pigs, Mentoring, Parsley, Chemistry, Vases, Shaved Ice. |
SpladeLoss with these parameters:
1{
2 "loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score', gather_across_devices=False)",
3 "document_regularizer_weight": 3e-05,
4 "query_regularizer_weight": 5e-05
5}per_device_train_batch_size: 1num_train_epochs: 40warmup_ratio: 0.1batch_sampler: no_duplicatesrouter_mapping: {'query': 'query', 'document': 'document'}overwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 1per_device_eval_batch_size: 8per_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: 40max_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}parallelism_config: Nonedeepspeed: 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: 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: 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: {'query': 'query', 'document': 'document'}learning_rate_mapping: {}1@inproceedings{reimers-2019-sentence-bert,
2 title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
3 author = "Reimers, Nils and Gurevych, Iryna",
4 booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
5 month = "11",
6 year = "2019",
7 publisher = "Association for Computational Linguistics",
8 url = "https://arxiv.org/abs/1908.10084",
9}@misc{weller2025theoreticallimit,
title={On the Theoretical Limitations of Embedding-Based Retrieval},
author={Orion Weller and Michael Boratko and Iftekhar Naim and Jinhyuk Lee},
year={2025},
eprint={2508.21038},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2508.21038},
}@inproceedings{Shen_2025, series={SIGIR ’25},
title={Exploring $\ell_0$ parsification for Inference-free Sparse Retrievers},
url={http://dx.doi.org/10.1145/3726302.3730192},
DOI={10.1145/3726302.3730192},
booktitle={Proceedings of the 48th International ACM SIGIR Conference on Research and Development in Information Retrieval},
publisher={ACM},
author={Shen, Xinjie and Geng, Zhichao and Yang, Yang},
year={2025},
month=jul, pages={2572–2576},
collection={SIGIR ’25}
}@misc{geng2025competitivesearchrelevanceinferencefree,
title={Towards Competitive Search Relevance For Inference-Free Learned Sparse Retrievers},
author={Zhichao Geng and Yiwen Wang and Dongyu Ru and Yang Yang},
year={2025},
eprint={2411.04403},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2411.04403},
}1@misc{formal2022distillationhardnegativesampling,
2 title={From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective},
3 author={Thibault Formal and Carlos Lassance and Benjamin Piwowarski and Stéphane Clinchant},
4 year={2022},
5 eprint={2205.04733},
6 archivePrefix={arXiv},
7 primaryClass={cs.IR},
8 url={https://arxiv.org/abs/2205.04733},
9}1@misc{henderson2017efficient,
2 title={Efficient Natural Language Response Suggestion for Smart Reply},
3 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},
4 year={2017},
5 eprint={1705.00652},
6 archivePrefix={arXiv},
7 primaryClass={cs.CL}
8}1@article{paria2020minimizing,
2 title={Minimizing flops to learn efficient sparse representations},
3 author={Paria, Biswajit and Yeh, Chih-Kuan and Yen, Ian EH and Xu, Ning and Ravikumar, Pradeep and P{'o}czos, Barnab{'a}s},
4 journal={arXiv preprint arXiv:2004.05665},
5 year={2020}
6}