aurelianvolturi commited on
Commit
9400b5b
·
verified ·
1 Parent(s): 3827440

Upload ru-HNP TripletLoss model

Browse files
1_Pooling/config.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "embedding_dimension": 384,
3
+ "pooling_mode": "mean",
4
+ "include_prompt": true
5
+ }
README.md ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - ru
4
+ license: apache-2.0
5
+ library_name: sentence-transformers
6
+ base_model: sentence-transformers/all-MiniLM-L6-v2
7
+ datasets:
8
+ - deepvk/ru-HNP
9
+ tags:
10
+ - sentence-transformers
11
+ - feature-extraction
12
+ - sentence-similarity
13
+ - russian
14
+ metrics:
15
+ - recall
16
+ ---
17
+
18
+ # all-MiniLM-L6-v2 — адаптация на ru-HNP
19
+
20
+ Русскоязычная адаптация `sentence-transformers/all-MiniLM-L6-v2` для получения эмбеддингов и семантического поиска.
21
+
22
+ ## Обучение
23
+
24
+ - Исходная модель: `sentence-transformers/all-MiniLM-L6-v2`
25
+ - Язык: русский
26
+ - Датасет: `deepvk/ru-HNP`, первые 20000 строк
27
+ - Формат: anchor — первый positive — первый hard negative
28
+ - Функция потерь: `TripletLoss`, cosine distance, margin 0.2
29
+ - Валидных триплетов: 20000
30
+ - Batch size: 16
31
+ - Epochs: 3
32
+ - Learning rate: 2e-05
33
+ - Seed: 42
34
+
35
+ ## RubQ retrieval
36
+
37
+ | Метрика | До обучения | После обучения | Изменение |
38
+ |---|---:|---:|---:|
39
+ | Recall@5 | 0.027194 | 0.021101 | -0.006093 |
40
+ | Recall@10 | 0.035025 | 0.027947 | -0.007078 |
41
+
42
+ Оценка выполнена на `ai-forever/rubq-retrieval`: L2-нормализованные эмбеддинги, `faiss.IndexFlatIP`, тексты из колонки `text`.
43
+
44
+ ## Ограничения
45
+
46
+ `ru-HNP` обучает модель различать парафразы и сложные непарафразы. Это симметричная постановка и она не полностью совпадает с несимметричным QA-поиском «вопрос → документ» в RubQ. Результаты относятся к данному учебному эксперименту на 20 000 строках и трёх эпохах.
config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_cross_attention": false,
3
+ "architectures": [
4
+ "BertModel"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "bos_token_id": null,
8
+ "classifier_dropout": null,
9
+ "dtype": "float32",
10
+ "eos_token_id": null,
11
+ "gradient_checkpointing": false,
12
+ "hidden_act": "gelu",
13
+ "hidden_dropout_prob": 0.1,
14
+ "hidden_size": 384,
15
+ "initializer_range": 0.02,
16
+ "intermediate_size": 1536,
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": 6,
23
+ "pad_token_id": 0,
24
+ "position_embedding_type": "absolute",
25
+ "tie_word_embeddings": true,
26
+ "transformers_version": "5.13.1",
27
+ "type_vocab_size": 2,
28
+ "use_cache": false,
29
+ "vocab_size": 30522
30
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "pytorch": "2.11.0+cu128",
4
+ "sentence_transformers": "5.6.0",
5
+ "transformers": "5.13.1"
6
+ },
7
+ "default_prompt_name": null,
8
+ "model_type": "SentenceTransformer",
9
+ "prompts": {
10
+ "document": "",
11
+ "query": ""
12
+ },
13
+ "similarity_fn_name": "cosine"
14
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f56b1ce63aed6729b09dc721cd249e5c304bee76e0b451cc163931b495e5f70f
3
+ size 90864192
modules.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "sentence_transformers.base.modules.transformer.Transformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Pooling",
12
+ "type": "sentence_transformers.sentence_transformer.modules.pooling.Pooling"
13
+ },
14
+ {
15
+ "idx": 2,
16
+ "name": "2",
17
+ "path": "2_Normalize",
18
+ "type": "sentence_transformers.sentence_transformer.modules.normalize.Normalize"
19
+ }
20
+ ]
sentence_bert_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "transformer_task": "feature-extraction",
3
+ "modality_config": {
4
+ "text": {
5
+ "method": "forward",
6
+ "method_output_name": "last_hidden_state"
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,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "cls_token": "[CLS]",
4
+ "do_basic_tokenize": true,
5
+ "do_lower_case": true,
6
+ "is_local": false,
7
+ "local_files_only": false,
8
+ "mask_token": "[MASK]",
9
+ "max_length": 128,
10
+ "model_max_length": 256,
11
+ "never_split": null,
12
+ "pad_to_multiple_of": null,
13
+ "pad_token": "[PAD]",
14
+ "pad_token_type_id": 0,
15
+ "padding_side": "right",
16
+ "sep_token": "[SEP]",
17
+ "stride": 0,
18
+ "strip_accents": null,
19
+ "tokenize_chinese_chars": true,
20
+ "tokenizer_class": "BertTokenizer",
21
+ "truncation_side": "right",
22
+ "truncation_strategy": "longest_first",
23
+ "unk_token": "[UNK]"
24
+ }