AtesiT commited on
Commit
be3c09a
·
verified ·
1 Parent(s): fe0b753

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +58 -343
README.md CHANGED
@@ -1,377 +1,92 @@
1
  ---
 
 
 
 
2
  tags:
3
  - sentence-transformers
4
- - sentence-similarity
5
  - feature-extraction
6
- - generated_from_trainer
7
- - dataset_size:20000
8
- - loss:TripletLoss
 
9
  base_model: sentence-transformers/all-MiniLM-L6-v2
10
- widget:
11
- - source_sentence: С 19 декабря 2014 по 16 марта 2016 года являлся заместителем акима
12
- г. Астана.
13
- sentences:
14
- - Прохладные места ему нравятся, почвы слабо кислые или нейтральные, не очень требователен
15
- к почвам.
16
- - Являлся заместителем акима г. Астана с 19 декабря 2014 по 16 марта 2016 года.
17
- - Никогда не был заместителем акима г. Астана.
18
- - source_sentence: Вновь игроку предстоит управлять действиями сверхчеловека, Коула
19
- МакГрата, получившего способность управлять электричеством при взрыве «лучевой
20
- сферы».
21
- sentences:
22
- - Широкие у талии штаны и рубашка европейского покроя - это классическая мужская
23
- одежда.
24
- - Игрок больше не сможет управлять действиями сверхчеловека, Коула МакГрата, который
25
- потерял способность управлять электричеством после взрыва «лучевой сферы».
26
- - Игроку снова придется управлять поступками сверхчеловека, Коула МакГрата, который
27
- получил способность манипулировать электричеством после взрыва «лучевой сферы».
28
- - source_sentence: Дире́ктор (от — от "di" и "regere" — «управлять», мн. ч. — директора́;
29
- устар. жен. — директриса) — управляющий, руководитель, начальник компании, предприятия
30
- или учебного заведения.
31
- sentences:
32
- - В возрасте трёх лет, Муад’Диб в битве за власть над Арракисом, убил барона Владимира
33
- Харконнена гом джаббаром Атрейдесов.
34
- - Работник (от — от "di" и "regere" — «управлять», мн. ч. — работники; устар. жен.
35
- — работница) — подчинённый, исполнитель, служащий компании, предприятия или учебного
36
- заведения.
37
- - Управляющий (от — от "di" и "regere" — «управлять», мн. ч. — управляющие; устар.
38
- жен. — управляющая) — директор, руководитель, начальник компании, предприятия
39
- или учебного заведения.
40
- - source_sentence: Чтобы хоть как-то обезопасить себя, гитлеровцы посадили за руль
41
- автомашин советских военнопленных.
42
- sentences:
43
- - Генеральный директор Национального медико-хирургического центра имени Н. И. Пирогова
44
- с 2006 года и по сегодняшний день.
45
- - Гитлеровцы посадили за руль автомашин советских военнопленных, чтобы обезопасить
46
- себя хоть как-то.
47
- - Гитлеровцы не обезопасили себя, посадив за руль автомашин советских военнопленных.
48
- - source_sentence: 'Данные по статусу эксплуатации и распределению составов по номерам
49
- по состоянию на июль 2018 года приведены в таблице: Первые два электропоезда ЭШ2
50
- в конце 2014 года поступили в депо имени Ильича и вскоре были отправлены для проведения
51
- опытных поездок на кольцо ВНИИЖТа в Щербинке.'
52
- sentences:
53
- - У истока ручья Ольшанец, впадающего в реку Залегощь, находится в 12 км от райцентра
54
- Залегощи.
55
- - 'Данные по статусу эксплуатации и распределению составов по номерам по состоянию
56
- на июль 2018 года не указаны в таблице: Первые два электропоезда ЭШ2 в конце 2014
57
- года не были отправлены в депо имени Ильича и не совершали опытных поездок на
58
- кольцо ВНИИЖТа в Щербинке.'
59
- - 'В таблице представлены данные о состоянии эксплуатации и распределении составов
60
- по номерам на июль 2018 года: Первые два поезда ЭШ2 были доставлены в депо имени
61
- Ильича в конце 2014 года и затем отправлены на кольцо ВНИИЖТа в Щербинке для проведения
62
- тестовых поездок.'
63
  pipeline_tag: sentence-similarity
64
- library_name: sentence-transformers
65
  ---
66
 
67
- # SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2
68
-
69
- This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [sentence-transformers/all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2). It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
70
 
71
- ## Model Details
72
 
73
- ### Model Description
74
- - **Model Type:** Sentence Transformer
75
- - **Base model:** [sentence-transformers/all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2) <!-- at revision 1110a243fdf4706b3f48f1d95db1a4f5529b4d41 -->
76
- - **Maximum Sequence Length:** 256 tokens
77
- - **Output Dimensionality:** 384 dimensions
78
- - **Similarity Function:** Cosine Similarity
79
- - **Supported Modality:** Text
80
- <!-- - **Training Dataset:** Unknown -->
81
- <!-- - **Language:** Unknown -->
82
- <!-- - **License:** Unknown -->
83
-
84
- ### Model Sources
85
-
86
- - **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
87
- - **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers)
88
- - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
89
-
90
- ### Full Model Architecture
91
-
92
- ```
93
- SentenceTransformer(
94
- (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
95
- (1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', 'include_prompt': True})
96
- (2): Normalize({})
97
- )
98
- ```
99
 
100
- ## Usage
101
 
102
- ### Direct Usage (Sentence Transformers)
 
 
 
 
 
 
 
103
 
104
- First install the Sentence Transformers library:
105
 
106
- ```bash
107
- pip install -U sentence-transformers
108
- ```
109
- Then you can load this model and run inference.
110
  ```python
111
  from sentence_transformers import SentenceTransformer
112
 
113
- # Download from the 🤗 Hub
114
  model = SentenceTransformer("AtesiT/all-MiniLM-L6-v2-ru-adapted")
115
- # Run inference
116
  sentences = [
117
- 'Данные по статусу эксплуатации и распределению составов по номерам по состоянию на июль 2018 года приведены в таблице: Первые два электропоезда ЭШ2 в конце 2014 года поступили в депо имени Ильича и вскоре были отправлены для проведения опытных поездок на кольцо ВНИИЖТа в Щербинке.',
118
- 'В таблице представлены данные о состоянии эксплуатации и распределении составов по номерам на июль 2018 года: Первые два поезда ЭШ2 были доставлены в депо имени Ильича в конце 2014 года и затем отправлены на кольцо ВНИИЖТа в Щербинке ��ля проведения тестовых поездок.',
119
- 'Данные по статусу эксплуатации и распределению составов по номерам по состоянию на июль 2018 года не указаны в таблице: Первые два электропоезда ЭШ2 в конце 2014 года не были отправлены в депо имени Ильича и не совершали опытных поездок на кольцо ВНИИЖТа в Щербинке.',
120
  ]
121
- embeddings = model.encode(sentences)
 
122
  print(embeddings.shape)
123
- # [3, 384]
124
 
125
- # Get the similarity scores for the embeddings
126
- similarities = model.similarity(embeddings, embeddings)
127
- print(similarities)
128
- # tensor([[ 1.0000, 0.8392, -0.2606],
129
- # [ 0.8392, 1.0000, -0.3014],
130
- # [-0.2606, -0.3014, 1.0000]])
131
  ```
132
- <!--
133
- ### Direct Usage (Transformers)
134
-
135
- <details><summary>Click to see the direct usage in Transformers</summary>
136
-
137
- </details>
138
- -->
139
-
140
- <!--
141
- ### Downstream Usage (Sentence Transformers)
142
-
143
- You can finetune this model on your own dataset.
144
-
145
- <details><summary>Click to expand</summary>
146
-
147
- </details>
148
- -->
149
 
150
- <!--
151
- ### Out-of-Scope Use
152
 
153
- *List how the model may foreseeably be misused and address what users ought not to do with the model.*
154
- -->
155
 
156
- <!--
157
- ## Bias, Risks and Limitations
 
 
158
 
159
- *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
160
- -->
161
 
162
- <!--
163
- ### Recommendations
164
-
165
- *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
166
- -->
167
-
168
- ## Training Details
169
-
170
- ### Training Dataset
171
-
172
- #### Unnamed Dataset
173
-
174
- * Size: 20,000 training samples
175
- * Columns: <code>sentence_0</code>, <code>sentence_1</code>, and <code>sentence_2</code>
176
- * Approximate statistics based on the first 100 samples:
177
- | | sentence_0 | sentence_1 | sentence_2 |
178
- |:---------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|
179
- | type | string | string | string |
180
- | modality | text | text | text |
181
- | details | <ul><li>min: 33 tokens</li><li>mean: 113.73 tokens</li><li>max: 256 tokens</li></ul> | <ul><li>min: 30 tokens</li><li>mean: 104.28 tokens</li><li>max: 256 tokens</li></ul> | <ul><li>min: 30 tokens</li><li>mean: 95.88 tokens</li><li>max: 256 tokens</li></ul> |
182
- * Samples:
183
- | sentence_0 | sentence_1 | sentence_2 |
184
- |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
185
- | <code>Органы следствия не установили, какое именно подразделение должно нести ответственность за совершенное преступление, обвинение в совершении указанных преступлений никому не предъявлялось.</code> | <code>Органы следствия не выяснили, какое именно подразделение должно отвечать за совершенное преступление, обвинение в совершении данных преступлений никому не выдвигалось.</code> | <code>Органы следствия определили, какое подразделение несет ответственность за совершенное преступление, обвинение в совершении указанных преступлений было предъявлено.</code> |
186
- | <code>В 1976 году пришла на киностудию «Союзмультфильм», где в период до 1992, в качестве режиссёра, создала свои основные анимационные фильмы, в частности полнометражный мультфильм (70 минут), включающий в себя, многие виды анимационных технологий «Кошка, которая гуляла сама по себе» (1988).</code> | <code>В 1976 году на киностудию «Союзмультфильм» пришла, где в период до 1992 года, как режиссёр, создала свои основные анимационные фильмы, включая полнометражный мультфильм (70 минут), с использованием различных анимационных технологий «Кошка, которая гуляла сама по себе» (1988).</code> | <code>В 1976 году она не пришла на киностудию «Союзмультфильм» и не работала над анимационными фильмами, в том числе не создавала полнометражный мультфильм (70 минут) «Кошка, которая гуляла сама по себе» (1988).</code> |
187
- | <code>После выпуска альбома в ряде европейских стран его еженедельные продажи стали суммироваться с продажами альбома "The Fame", в то время как в чартах Америки, Канады и Японии можно встретить оба альбома.</code> | <code>Еженедельные продажи альбома начали суммироваться с продажами альбома "The Fame" после его выпуска в ряде европейских стран.</code> | <code>Несмотря на выпуск альбома в ряде европейских стран, его продажи не изменились и продолжают оставаться незначительными.</code> |
188
- * Loss: [<code>TripletLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#tripletloss) with these parameters:
189
- ```json
190
- {
191
- "distance_metric": "TripletDistanceMetric.COSINE",
192
- "triplet_margin": 0.5
193
- }
194
- ```
195
-
196
- ### Training Hyperparameters
197
- #### Non-Default Hyperparameters
198
-
199
- - `per_device_train_batch_size`: 16
200
- - `per_device_eval_batch_size`: 16
201
- - `multi_dataset_batch_sampler`: round_robin
202
-
203
- #### All Hyperparameters
204
- <details><summary>Click to expand</summary>
205
-
206
- - `per_device_train_batch_size`: 16
207
- - `num_train_epochs`: 3
208
- - `max_steps`: -1
209
- - `learning_rate`: 5e-05
210
- - `lr_scheduler_type`: linear
211
- - `lr_scheduler_kwargs`: None
212
- - `warmup_steps`: 0
213
- - `optim`: adamw_torch_fused
214
- - `optim_args`: None
215
- - `weight_decay`: 0.0
216
- - `adam_beta1`: 0.9
217
- - `adam_beta2`: 0.999
218
- - `adam_epsilon`: 1e-08
219
- - `optim_target_modules`: None
220
- - `gradient_accumulation_steps`: 1
221
- - `average_tokens_across_devices`: True
222
- - `max_grad_norm`: 1
223
- - `label_smoothing_factor`: 0.0
224
- - `bf16`: False
225
- - `fp16`: False
226
- - `bf16_full_eval`: False
227
- - `fp16_full_eval`: False
228
- - `tf32`: None
229
- - `gradient_checkpointing`: False
230
- - `gradient_checkpointing_kwargs`: None
231
- - `torch_compile`: False
232
- - `torch_compile_backend`: None
233
- - `torch_compile_mode`: None
234
- - `use_liger_kernel`: False
235
- - `liger_kernel_config`: None
236
- - `use_cache`: False
237
- - `neftune_noise_alpha`: None
238
- - `torch_empty_cache_steps`: None
239
- - `auto_find_batch_size`: False
240
- - `log_on_each_node`: True
241
- - `logging_nan_inf_filter`: True
242
- - `include_num_input_tokens_seen`: no
243
- - `log_level`: passive
244
- - `log_level_replica`: warning
245
- - `disable_tqdm`: False
246
- - `project`: huggingface
247
- - `trackio_space_id`: None
248
- - `trackio_bucket_id`: None
249
- - `trackio_static_space_id`: None
250
- - `per_device_eval_batch_size`: 16
251
- - `prediction_loss_only`: True
252
- - `eval_on_start`: False
253
- - `eval_do_concat_batches`: True
254
- - `eval_use_gather_object`: False
255
- - `eval_accumulation_steps`: None
256
- - `include_for_metrics`: []
257
- - `batch_eval_metrics`: False
258
- - `save_only_model`: False
259
- - `save_on_each_node`: False
260
- - `enable_jit_checkpoint`: False
261
- - `push_to_hub`: False
262
- - `hub_private_repo`: None
263
- - `hub_model_id`: None
264
- - `hub_strategy`: every_save
265
- - `hub_always_push`: False
266
- - `hub_revision`: None
267
- - `load_best_model_at_end`: False
268
- - `ignore_data_skip`: False
269
- - `restore_callback_states_from_checkpoint`: False
270
- - `full_determinism`: False
271
- - `seed`: 42
272
- - `data_seed`: None
273
- - `use_cpu`: False
274
- - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
275
- - `parallelism_config`: None
276
- - `dataloader_drop_last`: False
277
- - `dataloader_num_workers`: 0
278
- - `dataloader_pin_memory`: True
279
- - `dataloader_persistent_workers`: False
280
- - `dataloader_prefetch_factor`: None
281
- - `remove_unused_columns`: True
282
- - `label_names`: None
283
- - `train_sampling_strategy`: random
284
- - `length_column_name`: length
285
- - `ddp_find_unused_parameters`: None
286
- - `ddp_bucket_cap_mb`: None
287
- - `ddp_broadcast_buffers`: False
288
- - `ddp_static_graph`: None
289
- - `ddp_backend`: None
290
- - `ddp_timeout`: 1800
291
- - `fsdp`: None
292
- - `fsdp_config`: None
293
- - `deepspeed`: None
294
- - `debug`: []
295
- - `skip_memory_metrics`: True
296
- - `do_predict`: False
297
- - `resume_from_checkpoint`: None
298
- - `warmup_ratio`: None
299
- - `local_rank`: -1
300
- - `prompts`: None
301
- - `batch_sampler`: batch_sampler
302
- - `multi_dataset_batch_sampler`: round_robin
303
- - `router_mapping`: {}
304
- - `learning_rate_mapping`: {}
305
-
306
- </details>
307
-
308
- ### Training Logs
309
- | Epoch | Step | Training Loss |
310
- |:-----:|:----:|:-------------:|
311
- | 0.4 | 500 | 0.2142 |
312
- | 0.8 | 1000 | 0.1386 |
313
- | 1.2 | 1500 | 0.1298 |
314
- | 1.6 | 2000 | 0.1165 |
315
- | 2.0 | 2500 | 0.1143 |
316
- | 2.4 | 3000 | 0.1064 |
317
- | 2.8 | 3500 | 0.1077 |
318
-
319
-
320
- ### Training Time
321
- - **Training**: 28.5 minutes
322
-
323
- ### Framework Versions
324
- - Python: 3.12.13
325
- - Sentence Transformers: 5.6.0
326
- - Transformers: 5.13.1
327
- - PyTorch: 2.11.0+cu128
328
- - Accelerate: 1.14.0
329
- - Datasets: 4.0.0
330
- - Tokenizers: 0.22.2
331
-
332
- ## Citation
333
-
334
- ### BibTeX
335
-
336
- #### Sentence Transformers
337
- ```bibtex
338
- @inproceedings{reimers-2019-sentence-bert,
339
- title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
340
- author = "Reimers, Nils and Gurevych, Iryna",
341
- booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
342
- month = "11",
343
- year = "2019",
344
- publisher = "Association for Computational Linguistics",
345
- url = "https://arxiv.org/abs/1908.10084",
346
- }
347
- ```
348
-
349
- #### TripletLoss
350
- ```bibtex
351
- @misc{hermans2017defense,
352
- title={In Defense of the Triplet Loss for Person Re-Identification},
353
- author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
354
- year={2017},
355
- eprint={1703.07737},
356
- archivePrefix={arXiv},
357
- primaryClass={cs.CV}
358
- }
359
- ```
360
 
361
- <!--
362
- ## Glossary
 
 
 
 
 
 
 
363
 
364
- *Clearly define terms in order to be accessible across audiences.*
365
- -->
366
 
367
- <!--
368
- ## Model Card Authors
 
369
 
370
- *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
371
- -->
372
 
373
- <!--
374
- ## Model Card Contact
375
 
376
- *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
377
- -->
 
1
  ---
2
+ language:
3
+ - ru
4
+ license: apache-2.0
5
+ library_name: sentence-transformers
6
  tags:
7
  - sentence-transformers
 
8
  - feature-extraction
9
+ - sentence-similarity
10
+ - semantic-search
11
+ - russian
12
+ - domain-adaptation
13
  base_model: sentence-transformers/all-MiniLM-L6-v2
14
+ datasets:
15
+ - deepvk/ru-HNP
16
+ - ai-forever/rubq-retrieval
17
+ metrics:
18
+ - recall
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  pipeline_tag: sentence-similarity
 
20
  ---
21
 
22
+ # all-MiniLM-L6-v2-ru-adapted
 
 
23
 
24
+ Это доменно-адаптированная версия модели sentence-transformers/all-MiniLM-L6-v2, дообученная для работы с русскоязычными текстами в задаче семантического поиска.
25
 
26
+ Базовая модель обучалась только на английских данных. Данная адаптация направлена на улучшение качества получаемых эмбеддингов для русского языка с помощью дообучения на парафразах.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
+ ## Описание модели
29
 
30
+ - Базовая модель: sentence-transformers/all-MiniLM-L6-v2
31
+ - Размерность эмбеддингов: 384
32
+ - Максимальная длина последовательности: 256 токенов
33
+ - Функция потерь: TripletLoss (Cosine Distance, margin=0.5)
34
+ - Датасет для дообучения: deepvk/ru-HNP (20000 примеров, якорь/позитив/негатив)
35
+ - Эпохи обучения: 3
36
+ - Batch size: 16
37
+ - Warmup steps: 100
38
 
39
+ ## Как использовать
40
 
 
 
 
 
41
  ```python
42
  from sentence_transformers import SentenceTransformer
43
 
 
44
  model = SentenceTransformer("AtesiT/all-MiniLM-L6-v2-ru-adapted")
45
+
46
  sentences = [
47
+ "Какая столица России?",
48
+ "Москва — столица Российской Федерации",
49
+ "Кошки — популярные домашние животные"
50
  ]
51
+
52
+ embeddings = model.encode(sentences, normalize_embeddings=True)
53
  print(embeddings.shape)
 
54
 
55
+ similarity = embeddings[0] @ embeddings[1].T
56
+ print("Сходство между вопросом и ответом:", similarity)
 
 
 
 
57
  ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
+ ## Оценка качества (базовая модель, до дообучения)
 
60
 
61
+ Оценка проводилась на датасете ai-forever/rubq-retrieval (1692 вопроса, 56826 документов в базе знаний) с использованием FAISS (IndexFlatIP) и метрики Recall@K.
 
62
 
63
+ | Метрика | Базовая модель (all-MiniLM-L6-v2) |
64
+ |---------|:----------------------------------:|
65
+ | Recall@5 | 0.0272 |
66
+ | Recall@10 | 0.0350 |
67
 
68
+ Метрики дообученной модели будут добавлены после завершения полного цикла оценки.
 
69
 
70
+ ### Кривая обучения (Training Loss)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
+ | Step | Loss |
73
+ |------|------|
74
+ | 500 | 0.214 |
75
+ | 1000 | 0.139 |
76
+ | 1500 | 0.130 |
77
+ | 2000 | 0.117 |
78
+ | 2500 | 0.114 |
79
+ | 3000 | 0.106 |
80
+ | 3500 | 0.108 |
81
 
82
+ ## Ограничения
 
83
 
84
+ - Модель дообучалась на ограниченной выборке (20000 примеров) и небольшом числе эпох (3), что типично для образовательного проекта.
85
+ - Данные для обучения (ru-HNP, парафразы) отличаются по своей природе от задачи QA-поиска (rubq-retrieval), что ограничивает степень переноса качества между задачами (domain shift).
86
+ - Для промышленного использования рекомендуется дообучение на большем объёме данных, более близких по структуре к целевой задаче, а также подбор гиперпараметров.
87
 
88
+ ## Обучающий пайплайн
 
89
 
90
+ Модель была получена в рамках учебного задания по доменной адаптации энкодерных моделей.
 
91
 
92
+ Автор: AtesiT