Feature Extraction
sentence-transformers
Safetensors
bert
sparse-encoder
sparse
splade
Generated from Trainer
dataset_size:415
loss:CachedSpladeLoss
loss:SparseMultipleNegativesRankingLoss
loss:FlopsLoss
Eval Results (legacy)
text-embeddings-inference
Instructions to use i1j/retriever-sparse-splade with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use i1j/retriever-sparse-splade with sentence-transformers:
from sentence_transformers import SparseEncoder model = SparseEncoder("i1j/retriever-sparse-splade") queries = ["Which planet is known as the Red Planet?"] documents = [ "Venus is often called Earth's twin because of its similar size and proximity.", "Mars, known for its reddish appearance, is often referred to as the Red Planet.", "Jupiter, the largest planet in our solar system, has a prominent red spot.", ] query_embeddings = model.encode_query(queries) document_embeddings = model.encode_document(documents) similarities = model.similarity(query_embeddings, document_embeddings) print(similarities) - Notebooks
- Google Colab
- Kaggle
Upload folder using huggingface_hub
Browse files- 1_SpladePooling/config.json +5 -0
- README.md +523 -0
- config.json +35 -0
- config_sentence_transformers.json +14 -0
- model.safetensors +3 -0
- modules.json +14 -0
- sentence_bert_config.json +10 -0
- tokenizer.json +0 -0
- tokenizer_config.json +22 -0
1_SpladePooling/config.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"pooling_strategy": "max",
|
| 3 |
+
"activation_function": "relu",
|
| 4 |
+
"embedding_dimension": 105879
|
| 5 |
+
}
|
README.md
ADDED
|
@@ -0,0 +1,523 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
tags:
|
| 3 |
+
- sentence-transformers
|
| 4 |
+
- sparse-encoder
|
| 5 |
+
- sparse
|
| 6 |
+
- splade
|
| 7 |
+
- generated_from_trainer
|
| 8 |
+
- dataset_size:415
|
| 9 |
+
- loss:CachedSpladeLoss
|
| 10 |
+
- loss:SparseMultipleNegativesRankingLoss
|
| 11 |
+
- loss:FlopsLoss
|
| 12 |
+
base_model: opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1
|
| 13 |
+
widget:
|
| 14 |
+
- text: Нужно ли закрывать перегон, если СПК заезжает и съезжает в границах одного
|
| 15 |
+
и того же перегона?
|
| 16 |
+
- text: Как закрывается и открывается перегон, если заезд и съезд СПК происходят в
|
| 17 |
+
пределах одного перегона?
|
| 18 |
+
- text: 'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ
|
| 19 |
+
ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ.
|
| 20 |
+
ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ
|
| 21 |
+
|
| 22 |
+
Организация движения СПК на перегоне:
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
Для заезда (съезда) СПК на перегоне между железнодорожными станциями, соответствующий
|
| 26 |
+
железнодорожный путь перегона закрывается для движения всех поездов кроме СПК
|
| 27 |
+
по приказу диспетчера поездного.Разрешается заезд (съезд) на путь перегона только
|
| 28 |
+
при его свободности от поездов.'
|
| 29 |
+
- text: Может ли управлять СПК любой машинист или только указанный в локальном нормативном
|
| 30 |
+
акте владельца инфраструктуры?
|
| 31 |
+
- text: 'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ
|
| 32 |
+
ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ.
|
| 33 |
+
ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ
|
| 34 |
+
|
| 35 |
+
Организация движения СПК на перегоне:
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
Запрещается приступать к работам по подготовке к заезду (съезду) СПК и производить
|
| 39 |
+
указанные операции до получения руководителем работ по средствам технологической
|
| 40 |
+
железнодорожной электросвязи приказа диспетчера поездного о закрытии перегона
|
| 41 |
+
(пути перегона).'
|
| 42 |
+
pipeline_tag: feature-extraction
|
| 43 |
+
library_name: sentence-transformers
|
| 44 |
+
metrics:
|
| 45 |
+
- dot_accuracy@1
|
| 46 |
+
- dot_accuracy@3
|
| 47 |
+
- dot_accuracy@5
|
| 48 |
+
- dot_accuracy@10
|
| 49 |
+
- dot_precision@1
|
| 50 |
+
- dot_precision@3
|
| 51 |
+
- dot_precision@5
|
| 52 |
+
- dot_precision@10
|
| 53 |
+
- dot_recall@1
|
| 54 |
+
- dot_recall@3
|
| 55 |
+
- dot_recall@5
|
| 56 |
+
- dot_recall@10
|
| 57 |
+
- dot_ndcg@10
|
| 58 |
+
- dot_mrr@10
|
| 59 |
+
- dot_map@20
|
| 60 |
+
- query_active_dims
|
| 61 |
+
- query_sparsity_ratio
|
| 62 |
+
- corpus_active_dims
|
| 63 |
+
- corpus_sparsity_ratio
|
| 64 |
+
- avg_flops
|
| 65 |
+
model-index:
|
| 66 |
+
- name: SPLADE Sparse Encoder
|
| 67 |
+
results:
|
| 68 |
+
- task:
|
| 69 |
+
type: sparse-information-retrieval
|
| 70 |
+
name: Sparse Information Retrieval
|
| 71 |
+
dataset:
|
| 72 |
+
name: irs evaluator
|
| 73 |
+
type: irs_evaluator
|
| 74 |
+
metrics:
|
| 75 |
+
- type: dot_accuracy@1
|
| 76 |
+
value: 0.78125
|
| 77 |
+
name: Dot Accuracy@1
|
| 78 |
+
- type: dot_accuracy@3
|
| 79 |
+
value: 0.9241071428571429
|
| 80 |
+
name: Dot Accuracy@3
|
| 81 |
+
- type: dot_accuracy@5
|
| 82 |
+
value: 0.9553571428571429
|
| 83 |
+
name: Dot Accuracy@5
|
| 84 |
+
- type: dot_accuracy@10
|
| 85 |
+
value: 0.9866071428571429
|
| 86 |
+
name: Dot Accuracy@10
|
| 87 |
+
- type: dot_precision@1
|
| 88 |
+
value: 0.78125
|
| 89 |
+
name: Dot Precision@1
|
| 90 |
+
- type: dot_precision@3
|
| 91 |
+
value: 0.3080357142857143
|
| 92 |
+
name: Dot Precision@3
|
| 93 |
+
- type: dot_precision@5
|
| 94 |
+
value: 0.1910714285714286
|
| 95 |
+
name: Dot Precision@5
|
| 96 |
+
- type: dot_precision@10
|
| 97 |
+
value: 0.0986607142857143
|
| 98 |
+
name: Dot Precision@10
|
| 99 |
+
- type: dot_recall@1
|
| 100 |
+
value: 0.78125
|
| 101 |
+
name: Dot Recall@1
|
| 102 |
+
- type: dot_recall@3
|
| 103 |
+
value: 0.9241071428571429
|
| 104 |
+
name: Dot Recall@3
|
| 105 |
+
- type: dot_recall@5
|
| 106 |
+
value: 0.9553571428571429
|
| 107 |
+
name: Dot Recall@5
|
| 108 |
+
- type: dot_recall@10
|
| 109 |
+
value: 0.9866071428571429
|
| 110 |
+
name: Dot Recall@10
|
| 111 |
+
- type: dot_ndcg@10
|
| 112 |
+
value: 0.8855710842974792
|
| 113 |
+
name: Dot Ndcg@10
|
| 114 |
+
- type: dot_mrr@10
|
| 115 |
+
value: 0.8528380102040817
|
| 116 |
+
name: Dot Mrr@10
|
| 117 |
+
- type: dot_map@20
|
| 118 |
+
value: 0.8531356292517006
|
| 119 |
+
name: Dot Map@20
|
| 120 |
+
- type: query_active_dims
|
| 121 |
+
value: 215.2544708251953
|
| 122 |
+
name: Query Active Dims
|
| 123 |
+
- type: query_sparsity_ratio
|
| 124 |
+
value: 0.997966976729803
|
| 125 |
+
name: Query Sparsity Ratio
|
| 126 |
+
- type: corpus_active_dims
|
| 127 |
+
value: 361.40087890625
|
| 128 |
+
name: Corpus Active Dims
|
| 129 |
+
- type: corpus_sparsity_ratio
|
| 130 |
+
value: 0.9965866613879405
|
| 131 |
+
name: Corpus Sparsity Ratio
|
| 132 |
+
- type: avg_flops
|
| 133 |
+
value: 53.013587951660156
|
| 134 |
+
name: Avg Flops
|
| 135 |
+
---
|
| 136 |
+
|
| 137 |
+
# SPLADE Sparse Encoder
|
| 138 |
+
|
| 139 |
+
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.
|
| 140 |
+
## Model Details
|
| 141 |
+
|
| 142 |
+
### Model Description
|
| 143 |
+
- **Model Type:** SPLADE Sparse Encoder
|
| 144 |
+
- **Base model:** [opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1](https://huggingface.co/opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1) <!-- at revision 1e0f096c2b51c234f1d20725c793e1b5b6d556db -->
|
| 145 |
+
- **Maximum Sequence Length:** 512 tokens
|
| 146 |
+
- **Output Dimensionality:** 105879 dimensions
|
| 147 |
+
- **Similarity Function:** Dot Product
|
| 148 |
+
- **Supported Modality:** Text
|
| 149 |
+
- **Training Dataset:**
|
| 150 |
+
- json
|
| 151 |
+
<!-- - **Language:** Unknown -->
|
| 152 |
+
<!-- - **License:** Unknown -->
|
| 153 |
+
|
| 154 |
+
### Model Sources
|
| 155 |
+
|
| 156 |
+
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
|
| 157 |
+
- **Documentation:** [Sparse Encoder Documentation](https://www.sbert.net/docs/sparse_encoder/usage/usage.html)
|
| 158 |
+
- **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers)
|
| 159 |
+
- **Hugging Face:** [Sparse Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=sparse-encoder)
|
| 160 |
+
|
| 161 |
+
### Full Model Architecture
|
| 162 |
+
|
| 163 |
+
```
|
| 164 |
+
SparseEncoder(
|
| 165 |
+
(0): Transformer({'transformer_task': 'fill-mask', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'logits'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertForMaskedLM'})
|
| 166 |
+
(1): SpladePooling({'pooling_strategy': 'max', 'activation_function': 'relu', 'embedding_dimension': 105879})
|
| 167 |
+
)
|
| 168 |
+
```
|
| 169 |
+
|
| 170 |
+
## Usage
|
| 171 |
+
|
| 172 |
+
### Direct Usage (Sentence Transformers)
|
| 173 |
+
|
| 174 |
+
First install the Sentence Transformers library:
|
| 175 |
+
|
| 176 |
+
```bash
|
| 177 |
+
pip install -U sentence-transformers
|
| 178 |
+
```
|
| 179 |
+
Then you can load this model and run inference.
|
| 180 |
+
```python
|
| 181 |
+
from sentence_transformers import SparseEncoder
|
| 182 |
+
|
| 183 |
+
# Download from the 🤗 Hub
|
| 184 |
+
model = SparseEncoder("el1jah184/retriever-sparse-splade")
|
| 185 |
+
# Run inference
|
| 186 |
+
sentences = [
|
| 187 |
+
'Разрешен ли заезд СПК на железнодорожные пути необщего пользования?',
|
| 188 |
+
'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ\nОбщие положения:\n\nЗаезд (съезд) СПК на железнодорожный путь допускается производить на железнодорожных путях перегонов, отдельных железнодорожных путях железнодорожных станций или железнодорожных путях необщего пользования, в том числе на специально оборудованных площадках.',
|
| 189 |
+
'ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ДВИЖЕНИЯ СПЕЦИАЛЬНОГО ПОДВИЖНОГО СОСТАВА НА КОМБИНИРОВАННОМ ХОДУ\nОрганизация движения СПК на перегоне:\n\nЗапрещается приступать к работам по подготовке к заезду (съезду) СПК и производить указанные операции до получения руководителем работ по средствам технологической железнодорожной электросвязи приказа диспетчера поездного о закрытии перегона (пути перегона).',
|
| 190 |
+
]
|
| 191 |
+
embeddings = model.encode(sentences)
|
| 192 |
+
print(embeddings.shape)
|
| 193 |
+
# [3, 105879]
|
| 194 |
+
|
| 195 |
+
# Get the similarity scores for the embeddings
|
| 196 |
+
similarities = model.similarity(embeddings, embeddings)
|
| 197 |
+
print(similarities)
|
| 198 |
+
# tensor([[42.7152, 25.9676, 21.4981],
|
| 199 |
+
# [25.9676, 60.5897, 44.4998],
|
| 200 |
+
# [21.4981, 44.4998, 65.5144]])
|
| 201 |
+
```
|
| 202 |
+
<!--
|
| 203 |
+
### Direct Usage (Transformers)
|
| 204 |
+
|
| 205 |
+
<details><summary>Click to see the direct usage in Transformers</summary>
|
| 206 |
+
|
| 207 |
+
</details>
|
| 208 |
+
-->
|
| 209 |
+
|
| 210 |
+
<!--
|
| 211 |
+
### Downstream Usage (Sentence Transformers)
|
| 212 |
+
|
| 213 |
+
You can finetune this model on your own dataset.
|
| 214 |
+
|
| 215 |
+
<details><summary>Click to expand</summary>
|
| 216 |
+
|
| 217 |
+
</details>
|
| 218 |
+
-->
|
| 219 |
+
|
| 220 |
+
<!--
|
| 221 |
+
### Out-of-Scope Use
|
| 222 |
+
|
| 223 |
+
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
|
| 224 |
+
-->
|
| 225 |
+
|
| 226 |
+
## Evaluation
|
| 227 |
+
|
| 228 |
+
### Metrics
|
| 229 |
+
|
| 230 |
+
#### Sparse Information Retrieval
|
| 231 |
+
|
| 232 |
+
* Dataset: `irs_evaluator`
|
| 233 |
+
* Evaluated with [<code>SparseInformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sparse_encoder/evaluation.html#sentence_transformers.sparse_encoder.evaluation.SparseInformationRetrievalEvaluator)
|
| 234 |
+
|
| 235 |
+
| Metric | Value |
|
| 236 |
+
|:----------------------|:-----------|
|
| 237 |
+
| dot_accuracy@1 | 0.7812 |
|
| 238 |
+
| dot_accuracy@3 | 0.9241 |
|
| 239 |
+
| dot_accuracy@5 | 0.9554 |
|
| 240 |
+
| dot_accuracy@10 | 0.9866 |
|
| 241 |
+
| dot_precision@1 | 0.7812 |
|
| 242 |
+
| dot_precision@3 | 0.308 |
|
| 243 |
+
| dot_precision@5 | 0.1911 |
|
| 244 |
+
| dot_precision@10 | 0.0987 |
|
| 245 |
+
| dot_recall@1 | 0.7812 |
|
| 246 |
+
| dot_recall@3 | 0.9241 |
|
| 247 |
+
| dot_recall@5 | 0.9554 |
|
| 248 |
+
| dot_recall@10 | 0.9866 |
|
| 249 |
+
| **dot_ndcg@10** | **0.8856** |
|
| 250 |
+
| dot_mrr@10 | 0.8528 |
|
| 251 |
+
| dot_map@20 | 0.8531 |
|
| 252 |
+
| query_active_dims | 215.2545 |
|
| 253 |
+
| query_sparsity_ratio | 0.998 |
|
| 254 |
+
| corpus_active_dims | 361.4009 |
|
| 255 |
+
| corpus_sparsity_ratio | 0.9966 |
|
| 256 |
+
| avg_flops | 53.0136 |
|
| 257 |
+
|
| 258 |
+
<!--
|
| 259 |
+
## Bias, Risks and Limitations
|
| 260 |
+
|
| 261 |
+
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
|
| 262 |
+
-->
|
| 263 |
+
|
| 264 |
+
<!--
|
| 265 |
+
### Recommendations
|
| 266 |
+
|
| 267 |
+
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
|
| 268 |
+
-->
|
| 269 |
+
|
| 270 |
+
## Training Details
|
| 271 |
+
|
| 272 |
+
### Training Dataset
|
| 273 |
+
|
| 274 |
+
#### json
|
| 275 |
+
|
| 276 |
+
* Dataset: json
|
| 277 |
+
* Size: 415 training samples
|
| 278 |
+
* Columns: <code>anchor</code>, <code>positive</code>, <code>negative_1</code>, and <code>negative_2</code>
|
| 279 |
+
* Approximate statistics based on the first 100 samples:
|
| 280 |
+
| | anchor | positive | negative_1 | negative_2 |
|
| 281 |
+
|:---------|:-----------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|
|
| 282 |
+
| type | string | string | string | string |
|
| 283 |
+
| modality | text | text | text | text |
|
| 284 |
+
| 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> |
|
| 285 |
+
* Samples:
|
| 286 |
+
| anchor | positive | negative_1 | negative_2 |
|
| 287 |
+
|:-----------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
| 288 |
+
| <code>Как возобновляется движение поездов на однопутном перегоне после восстановления систем интервального регулирования и связи?</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>В течение перерыва действия всех систем интервального регулирования движения поездов и связи поезда отправляются по разрешениям на бланке ДУ-56.Для обеспечения непрерывного взаимодействия друг с другом, дежурные смежных железнодорожных станций впредь до восстановления действия систем интервального регулирования движения поездов и связи обязаны пересылать с машинистом ведущего локомотива каждого поезда в обоих направлениях письменные извещения "А" или "Б" о дальнейшем отправлении поездов.Извещения "А", "Б" и "В" на обеих железнодорожных станциях записываются в журнал поездных телефонограмм.Переход на движение поездов при посредстве письменных извещений оформляется в журн...</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ НА УЧАСТКАХ, ОБОРУДОВАННЫХ ПОЛУАВТОМАТИЧЕСКОЙ БЛОКИРОВКОЙ<br>Прием и отправление поездов:<br><br>Отправление поездов на однопутных и двухпутных перегонах (по правильному железнодорожному пути) с возвращением с перегона на железнодорожную станцию отправления производится при запрещающем показании выходного светофора с выдачей машинисту ключа-жезла на право проследования выходного светофора с запрещающим показанием и обратного следования по перегону до границы станции.При этом на однопутных перегонах перед отправлением поезда на перегон с последующим возвращением должно быть получено от смежной железнодорожной станции по блок-аппарату согласие на отправление поезда или блок-система переключена на соответствующее направление движения.Отправление двух и более единиц специального самоходного подвижного состава ...</code> |
|
| 289 |
+
| <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> |
|
| 290 |
+
| <code>Что обязан проверить диспетчер поездной перед выдачей приказа о возобновлении движения поездов на однопутном перегоне?</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ И��ТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>После восстановления действия соответствующих систем интервального регулирования движения поездов и связи движение поездов по этим системам возобновляется локальным актом (далее - приказ) диспетчера поездного, который обязан предварительно проверить свободность перегона.</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>Если к моменту перерыва действия всех систем интервального регулирования движения поездов и связи на железнодорожной станции отсутствуют нечетные поезда для отправления на перегон, ограниченный железнодорожными станциями, между которыми прекратилась связь, то дежурный по железнодорожной станции, имеющий право отправления первого поезда, если ему известно о наличии к отправлению на этот перегон поезда со смежной железнодорожной станции, посылает на эту железнодорожную станцию извещение следующего содержания:содержание извещения "В": "Ожидаю от Вас поезд. ДСП ....".На перегонах, не оборудованных двусторонней автоматической блокировкой, для пересылки письменных извещений ф...</code> | <code>ПТЭ (Правила технической эксплуатации). ИНСТРУКЦИЯ ПО ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ И МАНЕВРОВОЙ РАБОТЫ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ. ПОРЯДОК ОРГАНИЗАЦИИ ДВИЖЕНИЯ ПОЕЗДОВ ПРИ ПЕРЕРЫВЕ ДЕЙСТВИЯ ВСЕХ СИСТЕМ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ ДВИЖЕНИЯ ПОЕЗДОВ И СВЯЗИ<br>Движение поездов на однопутных перегонах:<br><br>Если системы интервального регулирования движения поездов и связи восстановлены ранее, чем диспетчерская связь, то дежурный по железнодорожной станции, пользующийся правом отправления поездов в преимущественном направлении, передает дежурному смежной железнодорожной станции телефонограмму следующего содержания:"На перегоне между станциями ... ... движение поездов устанавливается по ...... (указывается система интервального регулирования движения поездов).Последним прибыл от Вас поезд N .... Отправлен к Вам поезд N .... ДСП ....".Дежурный по смежной железнодорожной станции, убедившись в свободности перегона, отвечает:"Последним прибыл от Вас поезд N .... Отправлен к Вам ...</code> |
|
| 291 |
+
* Loss: [<code>CachedSpladeLoss</code>](https://sbert.net/docs/package_reference/sparse_encoder/losses.html#cachedspladeloss) with these parameters:
|
| 292 |
+
```json
|
| 293 |
+
{
|
| 294 |
+
"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)",
|
| 295 |
+
"document_regularizer_weight": 0.003,
|
| 296 |
+
"query_regularizer_weight": 0.003,
|
| 297 |
+
"mini_batch_size": 8,
|
| 298 |
+
"mini_batch_num_tokens": null
|
| 299 |
+
}
|
| 300 |
+
```
|
| 301 |
+
|
| 302 |
+
### Training Hyperparameters
|
| 303 |
+
#### Non-Default Hyperparameters
|
| 304 |
+
|
| 305 |
+
- `per_device_train_batch_size`: 16
|
| 306 |
+
- `learning_rate`: 1e-05
|
| 307 |
+
- `num_train_epochs`: 2
|
| 308 |
+
- `warmup_steps`: 0.1
|
| 309 |
+
- `fp16`: True
|
| 310 |
+
- `load_best_model_at_end`: True
|
| 311 |
+
- `gradient_checkpointing`: True
|
| 312 |
+
- `batch_sampler`: no_duplicates
|
| 313 |
+
|
| 314 |
+
#### All Hyperparameters
|
| 315 |
+
<details><summary>Click to expand</summary>
|
| 316 |
+
|
| 317 |
+
- `do_predict`: False
|
| 318 |
+
- `prediction_loss_only`: True
|
| 319 |
+
- `per_device_train_batch_size`: 16
|
| 320 |
+
- `per_device_eval_batch_size`: 8
|
| 321 |
+
- `gradient_accumulation_steps`: 1
|
| 322 |
+
- `eval_accumulation_steps`: None
|
| 323 |
+
- `torch_empty_cache_steps`: None
|
| 324 |
+
- `learning_rate`: 1e-05
|
| 325 |
+
- `weight_decay`: 0.0
|
| 326 |
+
- `adam_beta1`: 0.9
|
| 327 |
+
- `adam_beta2`: 0.999
|
| 328 |
+
- `adam_epsilon`: 1e-08
|
| 329 |
+
- `max_grad_norm`: 1.0
|
| 330 |
+
- `num_train_epochs`: 2
|
| 331 |
+
- `max_steps`: -1
|
| 332 |
+
- `lr_scheduler_type`: linear
|
| 333 |
+
- `lr_scheduler_kwargs`: None
|
| 334 |
+
- `warmup_ratio`: None
|
| 335 |
+
- `warmup_steps`: 0.1
|
| 336 |
+
- `log_level`: passive
|
| 337 |
+
- `log_level_replica`: warning
|
| 338 |
+
- `log_on_each_node`: True
|
| 339 |
+
- `logging_nan_inf_filter`: True
|
| 340 |
+
- `enable_jit_checkpoint`: False
|
| 341 |
+
- `save_on_each_node`: False
|
| 342 |
+
- `save_only_model`: False
|
| 343 |
+
- `restore_callback_states_from_checkpoint`: False
|
| 344 |
+
- `use_cpu`: False
|
| 345 |
+
- `seed`: 42
|
| 346 |
+
- `data_seed`: None
|
| 347 |
+
- `bf16`: False
|
| 348 |
+
- `fp16`: True
|
| 349 |
+
- `bf16_full_eval`: False
|
| 350 |
+
- `fp16_full_eval`: False
|
| 351 |
+
- `tf32`: None
|
| 352 |
+
- `local_rank`: -1
|
| 353 |
+
- `ddp_backend`: None
|
| 354 |
+
- `debug`: []
|
| 355 |
+
- `dataloader_drop_last`: False
|
| 356 |
+
- `dataloader_num_workers`: 0
|
| 357 |
+
- `dataloader_prefetch_factor`: None
|
| 358 |
+
- `disable_tqdm`: False
|
| 359 |
+
- `remove_unused_columns`: True
|
| 360 |
+
- `label_names`: None
|
| 361 |
+
- `load_best_model_at_end`: True
|
| 362 |
+
- `ignore_data_skip`: False
|
| 363 |
+
- `fsdp`: []
|
| 364 |
+
- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
|
| 365 |
+
- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
|
| 366 |
+
- `parallelism_config`: None
|
| 367 |
+
- `deepspeed`: None
|
| 368 |
+
- `label_smoothing_factor`: 0.0
|
| 369 |
+
- `optim`: adamw_torch_fused
|
| 370 |
+
- `optim_args`: None
|
| 371 |
+
- `group_by_length`: False
|
| 372 |
+
- `length_column_name`: length
|
| 373 |
+
- `project`: huggingface
|
| 374 |
+
- `trackio_space_id`: trackio
|
| 375 |
+
- `ddp_find_unused_parameters`: None
|
| 376 |
+
- `ddp_bucket_cap_mb`: None
|
| 377 |
+
- `ddp_broadcast_buffers`: False
|
| 378 |
+
- `dataloader_pin_memory`: True
|
| 379 |
+
- `dataloader_persistent_workers`: False
|
| 380 |
+
- `skip_memory_metrics`: True
|
| 381 |
+
- `push_to_hub`: False
|
| 382 |
+
- `resume_from_checkpoint`: None
|
| 383 |
+
- `hub_model_id`: None
|
| 384 |
+
- `hub_strategy`: every_save
|
| 385 |
+
- `hub_private_repo`: None
|
| 386 |
+
- `hub_always_push`: False
|
| 387 |
+
- `hub_revision`: None
|
| 388 |
+
- `gradient_checkpointing`: True
|
| 389 |
+
- `gradient_checkpointing_kwargs`: None
|
| 390 |
+
- `include_for_metrics`: []
|
| 391 |
+
- `eval_do_concat_batches`: True
|
| 392 |
+
- `auto_find_batch_size`: False
|
| 393 |
+
- `full_determinism`: False
|
| 394 |
+
- `ddp_timeout`: 1800
|
| 395 |
+
- `torch_compile`: False
|
| 396 |
+
- `torch_compile_backend`: None
|
| 397 |
+
- `torch_compile_mode`: None
|
| 398 |
+
- `include_num_input_tokens_seen`: no
|
| 399 |
+
- `neftune_noise_alpha`: None
|
| 400 |
+
- `optim_target_modules`: None
|
| 401 |
+
- `batch_eval_metrics`: False
|
| 402 |
+
- `eval_on_start`: False
|
| 403 |
+
- `use_liger_kernel`: False
|
| 404 |
+
- `liger_kernel_config`: None
|
| 405 |
+
- `eval_use_gather_object`: False
|
| 406 |
+
- `average_tokens_across_devices`: True
|
| 407 |
+
- `use_cache`: False
|
| 408 |
+
- `prompts`: None
|
| 409 |
+
- `batch_sampler`: no_duplicates
|
| 410 |
+
- `multi_dataset_batch_sampler`: proportional
|
| 411 |
+
- `router_mapping`: {}
|
| 412 |
+
- `learning_rate_mapping`: {}
|
| 413 |
+
|
| 414 |
+
</details>
|
| 415 |
+
|
| 416 |
+
### Training Logs
|
| 417 |
+
| Epoch | Step | Training Loss | irs_evaluator_dot_ndcg@10 |
|
| 418 |
+
|:------:|:----:|:-------------:|:-------------------------:|
|
| 419 |
+
| 0.1154 | 3 | 1.6048 | 0.4510 |
|
| 420 |
+
| 0.2308 | 6 | 1.5075 | 0.4510 |
|
| 421 |
+
| 0.3462 | 9 | 1.4610 | 0.6594 |
|
| 422 |
+
| 0.4615 | 12 | 0.7093 | 0.7735 |
|
| 423 |
+
| 0.5769 | 15 | 0.4574 | 0.8256 |
|
| 424 |
+
| 0.6923 | 18 | 0.5304 | 0.8530 |
|
| 425 |
+
| 0.8077 | 21 | 0.4595 | 0.8694 |
|
| 426 |
+
| 0.9231 | 24 | 0.3306 | 0.8717 |
|
| 427 |
+
| 1.0385 | 27 | 0.5531 | 0.8767 |
|
| 428 |
+
| 1.1538 | 30 | 0.1745 | 0.8856 |
|
| 429 |
+
|
| 430 |
+
|
| 431 |
+
### Training Time
|
| 432 |
+
- **Training**: 5.5 minutes
|
| 433 |
+
|
| 434 |
+
### Framework Versions
|
| 435 |
+
- Python: 3.12.13
|
| 436 |
+
- Sentence Transformers: 6.0.0
|
| 437 |
+
- Transformers: 5.0.0
|
| 438 |
+
- PyTorch: 2.10.0+cu128
|
| 439 |
+
- Accelerate: 1.13.0
|
| 440 |
+
- Datasets: 5.0.0
|
| 441 |
+
- Tokenizers: 0.22.2
|
| 442 |
+
|
| 443 |
+
## Additional Resources
|
| 444 |
+
|
| 445 |
+
- [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.
|
| 446 |
+
|
| 447 |
+
## Citation
|
| 448 |
+
|
| 449 |
+
### BibTeX
|
| 450 |
+
|
| 451 |
+
#### Sentence Transformers
|
| 452 |
+
```bibtex
|
| 453 |
+
@inproceedings{reimers-2019-sentence-bert,
|
| 454 |
+
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
|
| 455 |
+
author = "Reimers, Nils and Gurevych, Iryna",
|
| 456 |
+
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
|
| 457 |
+
month = "11",
|
| 458 |
+
year = "2019",
|
| 459 |
+
publisher = "Association for Computational Linguistics",
|
| 460 |
+
url = "https://arxiv.org/abs/1908.10084",
|
| 461 |
+
}
|
| 462 |
+
```
|
| 463 |
+
|
| 464 |
+
#### CachedSpladeLoss
|
| 465 |
+
```bibtex
|
| 466 |
+
@misc{gao2021scaling,
|
| 467 |
+
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
|
| 468 |
+
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
|
| 469 |
+
year={2021},
|
| 470 |
+
eprint={2101.06983},
|
| 471 |
+
archivePrefix={arXiv},
|
| 472 |
+
primaryClass={cs.LG}
|
| 473 |
+
}
|
| 474 |
+
@misc{formal2022distillationhardnegativesampling,
|
| 475 |
+
title={From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective},
|
| 476 |
+
author={Thibault Formal and Carlos Lassance and Benjamin Piwowarski and St\'ephane Clinchant},
|
| 477 |
+
year={2022},
|
| 478 |
+
eprint={2205.04733},
|
| 479 |
+
archivePrefix={arXiv},
|
| 480 |
+
primaryClass={cs.IR},
|
| 481 |
+
}
|
| 482 |
+
```
|
| 483 |
+
|
| 484 |
+
#### SparseMultipleNegativesRankingLoss
|
| 485 |
+
```bibtex
|
| 486 |
+
@misc{oord2019representationlearningcontrastivepredictive,
|
| 487 |
+
title={Representation Learning with Contrastive Predictive Coding},
|
| 488 |
+
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
|
| 489 |
+
year={2019},
|
| 490 |
+
eprint={1807.03748},
|
| 491 |
+
archivePrefix={arXiv},
|
| 492 |
+
primaryClass={cs.LG},
|
| 493 |
+
url={https://arxiv.org/abs/1807.03748},
|
| 494 |
+
}
|
| 495 |
+
```
|
| 496 |
+
|
| 497 |
+
#### FlopsLoss
|
| 498 |
+
```bibtex
|
| 499 |
+
@article{paria2020minimizing,
|
| 500 |
+
title={Minimizing flops to learn efficient sparse representations},
|
| 501 |
+
author={Paria, Biswajit and Yeh, Chih-Kuan and Yen, Ian EH and Xu, Ning and Ravikumar, Pradeep and P{'o}czos, Barnab{'a}s},
|
| 502 |
+
journal={arXiv preprint arXiv:2004.05665},
|
| 503 |
+
year={2020}
|
| 504 |
+
}
|
| 505 |
+
```
|
| 506 |
+
|
| 507 |
+
<!--
|
| 508 |
+
## Glossary
|
| 509 |
+
|
| 510 |
+
*Clearly define terms in order to be accessible across audiences.*
|
| 511 |
+
-->
|
| 512 |
+
|
| 513 |
+
<!--
|
| 514 |
+
## Model Card Authors
|
| 515 |
+
|
| 516 |
+
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
|
| 517 |
+
-->
|
| 518 |
+
|
| 519 |
+
<!--
|
| 520 |
+
## Model Card Contact
|
| 521 |
+
|
| 522 |
+
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
|
| 523 |
+
-->
|
config.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_cross_attention": false,
|
| 3 |
+
"architectures": [
|
| 4 |
+
"BertForMaskedLM"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.1,
|
| 7 |
+
"bos_token_id": null,
|
| 8 |
+
"classifier_dropout": null,
|
| 9 |
+
"directionality": "bidi",
|
| 10 |
+
"dtype": "float32",
|
| 11 |
+
"eos_token_id": null,
|
| 12 |
+
"hidden_act": "gelu",
|
| 13 |
+
"hidden_dropout_prob": 0.1,
|
| 14 |
+
"hidden_size": 768,
|
| 15 |
+
"initializer_range": 0.02,
|
| 16 |
+
"intermediate_size": 3072,
|
| 17 |
+
"is_decoder": false,
|
| 18 |
+
"layer_norm_eps": 1e-12,
|
| 19 |
+
"max_position_embeddings": 512,
|
| 20 |
+
"model_type": "bert",
|
| 21 |
+
"num_attention_heads": 12,
|
| 22 |
+
"num_hidden_layers": 12,
|
| 23 |
+
"pad_token_id": 0,
|
| 24 |
+
"pooler_fc_size": 768,
|
| 25 |
+
"pooler_num_attention_heads": 12,
|
| 26 |
+
"pooler_num_fc_layers": 3,
|
| 27 |
+
"pooler_size_per_head": 128,
|
| 28 |
+
"pooler_type": "first_token_transform",
|
| 29 |
+
"position_embedding_type": "absolute",
|
| 30 |
+
"tie_word_embeddings": true,
|
| 31 |
+
"transformers_version": "5.0.0",
|
| 32 |
+
"type_vocab_size": 2,
|
| 33 |
+
"use_cache": false,
|
| 34 |
+
"vocab_size": 105879
|
| 35 |
+
}
|
config_sentence_transformers.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"__version__": {
|
| 3 |
+
"pytorch": "2.10.0+cu128",
|
| 4 |
+
"sentence_transformers": "6.0.0",
|
| 5 |
+
"transformers": "5.0.0"
|
| 6 |
+
},
|
| 7 |
+
"default_prompt_name": null,
|
| 8 |
+
"model_type": "SparseEncoder",
|
| 9 |
+
"prompts": {
|
| 10 |
+
"document": "",
|
| 11 |
+
"query": ""
|
| 12 |
+
},
|
| 13 |
+
"similarity_fn_name": "dot"
|
| 14 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e7f4f5e279244578b69d81c85a632899308de728423a43835e9de4434dc98c45
|
| 3 |
+
size 669879012
|
modules.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"idx": 0,
|
| 4 |
+
"name": "0",
|
| 5 |
+
"path": "",
|
| 6 |
+
"type": "sentence_transformers.sparse_encoder.modules.mlm_transformer.MLMTransformer"
|
| 7 |
+
},
|
| 8 |
+
{
|
| 9 |
+
"idx": 1,
|
| 10 |
+
"name": "1",
|
| 11 |
+
"path": "1_SpladePooling",
|
| 12 |
+
"type": "sentence_transformers.sparse_encoder.modules.splade_pooling.SpladePooling"
|
| 13 |
+
}
|
| 14 |
+
]
|
sentence_bert_config.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"transformer_task": "fill-mask",
|
| 3 |
+
"modality_config": {
|
| 4 |
+
"text": {
|
| 5 |
+
"method": "forward",
|
| 6 |
+
"method_output_name": "logits"
|
| 7 |
+
}
|
| 8 |
+
},
|
| 9 |
+
"module_output_name": "token_embeddings"
|
| 10 |
+
}
|
tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"backend": "tokenizers",
|
| 3 |
+
"clean_up_tokenization_spaces": true,
|
| 4 |
+
"cls_token": "[CLS]",
|
| 5 |
+
"do_lower_case": true,
|
| 6 |
+
"is_local": true,
|
| 7 |
+
"mask_token": "[MASK]",
|
| 8 |
+
"max_length": 200,
|
| 9 |
+
"model_max_length": 512,
|
| 10 |
+
"pad_to_multiple_of": null,
|
| 11 |
+
"pad_token": "[PAD]",
|
| 12 |
+
"pad_token_type_id": 0,
|
| 13 |
+
"padding_side": "right",
|
| 14 |
+
"sep_token": "[SEP]",
|
| 15 |
+
"stride": 0,
|
| 16 |
+
"strip_accents": null,
|
| 17 |
+
"tokenize_chinese_chars": true,
|
| 18 |
+
"tokenizer_class": "BertTokenizer",
|
| 19 |
+
"truncation_side": "right",
|
| 20 |
+
"truncation_strategy": "longest_first",
|
| 21 |
+
"unk_token": "[UNK]"
|
| 22 |
+
}
|