Downloads · 30 days
25
100% of all-time downloads
i1j/retriever-sparse-splade
retriever-sparse-splade is a feature extraction model from i1j. Use it when you need embeddings to search or compare text. It is set up for sentence-transformers.
This is a SPLADE Sparse Encoder model finetuned from opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1 on the json dataset using the sentence-transformers library. It maps inputs to a 105879-dimensi…
Downloads · 30 days
25
100% of all-time downloads
All-time downloads
25
Public
Parameters
167M
670 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors670 MB · 100%
From the Hugging Face model README
This is a SPLADE Sparse Encoder model finetuned from opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1 on the json dataset using the sentence-transformers library. It maps inputs to a 105879-dimensional sparse vector space and can be used for semantic search and sparse retrieval.
SparseEncoder(
(0): Transformer({'transformer_task': 'fill-mask', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'logits'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertForMaskedLM'})
(1): SpladePooling({'pooling_strategy': 'max', 'activation_function': 'relu', 'embedding_dimension': 105879})
)
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("el1jah184/retriever-sparse-splade")
# Run inference
sentences = [
'Разрешен ли заезд СПК на железнодорожные пути необщего пользования?',
'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ\nОбщие положения:\n\nЗаезд (съезд) СПК на железнодорожный путь допускается производить на железнодорожных путях перегонов, отдельных железнодорожных путях железнодорожных станций или железнодорожных путях необщего пользования, в том числе на специально оборудованных площадках.',
'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ\nОрганизация движения СПК на перегоне:\n\nЗапрещается приступать к работам по подготовке к заезду (съезду) СПК и производить указанные операции до получения руководителем работ по средствам технологической железнодорожной электросвязи приказа диспетчера поездного о закрытии перегона (пути перегона).',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 105879]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[42.7152, 25.9676, 21.4981],
# [25.9676, 60.5897, 44.4998],
# [21.4981, 44.4998, 65.5144]])
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
irs_evaluator| Metric | Value |
|---|---|
| dot_accuracy@1 | 0.7812 |
| dot_accuracy@3 | 0.9241 |
| dot_accuracy@5 | 0.9554 |
| dot_accuracy@10 | 0.9866 |
| dot_precision@1 | 0.7812 |
| dot_precision@3 | 0.308 |
| dot_precision@5 | 0.1911 |
| dot_precision@10 | 0.0987 |
| dot_recall@1 | 0.7812 |
| dot_recall@3 | 0.9241 |
| dot_recall@5 | 0.9554 |
| dot_recall@10 | 0.9866 |
| dot_ndcg@10 | 0.8856 |
| dot_mrr@10 | 0.8528 |
| dot_map@20 | 0.8531 |
| query_active_dims | 215.2545 |
| query_sparsity_ratio | 0.998 |
| corpus_active_dims | 361.4009 |
| corpus_sparsity_ratio | 0.9966 |
| avg_flops | 53.0136 |
| anchor | positive | negative_1 | negative_2 | |
|---|---|---|---|---|
| type | string | string | string | string |
| modality | text | text | text | text |
| details | <ul><li>min: 18 tokens</li><li>mean: 34.94 tokens</li><li>max: 60 tokens</li></ul> | <ul><li>min: 154 tokens</li><li>mean: 379.63 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 134 tokens</li><li>mean: 394.33 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 130 tokens</li><li>mean: 384.94 tokens</li><li>max: 512 tokens</li></ul> |
| anchor | positive | negative_1 | negative_2 |
|---|---|---|---|
| <code>Как возобновляется движение поездов на однопутном перегоне после восстановления систем интервального регулирования и связи?</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>В течение перерыва действия всех систем интервального регулирования движения поездов и связи поезда отправляются по разрешениям на бланке ДУ-56.Для обеспечения непрерывного взаимодействия друг с другом, дежурные смежных железнодорожных станций впредь до восстановления действия систем интервального регулирования движения поездов и связи обязаны пересылать с машинистом ведущего локомотива каждого поезда в обоих направлениях письменные извещения "А" или "Б" о дальнейшем отправлении поездов.Извещения "А", "Б" и "В" на обеих железнодорожных станциях записываются в журнал поездных телефонограмм.Переход на движение поездов при посредстве письменных извещений оформляется в журн...</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ НА УЧАСТКАХ, ОБОРУДОВАННЫХ ПОЛУАВТОМАТИЧЕСКОЙ БЛОКИРОВКОЙ<br>Прием и отправление поездов:<br><br>Отправление поездов на однопутных и двухпутных перегонах (по правильному железнодорожному пути) с возвращением с перегона на железнодорожную станцию отправления производится при запрещающем показании выходного светофора с выдачей машинисту ключа-жезла на право проследования выходного светофора с запрещающим показанием и обратного следования по перегону до границы станции.При этом на однопутных перегонах перед отправлением поезда на перегон с последующим возвращением должно быть получено от смежной железнодорожной станции по блок-аппарату согласие на отправление поезда или блок-система переключена на соответствующее направление движения.Отправление двух и более единиц специального самоходного подвижного состава ...</code> |
| <code>Кто отдаёт приказ о возобновлении движения поездов на однопутном перегоне после устранения перерыва связи?</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>Если дежурным по железнодорожной станции, получающим с прекращением действия связи право на отправление первого поезда в преимущественном направлении, разрешение на отправление поезда было получено до перерыва действия связи, то, отправляя поезд по этому разрешению, он обязан одновременно установить письменную связь с дежурным смежной железнодорожной станции.</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. Общие требования к организации движения поездов на железнодорожном транспорте:<br><br>Дежурный по железнодорожной станции после прибытия (возвращения), отправления или проследования поезда обязан немедленно сообщить об этом дежурному по железнодорожной станции смежной станции и диспетчеру поездному.<br>На станциях, оборудованных автоматизированными рабочими местами управления электрической централизации, данные действия производятся подачей соответствующих управляющих команд.<br>Об отправлении (проследовании) поезда сообщается:<br>"Поезд N ... отправился (проследовал) в ... ч ... минут".<br>О прибытии (возвращении) поезда сообщается:<br>"Поезд N ... прибыл (возвратился) в ... ч ... минут".<br>Если поезд следует с подталкивающим локомотивом, уведомления об отправлении и прибытии такого поезда дополняются словами "с толкачом".<br>При наличии в поезде вагонов с о...</code> |
| <code>Что обязан проверить диспетчер поездной перед выдачей приказа о возобновлении движения поездов на однопутном перегоне?</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>Если к моменту перерыва действия всех систем интервального регулирования движения поездов и связи на железнодорожной станции отсутствуют нечетные поезда для отправления на перегон, ограниченный железнодорожными станциями, между которыми прекратилась связь, то дежурный по железнодорожной станции, имеющий право отправления первого поезда, если ему известно о наличии к отправлению на этот перегон поезда со смежной железнодорожной станции, посылает на эту железнодорожную станцию извещение следующего содержания:содержание извещения "В": "Ожидаю от Вас поезд. ДСП ....".На перегонах, не оборудованных двусторонней автоматической блокировкой, для пересылки письменных извещений ф...</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>Если системы интервального регулирования движения поездов и связи восстановлены ранее, чем диспетчерская связь, то дежурный по железнодорожной станции, пользующийся правом отправления поездов в преимущественном направлении, передает дежурному смежной железнодорожной станции телефонограмму следующего содержания:"На перегоне между станциями ... ... движение поездов устанавливается по ...... (указывается система интервального регулирования движения поездов).Последним прибыл от Вас поезд N .... Отправлен к Вам поезд N .... ДСП ....".Дежурный по смежной железнодорожной станции, убедившись в свободности перегона, отвечает:"Последним прибыл от Вас поезд N .... Отправлен к Вам ...</code> |
{
"loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score', gather_across_devices=False, directions=('query_to_doc',), partition_mode='joint', hardness_mode=None, hardness_strength=0.0)",
"document_regularizer_weight": 0.003,
"query_regularizer_weight": 0.003,
"mini_batch_size": 8,
"mini_batch_num_tokens": null
}
per_device_train_batch_size: 16learning_rate: 1e-05num_train_epochs: 2warmup_steps: 0.1fp16: Trueload_best_model_at_end: Truegradient_checkpointing: Truebatch_sampler: no_duplicatesdo_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 8gradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 1e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 2max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 0.1log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Truebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}accelerator_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: Nonegroup_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: Truepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Truegradient_checkpointing_kwargs: Noneinclude_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_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: Trueuse_cache: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | irs_evaluator_dot_ndcg@10 |
|---|---|---|---|
| 0.1154 | 3 | 1.6048 | 0.4510 |
| 0.2308 | 6 | 1.5075 | 0.4510 |
| 0.3462 | 9 | 1.4610 | 0.6594 |
| 0.4615 | 12 | 0.7093 | 0.7735 |
| 0.5769 | 15 | 0.4574 | 0.8256 |
| 0.6923 | 18 | 0.5304 | 0.8530 |
| 0.8077 | 21 | 0.4595 | 0.8694 |
| 0.9231 | 24 | 0.3306 | 0.8717 |
| 1.0385 | 27 | 0.5531 | 0.8767 |
| 1.1538 | 30 | 0.1745 | 0.8856 |
@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",
}
@misc{gao2021scaling,
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
year={2021},
eprint={2101.06983},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
@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\'ephane Clinchant},
year={2022},
eprint={2205.04733},
archivePrefix={arXiv},
primaryClass={cs.IR},
}
@misc{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
@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}
}
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->