--- tags: - sentence-transformers - sparse-encoder - sparse - splade - generated_from_trainer - dataset_size:415 - loss:CachedSpladeLoss - loss:SparseMultipleNegativesRankingLoss - loss:FlopsLoss base_model: opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1 widget: - text: Нужно ли закрывать перегон, если СПК заезжает и съезжает в границах одного и того же перегона? - text: Как закрывается и открывается перегон, если заезд и съезд СПК происходят в пределах одного перегона? - text: 'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ Организация движения СПК на перегоне: Для заезда (съезда) СПК на перегоне между железнодорожными станциями, соответствующий железнодорожный путь перегона закрывается для движения всех поездов кроме СПК по приказу диспетчера поездного.Разрешается заезд (съезд) на путь перегона только при его свободности от поездов.' - text: Может ли управлять СПК любой машинист или только указанный в локальном нормативном акте владельца инфраструктуры? - text: 'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ Организация движения СПК на перегоне: Запрещается приступать к работам по подготовке к заезду (съезду) СПК и производить указанные операции до получения руководителем работ по средствам технологической железнодорожной электросвязи приказа диспетчера поездного о закрытии перегона (пути перегона).' 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@20 - query_active_dims - query_sparsity_ratio - corpus_active_dims - corpus_sparsity_ratio - avg_flops model-index: - name: SPLADE Sparse Encoder results: - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: irs evaluator type: irs_evaluator metrics: - type: dot_accuracy@1 value: 0.78125 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.9241071428571429 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.9553571428571429 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.9866071428571429 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.78125 name: Dot Precision@1 - type: dot_precision@3 value: 0.3080357142857143 name: Dot Precision@3 - type: dot_precision@5 value: 0.1910714285714286 name: Dot Precision@5 - type: dot_precision@10 value: 0.0986607142857143 name: Dot Precision@10 - type: dot_recall@1 value: 0.78125 name: Dot Recall@1 - type: dot_recall@3 value: 0.9241071428571429 name: Dot Recall@3 - type: dot_recall@5 value: 0.9553571428571429 name: Dot Recall@5 - type: dot_recall@10 value: 0.9866071428571429 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.8855710842974792 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.8528380102040817 name: Dot Mrr@10 - type: dot_map@20 value: 0.8531356292517006 name: Dot Map@20 - type: query_active_dims value: 215.2544708251953 name: Query Active Dims - type: query_sparsity_ratio value: 0.997966976729803 name: Query Sparsity Ratio - type: corpus_active_dims value: 361.40087890625 name: Corpus Active Dims - type: corpus_sparsity_ratio value: 0.9965866613879405 name: Corpus Sparsity Ratio - type: avg_flops value: 53.013587951660156 name: Avg Flops --- # SPLADE Sparse Encoder This is a [SPLADE Sparse Encoder](https://www.sbert.net/docs/sparse_encoder/usage/usage.html) model finetuned from [opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1](https://huggingface.co/opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1) on the json dataset using the [sentence-transformers](https://www.SBERT.net) library. It maps inputs to a 105879-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:** [opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1](https://huggingface.co/opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 105879 dimensions - **Similarity Function:** Dot Product - **Supported Modality:** Text - **Training Dataset:** - json ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Documentation:** [Sparse Encoder Documentation](https://www.sbert.net/docs/sparse_encoder/usage/usage.html) - **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers) - **Hugging Face:** [Sparse Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=sparse-encoder) ### Full Model Architecture ``` 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}) ) ``` ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python 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]]) ``` ## Evaluation ### Metrics #### Sparse Information Retrieval * Dataset: `irs_evaluator` * Evaluated with [SparseInformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sparse_encoder/evaluation.html#sentence_transformers.sparse_encoder.evaluation.SparseInformationRetrievalEvaluator) | 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 | ## Training Details ### Training Dataset #### json * Dataset: json * Size: 415 training samples * Columns: anchor, positive, negative_1, and negative_2 * Approximate statistics based on the first 100 samples: | | anchor | positive | negative_1 | negative_2 | |:---------|:-----------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------| | type | string | string | string | string | | modality | text | text | text | text | | details | | | | | * Samples: | anchor | positive | negative_1 | negative_2 | |:-----------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Как возобновляется движение поездов на однопутном перегоне после восстановления систем интервального регулирования и связи? | ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.
| ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

В течение перерыва действия всех систем интервального регулирования движения поездов и связи поезда отправляются по разрешениям на бланке ДУ-56.Для обеспечения непрерывного взаимодействия друг с другом, дежурные смежных железнодорожных станций впредь до восстановления действия систем интервального регулирования движения поездов и связи обязаны пересылать с машинистом ведущего локомотива каждого поезда в обоих направлениях письменные извещения "А" или "Б" о дальнейшем отправлении поездов.Извещения "А", "Б" и "В" на обеих железнодорожных станциях записываются в журнал поездных телефонограмм.Переход на движение поездов при посредстве письменных извещений оформляется в журн...
| ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ НА УЧАСТКАХ, ОБОРУДОВАННЫХ ПОЛУАВТОМАТИЧЕСКОЙ БЛОКИРОВКОЙ
Прием и отправление поездов:

Отправление поездов на однопутных и двухпутных перегонах (по правильному железнодорожному пути) с возвращением с перегона на железнодорожную станцию отправления производится при запрещающем показании выходного светофора с выдачей машинисту ключа-жезла на право проследования выходного светофора с запрещающим показанием и обратного следования по перегону до границы станции.При этом на однопутных перегонах перед отправлением поезда на перегон с последующим возвращением должно быть получено от смежной железнодорожной станции по блок-аппарату согласие на отправление поезда или блок-система переключена на соответствующее направление движения.Отправление двух и более единиц специального самоходного подвижного состава ...
| | Кто отдаёт приказ о возобновлении движения поездов на однопутном перегоне после устранения перерыва связи? | ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.
| ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

Если дежурным по железнодорожной станции, получающим с прекращением действия связи право на отправление первого поезда в преимущественном направлении, разрешение на отправление поезда было получено до перерыва действия связи, то, отправляя поезд по этому разрешению, он обязан одновременно установить письменную связь с дежурным смежной железнодорожной станции.
| ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. Общие требования к организации движения поездов на железнодорожном транспорте:

Дежурный по железнодорожной станции после прибытия (возвращения), отправления или проследования поезда обязан немедленно сообщить об этом дежурному по железнодорожной станции смежной станции и диспетчеру поездному.
На станциях, оборудованных автоматизированными рабочими местами управления электрической централизации, данные действия производятся подачей соответствующих управляющих команд.
Об отправлении (проследовании) поезда сообщается:
"Поезд N ... отправился (проследовал) в ... ч ... минут".
О прибытии (возвращении) поезда сообщается:
"Поезд N ... прибыл (возвратился) в ... ч ... минут".
Если поезд следует с подталкивающим локомотивом, уведомления об отправлении и прибытии такого поезда дополняются словами "с толкачом".
При наличии в поезде вагонов с о...
| | Что обязан проверить диспетчер поездной перед выдачей приказа о возобновлении движения поездов на однопутном перегоне? | ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.
| ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

Если к моменту перерыва действия всех систем интервального регулирования движения поездов и связи на железнодорожной станции отсутствуют нечетные поезда для отправления на перегон, ограниченный железнодорожными станциями, между которыми прекратилась связь, то дежурный по железнодорожной станции, имеющий право отправления первого поезда, если ему известно о наличии к отправлению на этот перегон поезда со смежной железнодорожной станции, посылает на эту железнодорожную станцию извещение следующего содержания:содержание извещения "В": "Ожидаю от Вас поезд. ДСП ....".На перегонах, не оборудованных двусторонней автоматической блокировкой, для пересылки письменных извещений ф...
| ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ
Движение поездов на однопутных перегонах:

Если системы интервального регулирования движения поездов и связи восстановлены ранее, чем диспетчерская связь, то дежурный по железнодорожной станции, пользующийся правом отправления поездов в преимущественном направлении, передает дежурному смежной железнодорожной станции телефонограмму следующего содержания:"На перегоне между станциями ... ... движение поездов устанавливается по ...... (указывается система интервального регулирования движения поездов).Последним прибыл от Вас поезд N .... Отправлен к Вам поезд N .... ДСП ....".Дежурный по смежной железнодорожной станции, убедившись в свободности перегона, отвечает:"Последним прибыл от Вас поезд N .... Отправлен к Вам ...
| * Loss: [CachedSpladeLoss](https://sbert.net/docs/package_reference/sparse_encoder/losses.html#cachedspladeloss) with these parameters: ```json { "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 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `per_device_train_batch_size`: 16 - `learning_rate`: 1e-05 - `num_train_epochs`: 2 - `warmup_steps`: 0.1 - `fp16`: True - `load_best_model_at_end`: True - `gradient_checkpointing`: True - `batch_sampler`: no_duplicates #### All Hyperparameters
Click to expand - `do_predict`: False - `prediction_loss_only`: True - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 8 - `gradient_accumulation_steps`: 1 - `eval_accumulation_steps`: None - `torch_empty_cache_steps`: None - `learning_rate`: 1e-05 - `weight_decay`: 0.0 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1.0 - `num_train_epochs`: 2 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: None - `warmup_ratio`: None - `warmup_steps`: 0.1 - `log_level`: passive - `log_level_replica`: warning - `log_on_each_node`: True - `logging_nan_inf_filter`: True - `enable_jit_checkpoint`: False - `save_on_each_node`: False - `save_only_model`: False - `restore_callback_states_from_checkpoint`: False - `use_cpu`: False - `seed`: 42 - `data_seed`: None - `bf16`: False - `fp16`: True - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: None - `local_rank`: -1 - `ddp_backend`: None - `debug`: [] - `dataloader_drop_last`: False - `dataloader_num_workers`: 0 - `dataloader_prefetch_factor`: None - `disable_tqdm`: False - `remove_unused_columns`: True - `label_names`: None - `load_best_model_at_end`: True - `ignore_data_skip`: False - `fsdp`: [] - `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`: None - `deepspeed`: None - `label_smoothing_factor`: 0.0 - `optim`: adamw_torch_fused - `optim_args`: None - `group_by_length`: False - `length_column_name`: length - `project`: huggingface - `trackio_space_id`: trackio - `ddp_find_unused_parameters`: None - `ddp_bucket_cap_mb`: None - `ddp_broadcast_buffers`: False - `dataloader_pin_memory`: True - `dataloader_persistent_workers`: False - `skip_memory_metrics`: True - `push_to_hub`: False - `resume_from_checkpoint`: None - `hub_model_id`: None - `hub_strategy`: every_save - `hub_private_repo`: None - `hub_always_push`: False - `hub_revision`: None - `gradient_checkpointing`: True - `gradient_checkpointing_kwargs`: None - `include_for_metrics`: [] - `eval_do_concat_batches`: True - `auto_find_batch_size`: False - `full_determinism`: False - `ddp_timeout`: 1800 - `torch_compile`: False - `torch_compile_backend`: None - `torch_compile_mode`: None - `include_num_input_tokens_seen`: no - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_eval_metrics`: False - `eval_on_start`: False - `use_liger_kernel`: False - `liger_kernel_config`: None - `eval_use_gather_object`: False - `average_tokens_across_devices`: True - `use_cache`: False - `prompts`: None - `batch_sampler`: no_duplicates - `multi_dataset_batch_sampler`: proportional - `router_mapping`: {} - `learning_rate_mapping`: {}
### Training Logs | 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 | ### Training Time - **Training**: 5.5 minutes ### Framework Versions - Python: 3.12.13 - Sentence Transformers: 6.0.0 - Transformers: 5.0.0 - PyTorch: 2.10.0+cu128 - Accelerate: 1.13.0 - Datasets: 5.0.0 - Tokenizers: 0.22.2 ## Additional Resources - [Training and Finetuning Sparse Embedding Models with Sentence Transformers](https://huggingface.co/blog/train-sparse-encoder): the end-to-end guide for training or finetuning SPLADE and other sparse encoder models. ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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", } ``` #### CachedSpladeLoss ```bibtex @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}, } ``` #### SparseMultipleNegativesRankingLoss ```bibtex @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}, } ``` #### FlopsLoss ```bibtex @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} } ```