Yehor Smoliakov
commited on
Commit
•
6e56e8c
1
Parent(s):
d1d62a3
Init
Browse files- .gitattributes +1 -0
- README.md +85 -3
- added_tokens.json +1 -0
- all_results.json +15 -0
- alphabet.json +1 -0
- config.json +107 -0
- eval_results.json +10 -0
- language_model/5gram_correct.arpa +3 -0
- language_model/attrs.json +1 -0
- language_model/unigrams.txt +0 -0
- preprocessor_config.json +10 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +1 -0
- tokenizer_config.json +1 -0
- train_results.json +8 -0
- training_args.bin +3 -0
- vocab.json +1 -0
.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 |
-
|
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}
|