falca commited on
Commit
d5af852
1 Parent(s): 0d00e70

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +105 -0
README.md ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - ru
5
+ - en
6
+ library_name: transformers
7
+ pipeline_tag: feature-extraction
8
+ ---
9
+
10
+ # DeBERTa-distill
11
+
12
+ <!-- Provide a quick summary of what the model is/does. -->
13
+
14
+ Pretrained bidirectional encoder for russian language.
15
+ The model was trained using standard MLM objective on large text corpora including open social data.
16
+ See `Training Details` section for more information.
17
+
18
+ ⚠️ This model contains only the encoder part without any pretrained head.
19
+
20
+
21
+ - **Developed by:** [deepvk](https://vk.com/deepvk)
22
+ - **Model type:** DeBERTa
23
+ - **Languages:** Mostly russian and small fraction of other languages
24
+ - **License:** Apache 2.0
25
+
26
+ ## How to Get Started with the Model
27
+
28
+ ```python
29
+ from transformers import AutoTokenizer, AutoModel
30
+
31
+ tokenizer = AutoTokenizer.from_pretrained("deepvk/deberta-v1-distill")
32
+ model = AutoModel.from_pretrained("deepvk/deberta-v1-distill")
33
+
34
+ text = "Привет, мир!"
35
+
36
+ inputs = tokenizer(text, return_tensors='pt')
37
+ predictions = model(**inputs)
38
+ ```
39
+
40
+ ## Training Details
41
+
42
+ ### Training Data
43
+
44
+ 400 GB of filtered and deduplicated texts in total.
45
+ A mix of the following data: Wikipedia, Books, Twitter comments, Pikabu, Proza.ru, Film subtitles, News websites, and Social corpus.
46
+
47
+ #### Deduplication procedure
48
+
49
+ 1. Calculate shingles with size of 5
50
+ 2. Calculate MinHash with 100 seeds → for every sample (text) have a hash of size 100
51
+ 3. Split every hash into 10 buckets → every bucket, which contains (100 / 10) = 10 numbers, get hashed into 1 hash → we have 10 hashes for every sample
52
+ 4. For each bucket find duplicates: find samples which have the same hash → calculate pair-wise jaccard similarity → if the similarity is >0.7 than it's a duplicate
53
+ 5. Gather duplicates from all the buckets and filter
54
+
55
+ ### Training Hyperparameters
56
+
57
+ | Argument | Value |
58
+ |--------------------|----------------------|
59
+ | Training regime | fp16 mixed precision |
60
+ | Optimizer | AdamW |
61
+ | Adam betas | 0.9,0.98 |
62
+ | Adam eps | 1e-6 |
63
+ | Weight decay | 1e-2 |
64
+ | Batch size | 3840 |
65
+ | Num training steps | 100k |
66
+ | Num warm-up steps | 5k |
67
+ | LR scheduler | Cosine |
68
+ | LR | 5e-4 |
69
+ | Gradient norm | 1.0 |
70
+
71
+ The model was trained on a machine with 8xA100 for approximately 15 days.
72
+
73
+ ### Architecture details
74
+
75
+
76
+ | Argument | Value |
77
+ |-------------------------|----------------|
78
+ |Encoder layers | 6 |
79
+ |Encoder attention heads | 12 |
80
+ |Encoder embed dim | 768 |
81
+ |Encoder ffn embed dim | 3,072 |
82
+ |Activation function | GeLU |
83
+ |Attention dropout | 0.1 |
84
+ |Dropout | 0.1 |
85
+ |Max positions | 512 |
86
+ |Vocab size | 50266 |
87
+ |Tokenizer type | Byte-level BPE |
88
+
89
+ ### Distilation
90
+
91
+ In our distillation procedure, we follow [SANH et al.](https://arxiv.org/abs/1910.01108). The student is initialized from the [teacher](https://huggingface.co/deepvk/deberta-v1-base) by taking only every second layer. We use the MLM loss and CE loss with coefficients of 0.5.
92
+
93
+ ## Evaluation
94
+
95
+ We evaluated the model on [Russian Super Glue](https://russiansuperglue.com/) dev set.
96
+ The best result in each task is marked in bold.
97
+ All models have the same size except the distilled version of DeBERTa.
98
+
99
+ | Model | RCB | PARus | MuSeRC | TERRa | RUSSE | RWSD | DaNetQA | Score |
100
+ |------------------------------------------------------------------------|-----------|--------|---------|-------|---------|---------|---------|-----------|
101
+ | [vk-deberta-distill](https://huggingface.co/deepvk/deberta-v1-distill) | 0.433 | 0.56 | 0.625 | 0.59 | 0.943 | 0.569 | 0.726 | 0.635 |
102
+ | [vk-roberta-base](https://huggingface.co/deepvk/roberta-base) | 0.46 | 0.56 | 0.679 | 0.769 | 0.960 | 0.569 | 0.658 | 0.665 |
103
+ | [vk-deberta-base](https://huggingface.co/deepvk/deberta-v1-base) | 0.450 |**0.61**|**0.722**| 0.704 | 0.948 | 0.578 |**0.76** |**0.682** |
104
+ | [vk-bert-base](https://huggingface.co/deepvk/bert-base-uncased) | 0.467 | 0.57 | 0.587 | 0.704 | 0.953 |**0.583**| 0.737 | 0.657 |
105
+ | [sber-bert-base](https://huggingface.co/ai-forever/ruBert-base) | **0.491** |**0.61**| 0.663 | 0.769 |**0.962**| 0.574 | 0.678 | 0.678 |