Yehor Smoliakov commited on
Commit
6e56e8c
1 Parent(s): d1d62a3
.gitattributes CHANGED
@@ -24,4 +24,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
24
  *.xz filter=lfs diff=lfs merge=lfs -text
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
  *.zstandard filter=lfs diff=lfs merge=lfs -text
 
27
  *tfevents* filter=lfs diff=lfs merge=lfs -text
24
  *.xz filter=lfs diff=lfs merge=lfs -text
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
  *.zstandard filter=lfs diff=lfs merge=lfs -text
27
+ *.arpa filter=lfs diff=lfs merge=lfs -text
28
  *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,85 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - uk
4
+ license: apache-2.0
5
+ tags:
6
+ - automatic-speech-recognition
7
+ - mozilla-foundation/common_voice_7_0
8
+ - generated_from_trainer
9
+ - uk
10
+ - robust-speech-event
11
+ datasets:
12
+ - common_voice
13
+ model-index:
14
+ - name: cv-uk-ft
15
+ results: []
16
+ ---
17
+
18
+
19
+ # Ukrainian STT model (with Language Model)
20
+
21
+ This model is a fine-tuned version of [facebook/wav2vec2-xls-r-300m](https://huggingface.co/facebook/wav2vec2-xls-r-300m) on the MOZILLA-FOUNDATION/COMMON_VOICE_7_0 - UK dataset.
22
+ It achieves the following results on the evaluation set:
23
+ - Loss: 0.3015
24
+ - Wer: 0.3377
25
+ - Cer: 0.0708
26
+
27
+ The above results present evaluation without the language model.
28
+
29
+
30
+ ## Model description
31
+
32
+ On 100 test example the model shows the following results:
33
+
34
+ Without LM:
35
+
36
+ - WER: 0.2647058823529412
37
+ - CER: 0.046974185357596274
38
+
39
+ With LM:
40
+
41
+ - WER: 0.1568627450980392
42
+ - CER: 0.028988573846804908
43
+
44
+
45
+ ## Training procedure
46
+
47
+ ### Training hyperparameters
48
+
49
+ The following hyperparameters were used during training:
50
+ - learning_rate: 0.0003
51
+ - train_batch_size: 8
52
+ - eval_batch_size: 8
53
+ - seed: 42
54
+ - gradient_accumulation_steps: 20
55
+ - total_train_batch_size: 160
56
+ - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
57
+ - lr_scheduler_type: linear
58
+ - lr_scheduler_warmup_steps: 500
59
+ - num_epochs: 100.0
60
+ - mixed_precision_training: Native AMP
61
+
62
+ ### Training results
63
+
64
+ | Training Loss | Epoch | Step | Validation Loss | Wer | Cer |
65
+ |:-------------:|:-----:|:----:|:---------------:|:------:|:------:|
66
+ | 3.0255 | 7.93 | 500 | 2.5514 | 0.9921 | 0.9047 |
67
+ | 1.3809 | 15.86 | 1000 | 0.4065 | 0.5361 | 0.1201 |
68
+ | 1.2355 | 23.8 | 1500 | 0.3474 | 0.4618 | 0.1033 |
69
+ | 1.1956 | 31.74 | 2000 | 0.3617 | 0.4580 | 0.1005 |
70
+ | 1.1416 | 39.67 | 2500 | 0.3182 | 0.4074 | 0.0891 |
71
+ | 1.0996 | 47.61 | 3000 | 0.3166 | 0.3985 | 0.0875 |
72
+ | 1.0427 | 55.55 | 3500 | 0.3116 | 0.3835 | 0.0828 |
73
+ | 0.9961 | 63.49 | 4000 | 0.3137 | 0.3757 | 0.0807 |
74
+ | 0.9575 | 71.42 | 4500 | 0.2992 | 0.3632 | 0.0771 |
75
+ | 0.9154 | 79.36 | 5000 | 0.3015 | 0.3502 | 0.0740 |
76
+ | 0.8994 | 87.3 | 5500 | 0.3004 | 0.3425 | 0.0723 |
77
+ | 0.871 | 95.24 | 6000 | 0.3016 | 0.3394 | 0.0713 |
78
+
79
+
80
+ ### Framework versions
81
+
82
+ - Transformers 4.16.0.dev0
83
+ - Pytorch 1.10.1+cu102
84
+ - Datasets 1.18.1.dev0
85
+ - Tokenizers 0.11.0
added_tokens.json ADDED
@@ -0,0 +1 @@
 
1
+ {"<s>": 59, "</s>": 60}
all_results.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 99.99,
3
+ "eval_cer": 0.07081761068660654,
4
+ "eval_loss": 0.3015391230583191,
5
+ "eval_runtime": 185.2936,
6
+ "eval_samples": 4332,
7
+ "eval_samples_per_second": 23.379,
8
+ "eval_steps_per_second": 2.925,
9
+ "eval_wer": 0.337661929317067,
10
+ "train_loss": 1.3816477500067816,
11
+ "train_runtime": 56302.7905,
12
+ "train_samples": 10193,
13
+ "train_samples_per_second": 18.104,
14
+ "train_steps_per_second": 0.112
15
+ }
alphabet.json ADDED
@@ -0,0 +1 @@
 
1
+ {"labels": [" ", "`", "a", "c", "e", "i", "j", "k", "l", "m", "n", "o", "p", "u", "x", "y", "\u00ab", "\u00bb", "\u0301", "\u0430", "\u0431", "\u0432", "\u0433", "\u0434", "\u0435", "\u0436", "\u0437", "\u0438", "\u0439", "\u043a", "\u043b", "\u043c", "\u043d", "\u043e", "\u043f", "\u0440", "\u0441", "\u0442", "\u0443", "\u0444", "\u0445", "\u0446", "\u0447", "\u0448", "\u0449", "\u044b", "\u044c", "\u044e", "\u044f", "\u0454", "\u0456", "\u0457", "\u0491", "\u055a", "\u2013", "\u2019", "\u2026", "\u2047", "", "<s>", "</s>"], "is_bpe": false}
config.json ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "facebook/wav2vec2-xls-r-300m",
3
+ "activation_dropout": 0.1,
4
+ "adapter_kernel_size": 3,
5
+ "adapter_stride": 2,
6
+ "add_adapter": false,
7
+ "apply_spec_augment": true,
8
+ "architectures": [
9
+ "Wav2Vec2ForPreTraining"
10
+ ],
11
+ "attention_dropout": 0.0,
12
+ "bos_token_id": 1,
13
+ "classifier_proj_size": 256,
14
+ "codevector_dim": 768,
15
+ "contrastive_logits_temperature": 0.1,
16
+ "conv_bias": true,
17
+ "conv_dim": [
18
+ 512,
19
+ 512,
20
+ 512,
21
+ 512,
22
+ 512,
23
+ 512,
24
+ 512
25
+ ],
26
+ "conv_kernel": [
27
+ 10,
28
+ 3,
29
+ 3,
30
+ 3,
31
+ 3,
32
+ 2,
33
+ 2
34
+ ],
35
+ "conv_stride": [
36
+ 5,
37
+ 2,
38
+ 2,
39
+ 2,
40
+ 2,
41
+ 2,
42
+ 2
43
+ ],
44
+ "ctc_loss_reduction": "mean",
45
+ "ctc_zero_infinity": false,
46
+ "diversity_loss_weight": 0.1,
47
+ "do_stable_layer_norm": true,
48
+ "eos_token_id": 2,
49
+ "feat_extract_activation": "gelu",
50
+ "feat_extract_dropout": 0.0,
51
+ "feat_extract_norm": "layer",
52
+ "feat_proj_dropout": 0.0,
53
+ "feat_quantizer_dropout": 0.0,
54
+ "final_dropout": 0.0,
55
+ "hidden_act": "gelu",
56
+ "hidden_dropout": 0.0,
57
+ "hidden_size": 1024,
58
+ "initializer_range": 0.02,
59
+ "intermediate_size": 4096,
60
+ "layer_norm_eps": 1e-05,
61
+ "layerdrop": 0.0,
62
+ "mask_feature_length": 64,
63
+ "mask_feature_min_masks": 0,
64
+ "mask_feature_prob": 0.25,
65
+ "mask_time_length": 10,
66
+ "mask_time_min_masks": 2,
67
+ "mask_time_prob": 0.75,
68
+ "model_type": "wav2vec2",
69
+ "num_adapter_layers": 3,
70
+ "num_attention_heads": 16,
71
+ "num_codevector_groups": 2,
72
+ "num_codevectors_per_group": 320,
73
+ "num_conv_pos_embedding_groups": 16,
74
+ "num_conv_pos_embeddings": 128,
75
+ "num_feat_extract_layers": 7,
76
+ "num_hidden_layers": 24,
77
+ "num_negatives": 100,
78
+ "output_hidden_size": 1024,
79
+ "pad_token_id": 58,
80
+ "proj_codevector_dim": 768,
81
+ "tdnn_dilation": [
82
+ 1,
83
+ 2,
84
+ 3,
85
+ 1,
86
+ 1
87
+ ],
88
+ "tdnn_dim": [
89
+ 512,
90
+ 512,
91
+ 512,
92
+ 512,
93
+ 1500
94
+ ],
95
+ "tdnn_kernel": [
96
+ 5,
97
+ 3,
98
+ 3,
99
+ 1,
100
+ 1
101
+ ],
102
+ "torch_dtype": "float32",
103
+ "transformers_version": "4.16.0.dev0",
104
+ "use_weighted_layer_sum": false,
105
+ "vocab_size": 61,
106
+ "xvector_output_dim": 512
107
+ }
eval_results.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 99.99,
3
+ "eval_cer": 0.07081761068660654,
4
+ "eval_loss": 0.3015391230583191,
5
+ "eval_runtime": 185.2936,
6
+ "eval_samples": 4332,
7
+ "eval_samples_per_second": 23.379,
8
+ "eval_steps_per_second": 2.925,
9
+ "eval_wer": 0.337661929317067
10
+ }
language_model/5gram_correct.arpa ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8720d88d4f86f9bdd24a806713c0d4be2eb694227daed83bedade8ba69c16516
3
+ size 28311207
language_model/attrs.json ADDED
@@ -0,0 +1 @@
 
1
+ {"alpha": 0.5, "beta": 1.5, "unk_score_offset": -10.0, "score_boundary": true}
language_model/unigrams.txt ADDED
The diff for this file is too large to render. See raw diff
preprocessor_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_normalize": true,
3
+ "feature_extractor_type": "Wav2Vec2FeatureExtractor",
4
+ "feature_size": 1,
5
+ "padding_side": "right",
6
+ "padding_value": 0,
7
+ "processor_class": "Wav2Vec2ProcessorWithLM",
8
+ "return_attention_mask": true,
9
+ "sampling_rate": 16000
10
+ }
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f117bc1aac94b5e497f6b0e89aff83d344d6f7c53c7917cd3d521eef64eb28de
3
+ size 1262173745
special_tokens_map.json ADDED
@@ -0,0 +1 @@
 
1
+ {"bos_token": "<s>", "eos_token": "</s>", "unk_token": "[UNK]", "pad_token": "[PAD]", "additional_special_tokens": [{"content": "<s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, {"content": "<s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, {"content": "<s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}]}
tokenizer_config.json ADDED
@@ -0,0 +1 @@
 
1
+ {"unk_token": "[UNK]", "bos_token": "<s>", "eos_token": "</s>", "pad_token": "[PAD]", "do_lower_case": false, "word_delimiter_token": "|", "special_tokens_map_file": null, "tokenizer_file": null, "name_or_path": "ukrainian/cv-uk-ft/last_best", "tokenizer_class": "Wav2Vec2CTCTokenizer", "processor_class": "Wav2Vec2ProcessorWithLM"}
train_results.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 99.99,
3
+ "train_loss": 1.3816477500067816,
4
+ "train_runtime": 56302.7905,
5
+ "train_samples": 10193,
6
+ "train_samples_per_second": 18.104,
7
+ "train_steps_per_second": 0.112
8
+ }
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:59b1aec03e4565877ee8f27aac574277990c22479c57beee3a3de80f12e522cf
3
+ size 3055
vocab.json ADDED
@@ -0,0 +1 @@
 
1
+ {"`": 1, "a": 2, "c": 3, "e": 4, "i": 5, "j": 6, "k": 7, "l": 8, "m": 9, "n": 10, "o": 11, "p": 12, "u": 13, "x": 14, "y": 15, "«": 16, "»": 17, "́": 18, "а": 19, "б": 20, "в": 21, "г": 22, "д": 23, "е": 24, "ж": 25, "з": 26, "и": 27, "й": 28, "к": 29, "л": 30, "м": 31, "н": 32, "о": 33, "п": 34, "р": 35, "с": 36, "т": 37, "у": 38, "ф": 39, "х": 40, "ц": 41, "ч": 42, "ш": 43, "щ": 44, "ы": 45, "ь": 46, "ю": 47, "я": 48, "є": 49, "і": 50, "ї": 51, "ґ": 52, "՚": 53, "–": 54, "’": 55, "…": 56, "|": 0, "[UNK]": 57, "[PAD]": 58}